[macruby-changes] [1313] MacRuby/branches/experimental/spec/frozen/language/return_spec.rb
source_changes at macosforge.org
source_changes at macosforge.org
Fri Apr 3 17:14:39 PDT 2009
Revision: 1313
http://trac.macosforge.org/projects/ruby/changeset/1313
Author: lsansonetti at apple.com
Date: 2009-04-03 17:14:38 -0700 (Fri, 03 Apr 2009)
Log Message:
-----------
converted to 1.9 behaviors
Modified Paths:
--------------
MacRuby/branches/experimental/spec/frozen/language/return_spec.rb
Modified: MacRuby/branches/experimental/spec/frozen/language/return_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/language/return_spec.rb 2009-04-03 23:59:01 UTC (rev 1312)
+++ MacRuby/branches/experimental/spec/frozen/language/return_spec.rb 2009-04-04 00:14:38 UTC (rev 1313)
@@ -23,23 +23,49 @@
describe "in a Thread" do
- it "raises a ThreadError if used to exit a thread" do
- lambda { Thread.new { return }.join }.should raise_error(ThreadError)
+ ruby_version_is "" ... "1.9" do
+ it "raises a ThreadError if used to exit a thread" do
+ lambda { Thread.new { return }.join }.should raise_error(ThreadError)
+ end
end
+
+ ruby_version_is "1.9" do
+ it "raises a LocalJumpError if used to exit a thread" do
+ lambda { Thread.new { return }.join }.should raise_error(LocalJumpError)
+ end
+ end
end
describe "when passed a splat" do
- it "returns nil when the ary is empty" do
- def r; ary = []; return *ary; end
- r.should be_nil
+ ruby_version_is "" ... "1.9" do
+ it "returns nil when the ary is empty" do
+ def r; ary = []; return *ary; end
+ r.should be_nil
+ end
end
- it "returns the first element when the array is size of 1" do
- def r; ary = [1]; return *ary; end
- r.should == 1
+ ruby_version_is "1.9" do
+ it "returns [] when the ary is empty" do
+ def r; ary = []; return *ary; end
+ r.should == []
+ end
end
+ ruby_version_is "" ... "1.9" do
+ it "returns the first element when the array is size of 1" do
+ def r; ary = [1]; return *ary; end
+ r.should == 1
+ end
+ end
+
+ ruby_version_is "1.9" do
+ it "returns the array when the array is size of 1" do
+ def r; ary = [1]; return *ary; end
+ r.should == [1]
+ end
+ end
+
it "returns the whole array when size is greater than 1" do
def r; ary = [1,2]; return *ary; end
r.should == [1,2]
@@ -48,11 +74,20 @@
r.should == [1,2,3]
end
- it "returns a non-array when used as a splat" do
- def r; value = 1; return *value; end
- r.should == 1
+ ruby_version_is "" ... "1.9" do
+ it "returns a non-array when used as a splat" do
+ def r; value = 1; return *value; end
+ r.should == 1
+ end
end
+ ruby_version_is "1.9" do
+ it "returns an array when used as a splat" do
+ def r; value = 1; return *value; end
+ r.should == [1]
+ end
+ end
+
it "calls 'to_a' on the splatted value first" do
def r
obj = Object.new
@@ -63,8 +98,14 @@
return *obj
end
- r().should be_nil
+ ruby_version_is "" ... "1.9" do
+ r().should be_nil
+ end
+ ruby_version_is "1.9" do
+ r().should == []
+ end
+
def r
obj = Object.new
def obj.to_a
@@ -74,8 +115,14 @@
return *obj
end
- r().should == 1
+ ruby_version_is "" ... "1.9" do
+ r().should == 1
+ end
+ ruby_version_is "1.9" do
+ r().should == [1]
+ end
+
def r
obj = Object.new
def obj.to_a
@@ -88,39 +135,41 @@
r().should == [1,2]
end
- it "calls 'to_ary' on the splatted value first" do
- def r
- obj = Object.new
- def obj.to_ary
- []
+ ruby_version_is "" ... "1.9" do
+ it "calls 'to_ary' on the splatted value first" do
+ def r
+ obj = Object.new
+ def obj.to_ary
+ []
+ end
+
+ return *obj
end
-
- return *obj
- end
-
- r().should be_nil
-
- def r
- obj = Object.new
- def obj.to_ary
- [1]
+
+ r().should be_nil
+
+ def r
+ obj = Object.new
+ def obj.to_ary
+ [1]
+ end
+
+ return *obj
end
-
- return *obj
- end
-
- r().should == 1
-
- def r
- obj = Object.new
- def obj.to_ary
- [1,2]
+
+ r().should == 1
+
+ def r
+ obj = Object.new
+ def obj.to_ary
+ [1,2]
+ end
+
+ return *obj
end
-
- return *obj
+
+ r().should == [1,2]
end
-
- r().should == [1,2]
end
end
@@ -186,9 +235,11 @@
describe "within a block" do
- it "raises a LocalJumpError if there is no lexicaly enclosing method" do
- def f; yield; end
- lambda { f { return 5 } }.should raise_error(LocalJumpError)
+ ruby_version_is "" ... "1.9" do
+ it "raises a LocalJumpError if there is no lexicaly enclosing method" do
+ def f; yield; end
+ lambda { f { return 5 } }.should raise_error(LocalJumpError)
+ end
end
it "causes lambda to return nil if invoked without any arguments" do
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090403/7a7cdde3/attachment-0001.html>
More information about the macruby-changes
mailing list