[macruby-changes] [1092] MacRuby/branches/experimental/spec/frozen/language
source_changes at macosforge.org
source_changes at macosforge.org
Mon Mar 23 02:32:05 PDT 2009
Revision: 1092
http://trac.macosforge.org/projects/ruby/changeset/1092
Author: eloy.de.enige at gmail.com
Date: 2009-03-23 02:32:04 -0700 (Mon, 23 Mar 2009)
Log Message:
-----------
Moved 1.8 specific tests into a language version file and added a 1.9 example.
Modified Paths:
--------------
MacRuby/branches/experimental/spec/frozen/language/def_spec.rb
Added Paths:
-----------
MacRuby/branches/experimental/spec/frozen/language/versions/def_1.8.rb
MacRuby/branches/experimental/spec/frozen/language/versions/def_1.9.rb
Modified: MacRuby/branches/experimental/spec/frozen/language/def_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/language/def_spec.rb 2009-03-23 08:26:45 UTC (rev 1091)
+++ MacRuby/branches/experimental/spec/frozen/language/def_spec.rb 2009-03-23 09:32:04 UTC (rev 1092)
@@ -17,7 +17,7 @@
def initialize
end
end
- DefInitializeSpec.new.private_methods(false).should include('initialize')
+ DefInitializeSpec.should have_private_instance_method(:initialize, false)
end
end
@@ -27,7 +27,7 @@
def initialize_copy
end
end
- DefInitializeCopySpec.new.private_methods(false).should include('initialize_copy')
+ DefInitializeCopySpec.should have_private_instance_method(:initialize_copy, false)
end
end
@@ -52,30 +52,6 @@
foo(1, 2, 3, 4, 5, 6, 7, 8).should == [1, 2, 3, 4, 5, [6, 7, 8]]
end
- it "creates a method that can be invoked with an inline hash argument" do
- def foo(a,b,*c); [a,b,c] end
-
- foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit', *[789, 'yeah']).
- should ==
- ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit'}, [789, 'yeah']]
- end
-
- it "creates a method that can be invoked with an inline hash and a block" do
- def foo(a,b,*c,&d); [a,b,c,yield(d)] end
-
- foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit', *[789, 'yeah']) { 3 }.
- should ==
- ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit'}, [789, 'yeah'], 3]
-
- foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', *[789, 'yeah']) do 3 end.should ==
- ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes' }, [789, 'yeah'], 3]
-
- l = lambda { 3 }
-
- foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', *[789, 'yeah'], &l).should ==
- ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes' }, [789, 'yeah'], 3]
- end
-
it "allows only a single * argument" do
lambda { eval 'def foo(a, *b, *c); end' }.should raise_error(SyntaxError)
end
@@ -348,7 +324,7 @@
other = DefSpecNested.new
other.an_instance_method.should == other
- DefSpecNested.instance_methods.should include("an_instance_method")
+ DefSpecNested.should have_instance_method(:an_instance_method)
end
it "creates a class method when evaluated in a class method" do
@@ -513,3 +489,5 @@
lambda { bar(3,4,5) }.should raise_error(ArgumentError)
end
end
+
+language_version __FILE__, "def"
\ No newline at end of file
Added: MacRuby/branches/experimental/spec/frozen/language/versions/def_1.8.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/language/versions/def_1.8.rb (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/language/versions/def_1.8.rb 2009-03-23 09:32:04 UTC (rev 1092)
@@ -0,0 +1,25 @@
+describe "An instance method definition with a splat" do
+ it "creates a method that can be invoked with an inline hash argument" do
+ def foo(a,b,*c); [a,b,c] end
+
+ foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit', *[789, 'yeah']).
+ should ==
+ ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit'}, [789, 'yeah']]
+ end
+
+ it "creates a method that can be invoked with an inline hash and a block" do
+ def foo(a,b,*c,&d); [a,b,c,yield] end
+
+ foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit', *[789, 'yeah']) { 3 }.
+ should ==
+ ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes', 'oh' => 'shit'}, [789, 'yeah'], 3]
+
+ foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', *[789, 'yeah']) do 3 end.should ==
+ ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes' }, [789, 'yeah'], 3]
+
+ l = lambda { 3 }
+
+ foo('abc', 'rbx' => 'cool', 'specs' => 'fail sometimes', *[789, 'yeah'], &l).should ==
+ ['abc', { 'rbx' => 'cool', 'specs' => 'fail sometimes' }, [789, 'yeah'], 3]
+ end
+end
\ No newline at end of file
Added: MacRuby/branches/experimental/spec/frozen/language/versions/def_1.9.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/language/versions/def_1.9.rb (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/language/versions/def_1.9.rb 2009-03-23 09:32:04 UTC (rev 1092)
@@ -0,0 +1,9 @@
+describe "An instance method definition with a splat" do
+ it "raises a SyntaxError when invoked with an inline hash argument" do
+ def foo(a,b,*c); [a,b,c] end
+
+ lambda do
+ instance_eval "foo('abc', 'specs' => 'fail sometimes', 'on' => '1.9', *[789, 'yeah'])"
+ end.should raise_error(SyntaxError)
+ end
+end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090323/893e81dd/attachment.html>
More information about the macruby-changes
mailing list