summaryrefslogtreecommitdiff
path: root/test/iconv
diff options
context:
space:
mode:
Diffstat (limited to 'test/iconv')
-rw-r--r--test/iconv/test_simple.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/iconv/test_simple.rb b/test/iconv/test_simple.rb
new file mode 100644
index 0000000000..e449b27542
--- /dev/null
+++ b/test/iconv/test_simple.rb
@@ -0,0 +1,27 @@
+require 'test/unit'
+begin
+ require 'iconv'
+rescue LoadError
+end
+
+class TestIConv < Test::Unit::TestCase
+ ASCII = "ascii"
+ def test_simple
+ c = Iconv.open(ASCII, ASCII)
+ ref = '[ruby-core:17092]'
+ rescue
+ return
+ else
+ assert_equal("abc", c.iconv("abc"))
+ assert_equal("c", c.iconv("abc", 2), "#{ref}: with start")
+ assert_equal("c", c.iconv("abc", 2, 1), "#{ref}: with start, length")
+ assert_equal("c", c.iconv("abc", 2, 5), "#{ref}: with start, longer length")
+ assert_equal("bc", c.iconv("abc", -2), "#{ref}: with nagative start")
+ assert_equal("b", c.iconv("abc", -2, 1), "#{ref}: with nagative start, length")
+ assert_equal("bc", c.iconv("abc", -2, 5), "#{ref}: with nagative start, longer length")
+ assert_equal("", c.iconv("abc", 5), "#{ref}: with OOB")
+ assert_equal("", c.iconv("abc", 5, 2), "#{ref}: with OOB, length")
+ ensure
+ c.close if c
+ end
+end if defined?(::Iconv)