[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