summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMasamitsu MURASE <[email protected]>2012-06-22 01:31:33 +0900
committerMasamitsu MURASE <[email protected]>2012-06-24 16:55:43 +0900
commit062e96960d078cb5bca48ba3b878f681871be72a (patch)
tree4804c7c7fea26c96c0e12cdd418564322b07c5d7
parent2a2ffe7f7dc5202b29a1f59ab5e128b7040e0d86 (diff)
downloadmruby-062e96960d078cb5bca48ba3b878f681871be72a.tar.gz
mruby-062e96960d078cb5bca48ba3b878f681871be72a.zip
Add sample test for Kernel#clone and Kernel#dup.
-rw-r--r--test/t/kernel.rb56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/t/kernel.rb b/test/t/kernel.rb
index ba708dbb7..6531383e5 100644
--- a/test/t/kernel.rb
+++ b/test/t/kernel.rb
@@ -71,6 +71,62 @@ assert('Kernel.raise', '15.3.1.2.12') do
e_list[0].class == RuntimeError
end
+assert('Kernel#clone', '15.3.1.3.8') do
+ class KernelCloneTest
+ def initialize
+ @v = 0
+ end
+
+ def get
+ @v
+ end
+
+ def set(v)
+ @v = v
+ end
+ end
+
+ a = KernelCloneTest.new
+ a.set(1)
+ b = a.clone
+
+ def a.test
+ end
+ a.set(2)
+ c = a.clone
+
+ a.get == 2 && b.get == 1 && c.get == 2 &&
+ a.respond_to?(:test) == true && b.respond_to?(:test) == false && c.respond_to?(:test) == true
+end
+
+assert('Kernel#dup', '15.3.1.3.9') do
+ class KernelDupTest
+ def initialize
+ @v = 0
+ end
+
+ def get
+ @v
+ end
+
+ def set(v)
+ @v = v
+ end
+ end
+
+ a = KernelDupTest.new
+ a.set(1)
+ b = a.dup
+
+ def a.test
+ end
+ a.set(2)
+ c = a.dup
+
+ a.get == 2 && b.get == 1 && c.get == 2 &&
+ a.respond_to?(:test) == true && b.respond_to?(:test) == false && c.respond_to?(:test) == false
+end
+
assert('Kernel#hash', '15.3.1.2.15') do
hash == hash
end