discourse/spec/lib/encodings_spec.rb
2022-07-28 10:27:38 +08:00

33 lines
1.3 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# frozen_string_literal: true
RSpec.describe Encodings do
def to_utf8(filename)
string = File.read("#{Rails.root}/spec/fixtures/encodings/#{filename}").chomp
Encodings.to_utf8(string)
end
context "unicode" do
let(:expected) { 'Το σύστημα γραφής είναι ένα συμβολικό, οπτικό σύστημα καταγραφής της γλώσσας.' }
it "correctly encodes UTF-8 as UTF-8" do
expect(to_utf8('utf-8.txt')).to eq(expected)
end
it "correctly encodes UTF-8 with BOM as UTF-8" do
expect(to_utf8('utf-8-bom.txt')).to eq(expected)
end
it "correctly encodes UTF-16LE with BOM as UTF-8" do
expect(to_utf8('utf-16le.txt')).to eq(expected)
end
it "correctly encodes UTF-16BE with BOM as UTF-8" do
expect(to_utf8('utf-16be.txt')).to eq(expected)
end
end
it "correctly encodes ISO-8859-5 as UTF-8" do
expect(to_utf8('iso-8859-5.txt')).to eq('Письменность отличается от других существующих или возможных систем символической коммуникации тем, что всегда ассоциируется с некоторым языком и устной речью на этом языке')
end
end