summaryrefslogtreecommitdiff
path: root/test/tc_converters_toutf8.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/tc_converters_toutf8.rb')
-rwxr-xr-xtest/tc_converters_toutf8.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/tc_converters_toutf8.rb b/test/tc_converters_toutf8.rb
new file mode 100755
index 0000000..aed8b8f
--- /dev/null
+++ b/test/tc_converters_toutf8.rb
@@ -0,0 +1,32 @@
+#!/usr/bin/ruby -w
+
+$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
+
+require 'test/unit'
+require 'feed2imap/textconverters'
+
+class TextConvertersToUTF8Test < Test::Unit::TestCase
+ def test_correctencoding
+ # tests with inputenc = real input encoding
+ assert_equal("coucou", "coucou".toUTF8("utf-8"))
+ assert_equal("\303\251\303\250\303\240", "éèà".toUTF8("iso-8859-1"))
+ assert_equal("\303\251\303\250\303\240", "éèà".toUTF8("iso-8859-15"))
+ assert_equal("\303\251\303\250\303\240", "\303\251\303\250\303\240".toUTF8("utf-8"))
+ end
+
+ # here comes the fun stuff
+ def test_wrongencoding
+ # test with inputenc = iso-8859-1 but really utf-8 (should output the UTF-8)
+ assert_equal("\303\251\303\250\303\240", "\303\251\303\250\303\240".toUTF8("iso-8859-1"))
+
+ # ISO in caps
+ assert_equal("\303\251\303\250\303\240", "éèà".toUTF8("ISO-8859-1"))
+
+ # UTF-8 in caps
+ assert_equal("\303\251\303\250\303\240", "\303\251\303\250\303\240".toUTF8("UTF-8"))
+
+ # test with inputenc = utf-8 but really iso-8859-1 (should output the UTF-8)
+ # assert_equal("\303\251\303\250\303\240", TextConverters.toUTF8("éèà", "utf-8"))
+ # TODO seems it is not do-able
+ end
+end