diff options
| author | Masamitsu MURASE <[email protected]> | 2013-01-20 17:10:28 +0900 |
|---|---|---|
| committer | Masamitsu MURASE <[email protected]> | 2013-01-20 17:44:28 +0900 |
| commit | d16659c7a5c532d9313f3e501743f322a0055dc4 (patch) | |
| tree | d10b2ae72cb5bd065c59ab8c469511296ca8dd96 | |
| parent | 7195fb871665c8b286c76ae0935372c8f5d8f8bc (diff) | |
| download | mruby-d16659c7a5c532d9313f3e501743f322a0055dc4.tar.gz mruby-d16659c7a5c532d9313f3e501743f322a0055dc4.zip | |
Add test for `undef` and `alias`.
| -rw-r--r-- | test/t/class.rb | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/t/class.rb b/test/t/class.rb index d6c4715dd..1c50853dc 100644 --- a/test/t/class.rb +++ b/test/t/class.rb @@ -209,3 +209,78 @@ end assert('Class Dup 2') do module M; end; M.dup.class == Module end + +assert('Class Alias 1') do + class A + def test; 1; end + + alias test2 test + alias :test3 :test + end + + A.new.test2 == 1 and A.new.test3 == 1 +end + +assert('Class Alias 2') do + class A + def test; 1; end + + alias test2 test + + def test; 2; end + end + + A.new.test == 2 and A.new.test2 == 1 +end + +assert('Class Undef 1') do + class A + def test1; 1; end + def test2; 2; end + + undef test1 + undef :test2 + end + + result1 = false + begin + A.new.test1 + rescue NoMethodError + result1 = true + end + + result2 = false + begin + A.new.test2 + rescue NoMethodError + result2 = true + end + + result1 == true and result2 == true +end + +assert('Class Undef 2') do + class A + def test1; 1; end + def test2; 2; end + + undef test1, test2 + end + + result1 = false + begin + A.new.test1 + rescue NoMethodError + result1 = true + end + + result2 = false + begin + A.new.test2 + rescue NoMethodError + result2 = true + end + + result1 == true and result2 == true +end + |
