summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-06-03 01:50:10 +0800
committerDaniel Bovensiepen <[email protected]>2012-06-03 01:50:10 +0800
commit57bd8d49ec88c7f6a0432a09168af9420ae50c7e (patch)
treed627d6bc56977e10a0fdd8f3f68f75b08c2a936b
parent5fcd520514095fa9bbb31d2e7eca192b1be7dfc2 (diff)
downloadmruby-57bd8d49ec88c7f6a0432a09168af9420ae50c7e.tar.gz
mruby-57bd8d49ec88c7f6a0432a09168af9420ae50c7e.zip
Add first test case for Class#new and prepare further feature tests for it
-rw-r--r--test/t/class.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/t/class.rb b/test/t/class.rb
index 92f3df51d..3c398e923 100644
--- a/test/t/class.rb
+++ b/test/t/class.rb
@@ -5,6 +5,36 @@ assert('Class', '15.2.3') do
Class.class == Class
end
+assert('Class#new', '15.2.3.3.3') do
+ # at the moment no exception on singleton class
+ #e1 = nil
+ #begin
+ # class1 = e1.singleton_class.new
+ #rescue => e1
+ # e2 = e1
+ #end
+
+ class TestClass
+ def initialize args, &block
+ @result = if not args.nil? and block.nil?
+ # only arguments
+ :only_args
+ elsif not args.nil? and not block.nil?
+ # args and block is given
+ :args_and_block
+ else
+ # this should never happen
+ :broken
+ end
+ end
+
+ def result; @result; end
+ end
+
+ TestClass.new(:arg).result == :only_args
+ # with block doesn't work yet
+end
+
# Not ISO specified
assert('Class 1') do