[macruby-changes] [1316] MacRuby/branches/experimental/spec/frozen/language/break_spec.rb
source_changes at macosforge.org
source_changes at macosforge.org
Fri Apr 3 18:44:24 PDT 2009
Revision: 1316
http://trac.macosforge.org/projects/ruby/changeset/1316
Author: lsansonetti at apple.com
Date: 2009-04-03 18:44:24 -0700 (Fri, 03 Apr 2009)
Log Message:
-----------
ported to match the 1.9 behaviors
Modified Paths:
--------------
MacRuby/branches/experimental/spec/frozen/language/break_spec.rb
Modified: MacRuby/branches/experimental/spec/frozen/language/break_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/language/break_spec.rb 2009-04-04 01:27:57 UTC (rev 1315)
+++ MacRuby/branches/experimental/spec/frozen/language/break_spec.rb 2009-04-04 01:44:24 UTC (rev 1316)
@@ -111,15 +111,28 @@
end
it "assigns splatted objects" do
- a = loop do break *nil; end; a.should == nil
- a = loop do break *1; end; a.should == 1
- a = loop do break *[]; end; a.should == nil
- a = loop do break *[1]; end; a.should == 1
- a = loop do break *[nil]; end; a.should == nil
- a = loop do break *[[]]; end; a.should == []
- a = loop do break *[*[]]; end; a.should == nil
- a = loop do break *[1]; end; a.should == 1
- a = loop do break *[*[1]]; end; a.should == 1
+ ruby_version_is "" ... "1.9" do
+ a = loop do break *nil; end; a.should == nil
+ a = loop do break *[]; end; a.should == nil
+ a = loop do break *1; end; a.should == 1
+ a = loop do break *[1]; end; a.should == 1
+ a = loop do break *[nil]; end; a.should == nil
+ a = loop do break *[[]]; end; a.should == []
+ a = loop do break *[*[]]; end; a.should == nil
+ a = loop do break *[1]; end; a.should == 1
+ a = loop do break *[*[1]]; end; a.should == 1
+ end
+ ruby_version_is "1.9" do
+ a = loop do break *nil; end; a.should == []
+ a = loop do break *[]; end; a.should == []
+ a = loop do break *1; end; a.should == [1]
+ a = loop do break *[1]; end; a.should == [1]
+ a = loop do break *[nil]; end; a.should == [nil]
+ a = loop do break *[[]]; end; a.should == [[]]
+ a = loop do break *[*[]]; end; a.should == []
+ a = loop do break *[1]; end; a.should == [1]
+ a = loop do break *[*[1]]; end; a.should == [1]
+ end
a = loop do break *[1,2]; end; a.should == [1,2]
a = loop do break *[*[1,2]]; end; a.should == [1,2]
end
@@ -128,38 +141,67 @@
*a = loop do break; end; a.should == [nil]
*a = loop do break nil; end; a.should == [nil]
*a = loop do break 1; end; a.should == [1]
- *a = loop do break []; end; a.should == [[]]
- *a = loop do break [1]; end; a.should == [[1]]
- *a = loop do break [nil]; end; a.should == [[nil]]
- *a = loop do break [[]]; end; a.should == [[[]]]
- *a = loop do break [1,2]; end; a.should == [[1,2]]
- *a = loop do break [*[]]; end; a.should == [[]]
- *a = loop do break [*[1]]; end; a.should == [[1]]
- *a = loop do break [*[1,2]]; end; a.should == [[1,2]]
+ ruby_version_is "" ... "1.9" do
+ *a = loop do break []; end; a.should == [[]]
+ *a = loop do break [1]; end; a.should == [[1]]
+ *a = loop do break [nil]; end; a.should == [[nil]]
+ *a = loop do break [[]]; end; a.should == [[[]]]
+ *a = loop do break [1,2]; end; a.should == [[1,2]]
+ *a = loop do break [*[]]; end; a.should == [[]]
+ *a = loop do break [*[1]]; end; a.should == [[1]]
+ *a = loop do break [*[1,2]]; end; a.should == [[1,2]]
+ end
+ ruby_version_is "1.9" do
+ *a = loop do break []; end; a.should == []
+ *a = loop do break [1]; end; a.should == [1]
+ *a = loop do break [nil]; end; a.should == [nil]
+ *a = loop do break [[]]; end; a.should == [[]]
+ *a = loop do break [1,2]; end; a.should == [1,2]
+ *a = loop do break [*[]]; end; a.should == []
+ *a = loop do break [*[1]]; end; a.should == [1]
+ *a = loop do break [*[1,2]]; end; a.should == [1,2]
+ end
end
it "assigns splatted objects to a splatted reference" do
- *a = loop do break *nil; end; a.should == [nil]
+ ruby_version_is "" ... "1.9" do
+ *a = loop do break *nil; end; a.should == [nil]
+ *a = loop do break *[]; end; a.should == [nil]
+ *a = loop do break *[1,2]; end; a.should == [[1,2]]
+ *a = loop do break *[*[]]; end; a.should == [nil]
+ *a = loop do break *[*[1,2]]; end; a.should == [[1,2]]
+ end
+ ruby_version_is "1.9" do
+ *a = loop do break *nil; end; a.should == []
+ *a = loop do break *[]; end; a.should == []
+ *a = loop do break *[1,2]; end; a.should == [1,2]
+ *a = loop do break *[*[]]; end; a.should == []
+ *a = loop do break *[*[1,2]]; end; a.should == [1,2]
+ end
*a = loop do break *1; end; a.should == [1]
- *a = loop do break *[]; end; a.should == [nil]
*a = loop do break *[1]; end; a.should == [1]
*a = loop do break *[nil]; end; a.should == [nil]
*a = loop do break *[[]]; end; a.should == [[]]
- *a = loop do break *[1,2]; end; a.should == [[1,2]]
- *a = loop do break *[*[]]; end; a.should == [nil]
*a = loop do break *[*[1]]; end; a.should == [1]
- *a = loop do break *[*[1,2]]; end; a.should == [[1,2]]
end
it "assigns splatted objects to a splatted reference from a splatted loop" do
- *a = *loop do break *nil; end; a.should == [nil]
+ ruby_version_is "" ... "1.9" do
+ *a = *loop do break *nil; end; a.should == [nil]
+ *a = *loop do break *[]; end; a.should == [nil]
+ *a = *loop do break *[[]]; end; a.should == []
+ *a = *loop do break *[*[]]; end; a.should == [nil]
+ end
+ ruby_version_is "1.9" do
+ *a = *loop do break *nil; end; a.should == []
+ *a = *loop do break *[]; end; a.should == []
+ *a = *loop do break *[[]]; end; a.should == [[]]
+ *a = *loop do break *[*[]]; end; a.should == []
+ end
*a = *loop do break *1; end; a.should == [1]
- *a = *loop do break *[]; end; a.should == [nil]
*a = *loop do break *[1]; end; a.should == [1]
*a = *loop do break *[nil]; end; a.should == [nil]
- *a = *loop do break *[[]]; end; a.should == []
*a = *loop do break *[1,2]; end; a.should == [1,2]
- *a = *loop do break *[*[]]; end; a.should == [nil]
*a = *loop do break *[*[1]]; end; a.should == [1]
*a = *loop do break *[*[1,2]]; end; a.should == [1,2]
end
@@ -184,7 +226,12 @@
a,b,*c = loop do break *[]; end; [a,b,c].should == [nil,nil,[]]
a,b,*c = loop do break *[1]; end; [a,b,c].should == [1,nil,[]]
a,b,*c = loop do break *[nil]; end; [a,b,c].should == [nil,nil,[]]
- a,b,*c = loop do break *[[]]; end; [a,b,c].should == [nil,nil,[]]
+ ruby_version_is "" ... "1.9" do
+ a,b,*c = loop do break *[[]]; end; [a,b,c].should == [nil,nil,[]]
+ end
+ ruby_version_is "1.9" do
+ a,b,*c = loop do break *[[]]; end; [a,b,c].should == [[],nil,[]]
+ end
a,b,*c = loop do break *[1,2]; end; [a,b,c].should == [1,2,[]]
a,b,*c = loop do break *[*[]]; end; [a,b,c].should == [nil,nil,[]]
a,b,*c = loop do break *[*[1]]; end; [a,b,c].should == [1,nil,[]]
@@ -195,7 +242,12 @@
i = 0; loop do break i if i == 2; i+=1; end.should == 2
i = 0; loop do break if i == 3; i+=1; end; i.should == 3
i = 0; 0.upto(5) {|i| break i if i == 2 }.should == 2
- i = 0; 0.upto(5) {|i| break if i == 3 }; i.should == 3
+ ruby_version_is "" ... "1.9" do
+ i = 0; 0.upto(5) {|i| break if i == 3 }; i.should == 3
+ end
+ ruby_version_is "1.9" do
+ i = 0; 0.upto(5) {|i| break if i == 3 }; i.should == 0
+ end
i = 0; while (i < 5) do break i if i == 2 ; i+=1; end.should == 2
i = 0; while (i < 5) do break if i == 3 ; i+=1; end; i.should == 3
end
@@ -209,9 +261,14 @@
break_test {|i| break i if i == 2 }.should == 2
i = 0
break_test {|i| break i if i == 1 }
- i.should == 1
+ ruby_version_is "" ... "1.9" do
+ i.should == 1
+ end
+ ruby_version_is "1.9" do
+ i.should == 0
+ end
end
end
-language_version __FILE__, "break"
\ No newline at end of file
+language_version __FILE__, "break"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090403/1ac0444e/attachment.html>
More information about the macruby-changes
mailing list