diff options
| author | Masamitsu MURASE <[email protected]> | 2012-06-22 01:31:33 +0900 |
|---|---|---|
| committer | Masamitsu MURASE <[email protected]> | 2012-06-24 16:55:43 +0900 |
| commit | 062e96960d078cb5bca48ba3b878f681871be72a (patch) | |
| tree | 4804c7c7fea26c96c0e12cdd418564322b07c5d7 /test | |
| parent | 2a2ffe7f7dc5202b29a1f59ab5e128b7040e0d86 (diff) | |
| download | mruby-062e96960d078cb5bca48ba3b878f681871be72a.tar.gz mruby-062e96960d078cb5bca48ba3b878f681871be72a.zip | |
Add sample test for Kernel#clone and Kernel#dup.
Diffstat (limited to 'test')
| -rw-r--r-- | test/t/kernel.rb | 56 |
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 |
