aboutsummaryrefslogtreecommitdiffstats
path: root/ext/dl/test
diff options
context:
space:
mode:
authorttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-08 11:31:20 +0000
committerttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-08 11:31:20 +0000
commit6080121d55ca8e3dba46369d2011c3a8f47543a0 (patch)
tree0a9e4e0e594d75f917f029122a294a074a317c36 /ext/dl/test
parent215cd35df9cca5e3003106bf6a85a65a5e72d5a9 (diff)
downloadruby-6080121d55ca8e3dba46369d2011c3a8f47543a0.tar.gz
changed the spec of CPtr#[]/[]= to suit String#[]/[]=.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/dl/test')
-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