aboutsummaryrefslogtreecommitdiffstats
path: root/ext/dl/test/test_dl2.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dl/test/test_dl2.rb')
-rw-r--r--ext/dl/test/test_dl2.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/ext/dl/test/test_dl2.rb b/ext/dl/test/test_dl2.rb
index d1b18057cf..e59956cf7b 100644
--- a/ext/dl/test/test_dl2.rb
+++ b/ext/dl/test/test_dl2.rb
@@ -85,5 +85,27 @@ class TestDL < TestBase
ary2 = dlunwrap(addr)
assert_equal(ary, ary2)
end
+
+ def test_cptr()
+ check = Proc.new{|str,ptr|
+ assert_equal(str.size(), ptr.size())
+ assert_equal(str, ptr.to_s())
+ assert_equal(str[0,2], ptr.to_s(2))
+ assert_equal(str[0,2], ptr[0,2])
+ assert_equal(str[1,2], ptr[1,2])
+ assert_equal(str[1,0], ptr[1,0])
+ assert_equal(str[0], ptr[0])
+ assert_equal(str[1], ptr[1])
+ }
+ str = 'abc'
+ ptr = CPtr[str]
+ check.call(str, ptr)
+ str[0] = ?c
+ ptr[0] = ?c
+ check.call(str, ptr)
+ str[0,2] = "aa"
+ ptr[0,2] = "aa"
+ check.call(str, ptr)
+ end
end
end # module DL