# encoding: UTF-8 require File.expand_path("../common", __FILE__) if ENCODING_AWARE_RUBY class HTMLEntities::Ruby19Test < Test::Unit::TestCase def test_should_encode_ascii_to_ascii s = "".encode(Encoding::US_ASCII) assert_equal Encoding::US_ASCII, s.encoding t = HTMLEntities.new.encode(s) assert_equal "<elan>", t assert_equal Encoding::US_ASCII, t.encoding end def test_should_encode_utf8_to_utf8_if_needed s = "<élan>" assert_equal Encoding::UTF_8, s.encoding t = HTMLEntities.new.encode(s) assert_equal "<élan>", t assert_equal Encoding::UTF_8, t.encoding end def test_should_encode_utf8_to_ascii_if_possible s = "" assert_equal Encoding::UTF_8, s.encoding t = HTMLEntities.new.encode(s) assert_equal "<elan>", t assert_equal Encoding::US_ASCII, t.encoding end def test_should_encode_other_encoding_to_utf8 s = "<élan>".encode(Encoding::ISO_8859_1) assert_equal Encoding::ISO_8859_1, s.encoding t = HTMLEntities.new.encode(s) assert_equal "<élan>", t assert_equal Encoding::UTF_8, t.encoding end def test_should_decode_ascii_to_utf8 s = "<élan>".encode(Encoding::US_ASCII) assert_equal Encoding::US_ASCII, s.encoding t = HTMLEntities.new.decode(s) assert_equal "<élan>", t assert_equal Encoding::UTF_8, t.encoding end def test_should_decode_utf8_to_utf8 s = "<élan>".encode(Encoding::UTF_8) assert_equal Encoding::UTF_8, s.encoding t = HTMLEntities.new.decode(s) assert_equal "<élan>", t assert_equal Encoding::UTF_8, t.encoding end def test_should_decode_other_encoding_to_utf8 s = "<élan>".encode(Encoding::ISO_8859_1) assert_equal Encoding::ISO_8859_1, s.encoding t = HTMLEntities.new.decode(s) assert_equal "<élan>", t assert_equal Encoding::UTF_8, t.encoding end end end