[macruby-changes] [1966] MacRuby/branches/experimental/spec/frozen

source_changes at macosforge.org source_changes at macosforge.org
Wed Jul 1 16:50:52 PDT 2009


Revision: 1966
          http://trac.macosforge.org/projects/ruby/changeset/1966
Author:   eloy.de.enige at gmail.com
Date:     2009-07-01 16:50:52 -0700 (Wed, 01 Jul 2009)
Log Message:
-----------
Udated RubySpec to 6f75d0c5ce0edb5437e84f59eda4a9dce4a39a2d

Modified Paths:
--------------
    MacRuby/branches/experimental/spec/frozen/TODO
    MacRuby/branches/experimental/spec/frozen/core/array/pack_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/abs2_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/abs_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/angle_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/arg_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/coerce_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/conj_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/conjugate_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/denominator_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/divide_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/equal_value_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/exponent_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/rect_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/complex/rectangular_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/dir/shared/exists.rb
    MacRuby/branches/experimental/spec/frozen/core/encoding/find_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fiber/shared/resume.rb
    MacRuby/branches/experimental/spec/frozen/core/fixnum/div_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fixnum/divmod_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fixnum/exponent_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fixnum/quo_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/fixnum/shared/modulo.rb
    MacRuby/branches/experimental/spec/frozen/core/float/divmod_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/float/shared/modulo.rb
    MacRuby/branches/experimental/spec/frozen/core/marshal/dump_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/marshal/fixtures/marshal_data.rb
    MacRuby/branches/experimental/spec/frozen/library/timeout/timeout_spec.rb
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acos_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_capitalized_name_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_value_tags.txt
    MacRuby/branches/experimental/spec/frozen/upstream

Added Paths:
-----------
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/bignum/comparison_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/complex/
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/complex/divide_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/chroot_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exist_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exists_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/encoding/
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/encoding/locale_charmap_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/float/comparison_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/hash/element_reference_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acosh_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asin_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asinh_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan2_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atanh_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cos_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cosh_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/exp_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log10_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sin_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sinh_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sqrt_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tan_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tanh_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/div_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/divmod_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/modulo_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/rational/
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/rational/exponent_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/core/string/modulo_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/language/file_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/language/predefined_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/language/super_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/element_reference_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/hash_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/rank_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/regular_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/row_vectors_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/square_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_address_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_addresses_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/1.9/library/stringscanner/matchedsize_tags.txt

Modified: MacRuby/branches/experimental/spec/frozen/TODO
===================================================================
--- MacRuby/branches/experimental/spec/frozen/TODO	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/TODO	2009-07-01 23:50:52 UTC (rev 1966)
@@ -51,3 +51,4 @@
   tag --add 'fails(#555)' -e 'the failing stuff' path/to/spec".
 * Ask Ruby core about what Array#pack should do to encoding; citing failing
   tests as example questions.
+* Spec Ripper.

Modified: MacRuby/branches/experimental/spec/frozen/core/array/pack_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/array/pack_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/array/pack_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -104,11 +104,14 @@
     end
 
     it "returns a string in encoding of common to the concatenated results" do
-      ["\u{3042 3044 3046 3048}", 0x2000B].pack("A*U").encoding.should == Encoding::UTF_8
-      ["abcde\xd1", "\xFF\xFe\x81\x82"].pack("A*u").encoding.should == Encoding::ISO_8859_1
-      ["abcde".encode(Encoding::US_ASCII), "\xFF\xFe\x81\x82"].pack("A*u").encoding.should == Encoding::US_ASCII
+      ["\u{3042 3044 3046 3048}", 0x2000B].pack("A*U").encoding.should == 
+        Encoding::ASCII_8BIT
+      ["abcde\xd1", "\xFF\xFe\x81\x82"].pack("A*u").encoding.should == 
+        Encoding::ASCII_8BIT
+      ["abcde".encode(Encoding::US_ASCII), "\xFF\xFe\x81\x82"].pack("A*u").encoding.should == 
+        Encoding::ASCII_8BIT
       # under discussion [ruby-dev:37294]
-      #   ["\u{3042 3044 3046 3048}", 1].pack("A*N").encoding.should == Encoding::ASCII_8BIT
+      ["\u{3042 3044 3046 3048}", 1].pack("A*N").encoding.should == Encoding::ASCII_8BIT
     end
   end
 
@@ -125,8 +128,8 @@
   end
 
   ruby_version_is '1.9' do
-    it "returns an ASCII-8BIT" do
-      [1, 2, 3, true].pack("").encoding.should == Encoding::ASCII_8BIT
+    it "returns an empty String in US-ASCII" do
+      [1, 2, 3, true].pack("").encoding.should == Encoding::US_ASCII
     end
   end
 end
@@ -194,22 +197,20 @@
     end
 
     # This feature is under discussion - [ruby-dev:37278]
-    it "keeps encoding of source strings" do
-      # ISO-8859-1
-      ["abcd"].pack(format).encoding.should == "abcd".encoding
-      # UTF-8
-      ["\u3042"].pack(format).encoding.should == "\u3042".encoding
-      # example of dummy encoding
-      ["\u3042".encode(Encoding::UTF_32BE)].pack(format).encoding.should == Encoding::UTF_32BE
-      # example of stateful encoding
-      ["\u3042".encode(Encoding::ISO_2022_JP)].pack(format).encoding.should == Encoding::ISO_2022_JP
+    it "returns result in ASCII-8BIT" do
+      ["abcd"].pack(format).encoding.should == Encoding::ASCII_8BIT
+      ["\u3042"].pack(format).encoding.should == Encoding::ASCII_8BIT
+      ["\u3042".encode(Encoding::UTF_32BE)].pack(format).encoding.should == 
+        Encoding::ASCII_8BIT
+      ["\u3042".encode(Encoding::ISO_2022_JP)].pack(format).encoding.should == 
+        Encoding::ASCII_8BIT
     end
 
     # This feature is under discussion - [ruby-dev:37278]
     it "cuts byte sequence even if it breaks a multibyte character" do
-      ["\u3042"].pack(format).should == utf8("\xe3")
-      ["\u3042".encode(Encoding::UTF_32BE)].pack(format(2)).should == "\x00\x00".force_encoding(Encoding::UTF_32BE)
-      ["\u3042".encode(Encoding::ISO_2022_JP)].pack(format(4)).should == "\e$B$".force_encoding(Encoding::ISO_2022_JP)
+      ["\u3042"].pack(format).should == "\xe3".force_encoding('ascii-8bit')
+      ["\u3042".encode(Encoding::UTF_32BE)].pack(format(2)).should == "\x00\x00"
+      ["\u3042".encode(Encoding::ISO_2022_JP)].pack(format(4)).should == "\e$B$"
     end
   end
 end
@@ -2362,14 +2363,27 @@
 end
 
 describe "String#unpack with 'w' directive" do
-  it "produces a BER-compressed integer" do
-    [88].pack('w').should == 'X'
-    [88,89,90].pack('www').should == 'XYZ'
-    [88,89,90].pack('w3').should == 'XYZ'
-    [92,48,48,49].pack('w4').should == '\001'
-    [104,101,108,108,111,32,119,111,114,108,100].pack('w*').should == 'hello world'
-    [1234567890].pack('w').should == "\204\314\330\205R"
+  ruby_version_is ""..."1.9" do
+    it "produces a BER-compressed integer" do
+      [88].pack('w').should == 'X'
+      [88,89,90].pack('www').should == 'XYZ'
+      [88,89,90].pack('w3').should == 'XYZ'
+      [92,48,48,49].pack('w4').should == '\001'
+      [104,101,108,108,111,32,119,111,114,108,100].pack('w*').should == 'hello world'
+      [1234567890].pack('w').should == "\204\314\330\205R"
+    end
   end
+
+  ruby_version_is "1.9" do
+    it "produces a BER-compressed integer" do
+      [88].pack('w').should == 'X'
+      [88,89,90].pack('www').should == 'XYZ'
+      [88,89,90].pack('w3').should == 'XYZ'
+      [92,48,48,49].pack('w4').should == '\001'
+      [104,101,108,108,111,32,119,111,114,108,100].pack('w*').should == 'hello world'
+      [1234567890].pack('w').should == "\204\314\330\205R".force_encoding(Encoding::ASCII_8BIT)
+    end
+  end
 end
 
 # vim:fileencoding=iso-8859-1

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/abs2_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/abs2_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/abs2_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,7 @@
-require File.dirname(__FILE__) + '/../../shared/complex/abs2'
+ruby_version_is "1.9" do
 
-ruby_version_is "1.9" do
+  require File.dirname(__FILE__) + '/../../shared/complex/abs2'
+  
   describe "Complex#abs2" do
     it_behaves_like(:complex_abs2, :abs2)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/abs_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/abs_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/abs_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,7 @@
-require File.dirname(__FILE__) + '/../../shared/complex/abs'
-
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/abs'
+  
   describe "Complex#abs" do
     it_behaves_like(:complex_abs, :abs)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/angle_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/angle_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/angle_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/../../shared/complex/arg'
 
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/arg'
+  
   describe "Complex#angle" do
     it_behaves_like(:complex_arg, :angle)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/arg_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/arg_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/arg_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/../../shared/complex/arg'
 
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/arg'
+  
   describe "Complex#arg" do
     it_behaves_like(:complex_arg, :arg)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/coerce_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/coerce_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/coerce_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,7 @@
-require File.dirname(__FILE__) + '/../../shared/complex/coerce'
-
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/coerce'
+  
   describe "Complex#coerce" do
     it_behaves_like(:complex_coerce, :coerce)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/conj_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/conj_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/conj_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/../../shared/complex/conjugate'
 
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/conjugate'
+  
   describe "Complex#conj" do
     it_behaves_like(:complex_conjugate, :conj)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/conjugate_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/conjugate_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/conjugate_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/../../shared/complex/conjugate'
 
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/conjugate'
+  
   describe "Complex#conjugate" do
     it_behaves_like(:complex_conjugate, :conjugate)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/denominator_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/denominator_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/denominator_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,8 @@
-require File.dirname(__FILE__) + '/../../shared/complex/denominator'
 
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/denominator'
+  
   describe "Complex#denominator" do
     it_behaves_like(:complex_denominator, :denominator)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/divide_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/divide_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/divide_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,7 @@
-require File.dirname(__FILE__) + '/../../shared/complex/divide'
-
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/divide'
+  
   describe "Complex#/ with Complex" do
     it_behaves_like(:complex_divide_complex, :/)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/equal_value_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/equal_value_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/equal_value_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,7 @@
-require File.dirname(__FILE__) + '/../../shared/complex/equal_value'
-
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/equal_value'
+  
   describe "Complex#== with Complex" do
     it_behaves_like(:complex_equal_value_complex, :shared => true)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/exponent_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/exponent_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/exponent_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,7 @@
-require File.dirname(__FILE__) + '/../../shared/complex/exponent'
-
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/exponent'
+  
   describe "Complex#** when given 0" do
     it_behaves_like(:complex_exponent_zero, :**)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/rect_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/rect_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/rect_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,6 +1,6 @@
-require File.dirname(__FILE__) + '/../../shared/complex/rect'
-
 ruby_version_is "1.9" do
+  require File.dirname(__FILE__) + '/../../shared/complex/rect'
+  
   describe "Complex#rect" do
     it_behaves_like(:complex_rect, :rect)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/complex/rectangular_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/complex/rectangular_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/complex/rectangular_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/../../shared/complex/rect'
 
 ruby_version_is "1.9" do
+  
+  require File.dirname(__FILE__) + '/../../shared/complex/rect'
+  
   describe "Complex#rectangular" do
     it_behaves_like(:complex_rect, :rectangular)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/dir/shared/exists.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/dir/shared/exists.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/dir/shared/exists.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -33,9 +33,9 @@
     Dir.send(@method, dir).should be_true
   end
 
-  it "doesn't expand paths" do
+  it "expands paths" do
     Dir.send(@method, File.expand_path('~')).should be_true
-    Dir.send(@method, '~').should be_false
+    Dir.send(@method, '~').should be_true
   end
 
   it "returns false if the argument exists but is a file" do

Modified: MacRuby/branches/experimental/spec/frozen/core/encoding/find_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/encoding/find_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/encoding/find_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -41,6 +41,18 @@
       end
     end
 
+    it "accepts any object as encoding name, if it responds to #to_str" do
+      obj = Class.new do
+        attr_writer :encoding_name
+        def to_str; @encoding_name; end
+      end.new
+
+      Encoding.list.each do |enc|
+        obj.encoding_name = enc.name
+        Encoding.find(obj).should == enc
+      end
+    end
+
     it "is case insensitive" do
       @encodings.each do |enc|
         Encoding.find(enc.upcase).should == Encoding.find(enc)

Modified: MacRuby/branches/experimental/spec/frozen/core/fiber/shared/resume.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fiber/shared/resume.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/fiber/shared/resume.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1,7 +1,8 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
-require 'fiber'
 
 ruby_version_is "1.9" do
+  require 'fiber'
+  
   describe :resume, :shared => :true do
 
     it "can be invoked from the root Fiber" do

Modified: MacRuby/branches/experimental/spec/frozen/core/fixnum/div_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fixnum/div_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/fixnum/div_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -24,12 +24,22 @@
     1.div(bignum_value).should == 0
   end
   
-  it "raises a FloatDomainError when the given argument is 0 and a Float" do
-    lambda { 0.div(0.0)   }.should raise_error(FloatDomainError)
-    lambda { 10.div(0.0)  }.should raise_error(FloatDomainError)
-    lambda { -10.div(0.0) }.should raise_error(FloatDomainError)
+  ruby_version_is ""..."1.9" do
+    it "raises a FloatDomainError when the given argument is 0 and a Float" do
+      lambda { 0.div(0.0)   }.should raise_error(FloatDomainError)
+      lambda { 10.div(0.0)  }.should raise_error(FloatDomainError)
+      lambda { -10.div(0.0) }.should raise_error(FloatDomainError)
+    end
   end
 
+  ruby_version_is "1.9" do
+    it "raises a ZeroDivisionError when the given argument is 0 and a Float" do
+      lambda { 0.div(0.0)   }.should raise_error(ZeroDivisionError)
+      lambda { 10.div(0.0)  }.should raise_error(ZeroDivisionError)
+      lambda { -10.div(0.0) }.should raise_error(ZeroDivisionError)
+    end
+  end
+
   it "raises a ZeroDivisionError when the given argument is 0" do
     lambda { 13.div(0) }.should raise_error(ZeroDivisionError)
   end

Modified: MacRuby/branches/experimental/spec/frozen/core/fixnum/divmod_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fixnum/divmod_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/fixnum/divmod_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -18,12 +18,22 @@
     lambda { -10.divmod(0) }.should raise_error(ZeroDivisionError)
   end
 
-  it "raises a FloatDomainError when the given argument is 0 and a Float" do
-    lambda { 0.divmod(0.0)   }.should raise_error(FloatDomainError)
-    lambda { 10.divmod(0.0)  }.should raise_error(FloatDomainError)
-    lambda { -10.divmod(0.0) }.should raise_error(FloatDomainError)
+  ruby_version_is ""..."1.9" do
+    it "raises a FloatDomainError when the given argument is 0 and a Float" do
+      lambda { 0.divmod(0.0)   }.should raise_error(FloatDomainError)
+      lambda { 10.divmod(0.0)  }.should raise_error(FloatDomainError)
+      lambda { -10.divmod(0.0) }.should raise_error(FloatDomainError)
+    end
   end
 
+  ruby_version_is "1.9" do
+    it "raises a ZeroDivisionError when the given argument is 0 and a Float" do
+      lambda { 0.divmod(0.0)   }.should raise_error(ZeroDivisionError)
+      lambda { 10.divmod(0.0)  }.should raise_error(ZeroDivisionError)
+      lambda { -10.divmod(0.0) }.should raise_error(ZeroDivisionError)
+    end
+  end
+
   it "raises a TypeError when given a non-Integer" do
     lambda {
       (obj = mock('10')).should_receive(:to_int).any_number_of_times.and_return(10)

Modified: MacRuby/branches/experimental/spec/frozen/core/fixnum/exponent_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fixnum/exponent_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/fixnum/exponent_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -13,13 +13,21 @@
   end
 
   conflicts_with :Rational do
-    ruby_bug "ruby-dev:32084", "1.8.6.138" do
-      it "returns Infinity for 0**-1" do
-        (0**-1).should be_kind_of(Float)
-        (0**-1).infinite?.should == 1
+    ruby_version_is ""..."1.9" do
+      ruby_bug "ruby-dev:32084", "1.8.6.138" do
+        it "returns Infinity for 0**-1" do
+          (0**-1).should be_kind_of(Float)
+          (0**-1).infinite?.should == 1
+        end
       end
     end
 
+    ruby_version_is "1.9" do
+      it "raises a ZeroDivisionError for 0**-1" do
+        lambda { (0**-1) }.should raise_error(ZeroDivisionError)
+      end
+    end
+
     it "raises a TypeError when given a non-Integer" do
       lambda {
         (obj = mock('10')).should_receive(:to_int).any_number_of_times.and_return(10)

Modified: MacRuby/branches/experimental/spec/frozen/core/fixnum/quo_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fixnum/quo_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/fixnum/quo_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -7,14 +7,24 @@
     45.quo(bignum_value).should be_close(1.04773789668636e-08, TOLERANCE)
   end
 
-  conflicts_with :Rational do
-    it "does not raise a ZeroDivisionError when the given Integer is 0" do
-      0.quo(0).to_s.should == "NaN"
-      10.quo(0).to_s.should == "Infinity"
-      -10.quo(0).to_s.should == "-Infinity"
+  ruby_version_is ""..."1.9" do
+    conflicts_with :Rational do
+      it "does not raise a ZeroDivisionError when the given Integer is 0" do
+        0.quo(0).to_s.should == "NaN"
+        10.quo(0).to_s.should == "Infinity"
+        -10.quo(0).to_s.should == "-Infinity"
+      end
     end
   end
 
+  ruby_version_is "1.9" do
+    it "raises a ZeroDivisionError when the given Integer is 0" do
+      lambda { 0.quo(0) }.should raise_error(ZeroDivisionError)
+      lambda { 10.quo(0) }.should raise_error(ZeroDivisionError)
+      lambda { -10.quo(0) }.should raise_error(ZeroDivisionError)
+    end
+  end
+
   it "does not raise a FloatDomainError when the given Integer is 0 and a Float" do
     0.quo(0.0).to_s.should == "NaN"
     10.quo(0.0).to_s.should == "Infinity"

Modified: MacRuby/branches/experimental/spec/frozen/core/fixnum/shared/modulo.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/fixnum/shared/modulo.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/fixnum/shared/modulo.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -25,12 +25,22 @@
     lambda { -10.send(@method, 0) }.should raise_error(ZeroDivisionError)
   end
 
-  it "does not raise a FloatDomainError when the given argument is 0 and a Float" do
-    0.send(@method, 0.0).to_s.should == "NaN" 
-    10.send(@method, 0.0).to_s.should == "NaN" 
-    -10.send(@method, 0.0).to_s.should == "NaN" 
+  ruby_version_is ""..."1.9" do
+    it "does not raise a FloatDomainError when the given argument is 0 and a Float" do
+      0.send(@method, 0.0).to_s.should == "NaN" 
+      10.send(@method, 0.0).to_s.should == "NaN" 
+      -10.send(@method, 0.0).to_s.should == "NaN" 
+    end
   end
 
+  ruby_version_is "1.9" do
+    it "raises a ZeroDivisionError when the given argument is 0 and a Float" do
+      lambda { 0.send(@method, 0.0) }.should raise_error(ZeroDivisionError)
+      lambda { 10.send(@method, 0.0) }.should raise_error(ZeroDivisionError)
+      lambda { -10.send(@method, 0.0) }.should raise_error(ZeroDivisionError)
+    end
+  end
+
   it "raises a TypeError when given a non-Integer" do
     lambda {
       (obj = mock('10')).should_receive(:to_int).any_number_of_times.and_return(10)

Modified: MacRuby/branches/experimental/spec/frozen/core/float/divmod_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/float/divmod_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/float/divmod_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -13,8 +13,17 @@
     values[1].should be_close(9223372036854775808.000, TOLERANCE)
   end
 
-  it "raises FloatDomainError if other is zero" do
-    lambda { 1.0.divmod(0)   }.should raise_error(FloatDomainError)
-    lambda { 1.0.divmod(0.0) }.should raise_error(FloatDomainError)
+  ruby_version_is ""..."1.9" do
+    it "raises FloatDomainError if other is zero" do
+      lambda { 1.0.divmod(0)   }.should raise_error(FloatDomainError)
+      lambda { 1.0.divmod(0.0) }.should raise_error(FloatDomainError)
+    end
   end
+
+  ruby_version_is "1.9" do
+    it "raises a ZeroDivisionError if other is zero" do
+      lambda { 1.0.divmod(0)   }.should raise_error(ZeroDivisionError)
+      lambda { 1.0.divmod(0.0) }.should raise_error(ZeroDivisionError)
+    end
+  end
 end

Modified: MacRuby/branches/experimental/spec/frozen/core/float/shared/modulo.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/float/shared/modulo.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/float/shared/modulo.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -9,8 +9,17 @@
     6543.21.send(@method, 137.24).should be_close(6543.21.%(137.24), TOLERANCE)
   end
 
-  it "does NOT raise ZeroDivisionError if other is zero" do
-    1.0.send(@method, 0).to_s.should == 'NaN'
-    1.0.send(@method, 0.0).to_s.should == 'NaN'
+  ruby_version_is ""..."1.9" do
+    it "does NOT raise ZeroDivisionError if other is zero" do
+      1.0.send(@method, 0).to_s.should == 'NaN'
+      1.0.send(@method, 0.0).to_s.should == 'NaN'
+    end
   end
+
+  ruby_version_is "1.9" do
+    it "raises a ZeroDivisionError if other is zero" do
+      lambda { 1.0.send(@method, 0) }.should raise_error(ZeroDivisionError)
+      lambda { 1.0.send(@method, 0.0) }.should raise_error(ZeroDivisionError)
+    end
+  end
 end

Modified: MacRuby/branches/experimental/spec/frozen/core/marshal/dump_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/marshal/dump_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/marshal/dump_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -70,19 +70,42 @@
     Marshal.dump(Object.new.extend(Meths)).should == "#{mv+nv}e:\x0AMethso:\x0BObject\x00"
   end
 
-  it "dumps an object having ivar" do
-    s = 'hi'
-    obj = Object.new
-    obj.instance_variable_set(:@str, [:so, :so, s, s])
-    Marshal.dump(obj).should == "#{mv+nv}o:\x0BObject\x06:\x09 at str[\x09:\x07so;\x07\"\x07hi@\x07"
+  ruby_version_is ""..."1.9" do
+    it "dumps an object having ivar" do
+      s = 'hi'
+      obj = Object.new
+      obj.instance_variable_set(:@str, [:so, :so, s, s])
+      Marshal.dump(obj).should == "#{mv+nv}o:\x0BObject\x06:\x09 at str[\x09:\x07so;\x07\"\x07hi@\x07"
+    end
   end
 
-  it "dumps an extended_user_regexp having ivar" do
-    r = UserRegexp.new('').extend(Meths)
-    r.instance_variable_set(:@noise, 'much')
-    Marshal.dump(r).should == "#{mv+nv}Ie:\x0AMethsC:\x0FUserRegexp/\x00\x00\x06:\x0B at noise\"\x09much"
+  ruby_version_is "1.9" do
+    it "dumps an object having ivar" do
+      s = 'hi'
+      obj = Object.new
+      obj.instance_variable_set(:@str, [:so, :so, s, s])
+      Marshal.dump(obj).should == 
+        "#{mv+nv}o:\vObject\x06:\t at str[\t:\aso;\aI\"\ahi\x06:\x06EF@\a"
+    end
   end
 
+  ruby_version_is ""..."1.9" do
+    it "dumps an extended_user_regexp having ivar" do
+      r = UserRegexp.new('').extend(Meths)
+      r.instance_variable_set(:@noise, 'much')
+      Marshal.dump(r).should == "#{mv+nv}Ie:\x0AMethsC:\x0FUserRegexp/\x00\x00\x06:\x0B at noise\"\x09much"
+    end
+  end
+
+  ruby_version_is "1.9" do
+    it "dumps an extended_user_regexp having ivar" do
+      r = UserRegexp.new('').extend(Meths)
+      r.instance_variable_set(:@noise, 'much')
+      Marshal.dump(r).should == 
+        "#{mv+nv}Ie:\nMethsC:\x0FUserRegexp/\x00\x00\a:\x06EF:\v at noiseI\"\tmuch\x06;\aF"
+    end
+  end
+
   it "raises a TypeError with hash having default proc" do
     lambda { Marshal.dump(Hash.new {}) }.should raise_error(TypeError)
   end
@@ -104,51 +127,122 @@
     lambda { "foo" =~ /(.)/; Marshal.dump($~) }.should raise_error(TypeError)
   end
 
-  it "dumps an extended_user_hash_default" do
-    h = UserHash.new(:Meths).extend(Meths)
-    h['three'] = 3
-    Marshal.dump(h).should == "#{mv+nv}e:\x0AMethsC:\x0DUserHash}\x06\"\x0Athreei\x08;\x00"
+  ruby_version_is ""..."1.9" do
+    it "dumps an extended_user_hash_default" do
+      h = UserHash.new(:Meths).extend(Meths)
+      h['three'] = 3
+      Marshal.dump(h).should == "#{mv+nv}e:\x0AMethsC:\x0DUserHash}\x06\"\x0Athreei\x08;\x00"
+    end
   end
 
-  it "dumps an extended_user_hash with a parameter to initialize" do
-    h = UserHashInitParams.new(:abc).extend(Meths)
-    h['three'] = 3
-    Marshal.dump(h).should == "\004\bIe:\nMethsC:\027UserHashInitParams{\006\"\nthreei\b\006:\a at a:\babc"
+  ruby_version_is "1.9" do
+    it "dumps an extended_user_hash_default" do
+      h = UserHash.new(:Meths).extend(Meths)
+      h['three'] = 3
+      Marshal.dump(h).should == 
+        "\x04\be:\nMethsC:\rUserHash}\x06I\"\nthree\x06:\x06EFi\b;\x00"
+    end
   end
 
-  it "dumps an array containing objects having _dump method" do
-    o1 = UserDefined.new
-    o2 = UserDefinedWithIvar.new
-    a = [o1, o2, o1, o2]
-    Marshal.dump(a).should ==
-      "#{mv+nv}[\tu:\020UserDefined\022\004\b[\a\"\nstuff@\006u:\030UserDefinedWithIvar5\004\b[\bI\"\nstuff\006:\t at foo:\030UserDefinedWithIvar\"\tmore@\a@\006@\a"
+  ruby_version_is ""..."1.9" do
+    it "dumps an extended_user_hash with a parameter to initialize" do
+      h = UserHashInitParams.new(:abc).extend(Meths)
+      h['three'] = 3
+      Marshal.dump(h).should == "\004\bIe:\nMethsC:\027UserHashInitParams{\006\"\nthreei\b\006:\a at a:\babc"
+    end
   end
 
-  it "dumps an array containing objects having marshal_dump method" do
-    o1 = UserMarshal.new
-    o2 = UserMarshalWithIvar.new
-    a = [o1, o2, o1, o2]
-    Marshal.dump(a).should ==
-      "#{mv+nv}[\tU:\020UserMarshal\"\nstuffU:\030UserMarshalWithIvar[\006\"\fmy data@\006@\b"
+  ruby_version_is "1.9" do
+    it "dumps an extended_user_hash with a parameter to initialize" do
+      h = UserHashInitParams.new(:abc).extend(Meths)
+      h['three'] = 3
+      Marshal.dump(h).should == 
+        "\x04\bIe:\nMethsC:\x17UserHashInitParams{\x06I\"\nthree\x06:\x06EFi\b\x06:\a at a:\babc"
+    end
   end
 
-  it "dumps an array containing the same objects" do
-    s = 'oh'; b = 'hi'; r = //; d = [b, :no, s, :go]; c = String
-    a = [:so, 'hello', 100, :so, :so, d, :so, :so, :no, :go, c, nil,
-          :go, :no, s, b, r, :so, 'huh', true, b, b, 99, r, b, s, :so, c, :no, d]
-    Marshal.dump(a).should ==
-      "#{mv+nv}[\x23:\x07so\"\x0Ahelloi\x69;\x00;\x00[\x09\"\x07hi:\x07no\"\x07oh:\x07go;\x00;\x00;\x06;\x07c\x0BString0;\x07;\x06@\x09@\x08/\x00\x00;\x00\"\x08huhT@\x08@\x08i\x68@\x0B@\x08@\x09;\x00@\x0A;\x06@\x07"
+  ruby_version_is ""..."1.9" do
+    it "dumps an array containing objects having _dump method" do
+      o1 = UserDefined.new
+      o2 = UserDefinedWithIvar.new
+      a = [o1, o2, o1, o2]
+      Marshal.dump(a).should ==
+        "#{mv+nv}[\tu:\020UserDefined\022\004\b[\a\"\nstuff@\006u:\030UserDefinedWithIvar5\004\b[\bI\"\nstuff\006:\t at foo:\030UserDefinedWithIvar\"\tmore@\a@\006@\a"
+    end
   end
 
-  it "dumps an extended_array having ivar" do
-    s = 'well'
-    s.instance_variable_set(:@foo, 10)
-    a = ['5', s, 'hi'].extend(Meths, MethsMore)
-    a.instance_variable_set(:@mix, s)
-    Marshal.dump(a).should ==
-      "#{mv+nv}Ie:\x0AMethse:\x0EMethsMore[\x08\"\x065I\"\x09well\x06:\x09 at fooi\x0F\"\x07hi\x06:\x09 at mix@\x07"
+  ruby_version_is "1.9" do
+    it "dumps an array containing objects having _dump method" do
+      o1 = UserDefined.new
+      o2 = UserDefinedWithIvar.new
+      a = [o1, o2, o1, o2]
+      Marshal.dump(a).should ==
+        "#{mv+nv}[\tu:\x10UserDefined\x18\x04\b[\aI\"\nstuff\x06:\x06EF@\x06u:\x18UserDefinedWithIvar>\x04\b[\bI\"\nstuff\a:\x06EF:\t at foo:\x18UserDefinedWithIvarI\"\tmore\x06;\x00F@\a@\x06@\a"
+    end
   end
 
+  ruby_version_is ""..."1.9" do
+    it "dumps an array containing objects having marshal_dump method" do
+      o1 = UserMarshal.new
+      o2 = UserMarshalWithIvar.new
+      a = [o1, o2, o1, o2]
+      Marshal.dump(a).should ==
+        "#{mv+nv}[\tU:\020UserMarshal\"\nstuffU:\030UserMarshalWithIvar[\006\"\fmy data@\006@\b"
+    end
+  end
+
+  ruby_version_is "1.9" do
+    it "dumps an array containing objects having marshal_dump method" do
+      o1 = UserMarshal.new
+      o2 = UserMarshalWithIvar.new
+      a = [o1, o2, o1, o2]
+      Marshal.dump(a).should ==
+        "#{mv+nv}[\tU:\x10UserMarshalI\"\nstuff\x06:\x06EFU:\x18UserMarshalWithIvar[\x06I\"\fmy data\x06;\x06F@\x06@\b"
+    end
+  end
+
+  ruby_version_is ""..."1.9" do
+    it "dumps an array containing the same objects" do
+      s = 'oh'; b = 'hi'; r = //; d = [b, :no, s, :go]; c = String
+      a = [:so, 'hello', 100, :so, :so, d, :so, :so, :no, :go, c, nil,
+            :go, :no, s, b, r, :so, 'huh', true, b, b, 99, r, b, s, :so, c, :no, d]
+      Marshal.dump(a).should ==
+        "#{mv+nv}[\x23:\x07so\"\x0Ahelloi\x69;\x00;\x00[\x09\"\x07hi:\x07no\"\x07oh:\x07go;\x00;\x00;\x06;\x07c\x0BString0;\x07;\x06@\x09@\x08/\x00\x00;\x00\"\x08huhT@\x08@\x08i\x68@\x0B@\x08@\x09;\x00@\x0A;\x06@\x07"
+    end
+  end
+
+  ruby_version_is "1.9" do
+    it "dumps an array containing the same objects" do
+      s = 'oh'; b = 'hi'; r = //; d = [b, :no, s, :go]; c = String
+      a = [:so, 'hello', 100, :so, :so, d, :so, :so, :no, :go, c, nil,
+            :go, :no, s, b, r, :so, 'huh', true, b, b, 99, r, b, s, :so, c, :no, d]
+      Marshal.dump(a).should ==
+        "#{mv+nv}[#:\asoI\"\nhello\x06:\x06EFii;\x00;\x00[\tI\"\ahi\x06;\x06F:\anoI\"\aoh\x06;\x06F:\ago;\x00;\x00;\a;\bc\vString0;\b;\a@\t@\bI/\x00\x00\x06;\x06F;\x00I\"\bhuh\x06;\x06FT@\b@\bih@\v@\b@\t;\x00@\n;\a@\a"
+    end
+  end
+
+  ruby_version_is ""..."1.9" do
+    it "dumps an extended_array having ivar" do
+      s = 'well'
+      s.instance_variable_set(:@foo, 10)
+      a = ['5', s, 'hi'].extend(Meths, MethsMore)
+      a.instance_variable_set(:@mix, s)
+      Marshal.dump(a).should ==
+        "#{mv+nv}Ie:\x0AMethse:\x0EMethsMore[\x08\"\x065I\"\x09well\x06:\x09 at fooi\x0F\"\x07hi\x06:\x09 at mix@\x07"
+    end
+  end
+
+  ruby_version_is "1.9" do
+    it "dumps an extended_array having ivar" do
+      s = 'well'
+      s.instance_variable_set(:@foo, 10)
+      a = ['5', s, 'hi'].extend(Meths, MethsMore)
+      a.instance_variable_set(:@mix, s)
+      Marshal.dump(a).should ==
+        "#{mv+nv}Ie:\nMethse:\x0EMethsMore[\bI\"\x065\x06:\x06EFI\"\twell\a;\aF:\t at fooi\x0FI\"\ahi\x06;\aF\x06:\t at mix@\a"
+    end
+  end
+
   it "dumps a struct having ivar" do
     st = Struct.new("Thick").new
     st.instance_variable_set(:@foo, 5)
@@ -159,29 +253,61 @@
     Marshal.dump(Struct.new("Ure1", :a, :b).new).should == "#{mv+nv}S:\x11Struct::Ure1\x07:\x06a0:\x06b0"
   end
 
-  it "dumps an extended_struct having fields with same objects" do
-    s = 'hi'
-    st = Struct.new("Ure2", :a, :b).new.extend(Meths)
-    st.a = [:a, s]; st.b = [:Meths, s]
-    Marshal.dump(st).should ==
-      "#{mv+nv}e:\x0AMethsS:\x11Struct::Ure2\x07:\x06a[\x07;\x07\"\x07hi:\x06b[\x07;\x00@\x07"
+  ruby_version_is ""..."1.9" do
+    it "dumps an extended_struct having fields with same objects" do
+      s = 'hi'
+      st = Struct.new("Ure2", :a, :b).new.extend(Meths)
+      st.a = [:a, s]; st.b = [:Meths, s]
+      Marshal.dump(st).should ==
+        "#{mv+nv}e:\x0AMethsS:\x11Struct::Ure2\x07:\x06a[\x07;\x07\"\x07hi:\x06b[\x07;\x00@\x07"
+    end
   end
+
+  ruby_version_is "1.9" do
+    it "dumps an extended_struct having fields with same objects" do
+      s = 'hi'
+      st = Struct.new("Ure2", :a, :b).new.extend(Meths)
+      st.a = [:a, s]; st.b = [:Meths, s]
+      Marshal.dump(st).should ==
+        "#{mv+nv}e:\nMethsS:\x11Struct::Ure2\a:\x06a[\a;\aI\"\ahi\x06:\x06EF:\x06b[\a;\x00@\a"
+    end
+  end
 end
 
 describe "Marshal.dump" do
-  MarshalSpec::DATA.each do |description, (object, marshal, attributes)|
-    it "dumps a #{description}" do
-      unless attributes then
-        Marshal.dump(object).should == marshal
-      else
-        # these objects have non-deterministic field order in the
-        # marshal stream, so they need a round trip and independent
-        # verification.
-        object = Marshal.load(Marshal.dump(object))
-        attributes.each do |attr, val|
-          object.send(attr).should == val
+  ruby_version_is ""..."1.9" do
+    MarshalSpec::DATA.each do |description, (object, marshal, attributes)|
+      it "dumps a #{description}" do
+        unless attributes then
+          Marshal.dump(object).should == marshal
+        else
+          # these objects have non-deterministic field order in the
+          # marshal stream, so they need a round trip and independent
+          # verification.
+          object = Marshal.load(Marshal.dump(object))
+          attributes.each do |attr, val|
+            object.send(attr).should == val
+          end
         end
       end
     end
   end
+
+  ruby_version_is "1.9" do
+    MarshalSpec::DATA_19.each do |description, (object, marshal, attributes)|
+      it "dumps a #{description}" do
+        unless attributes then
+          Marshal.dump(object).should == marshal
+        else
+          # these objects have non-deterministic field order in the
+          # marshal stream, so they need a round trip and independent
+          # verification.
+          object = Marshal.load(Marshal.dump(object))
+          attributes.each do |attr, val|
+            object.send(attr).should == val
+          end
+        end
+      end
+    end
+  end
 end

Modified: MacRuby/branches/experimental/spec/frozen/core/marshal/fixtures/marshal_data.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/marshal/fixtures/marshal_data.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/core/marshal/fixtures/marshal_data.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -232,5 +232,103 @@
     "Struct" => [Struct::Pyramid.new,
                  "\004\bS:\024Struct::Pyramid\000"],
   }
+  DATA_19 = {
+    "nil" => [nil, "\004\b0"],
+    "1..2" => [(1..2),
+               "\004\bo:\nRange\b:\nbegini\006:\texclF:\bendi\a",
+               { :begin => 1, :end => 2, :exclude_end? => false }],
+    "1...2" => [(1...2),
+                "\004\bo:\nRange\b:\nbegini\006:\texclT:\bendi\a",
+               { :begin => 1, :end => 2, :exclude_end? => true }],
+    "'a'..'b'" => [('a'..'b'),
+                   "\004\bo:\nRange\b:\nbegin\"\006a:\texclF:\bend\"\006b",
+                   { :begin => 'a', :end => 'b', :exclude_end? => false }],
+    "Struct" => [Struct::Useful.new(1, 2),
+                 "\004\bS:\023Struct::Useful\a:\006ai\006:\006bi\a"],
+    "Symbol" => [:symbol,
+                 "\004\b:\vsymbol"],
+    "true" => [true,
+               "\004\bT"],
+    "false" => [false,
+                "\004\bF"],
+    "String empty" => ['',
+                    "\x04\bI\"\x00\x06:\x06EF"],
+    "String small" => ['small',
+                    "\x04\bI\"\nsmall\x06:\x06EF"],
+    "String big" => ['big' * 100,
+                    "\x04\bI\"\x02,\x01bigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbigbig\x06:\x06EF"],
+    "String extended" => [''.extend(Meths), # TODO: check for module on load
+                          "\x04\bIe:\nMeths\"\x00\x06:\x06EF"],
+    "String subclass" => [UserString.new,
+                          "\004\bC:\017UserString\"\000"],
+    "String subclass extended" => [UserString.new.extend(Meths),
+                                   "\004\be:\nMethsC:\017UserString\"\000"],
+    "Symbol small" => [:big,
+                       "\004\b:\010big"],
+    "Symbol big" => [('big' * 100).to_sym,
+                               "\004\b:\002,\001#{'big' * 100}"],
+    "Bignum -2**64" => [-2**64,
+                        "\004\bl-\n\000\000\000\000\000\000\000\000\001\000"],
+    "Bignum -2**63" => [-2**63,
+                        "\004\bl-\t\000\000\000\000\000\000\000\200"],
+    "Fixnum -2**24" => [-2**24,
+                        "\004\bi\375\000\000\000"],
+    "Fixnum -2**16" => [-2**16,
+                        "\004\bi\376\000\000"],
+    "Fixnum -2**8" => [-2**8,
+                       "\004\bi\377\000"],
+    "Fixnum -123" => [-123,
+                      "\004\bi\200"],
+    "Fixnum 0" => [0,
+                   "\004\bi\000"],
+    "Fixnum 5" => [5,
+                   "\004\bi\n"],
+    "Fixnum 2**8" => [2**8,
+                      "\004\bi\002\000\001"],
+    "Fixnum 2**16" => [2**16,
+                       "\004\bi\003\000\000\001"],
+    "Fixnum 2**24" => [2**24,
+                       "\004\bi\004\000\000\000\001"],
+    "Bignum 2**64" => [2**64,
+                       "\004\bl+\n\000\000\000\000\000\000\000\000\001\000"],
+    "Bignum 2**90" => [2**90,
+                       "\004\bl+\v#{"\000" * 11}\004"],
+    "Class String" => [String,
+                       "\004\bc\vString"],
+    "Module Marshal" => [Marshal,
+                         "\004\bm\fMarshal"],
+    "Module nested" => [UserDefined::Nested.new,
+                        "\004\bo:\030UserDefined::Nested\000"],
+    "_dump object" => [UserDefinedWithIvar.new,
+          "\x04\bu:\x18UserDefinedWithIvar>\x04\b[\bI\"\nstuff\a:\x06EF:\t at foo:\x18UserDefinedWithIvarI\"\tmore\x06;\x00F@\a"],
+    "_dump object extended" => [UserDefined.new.extend(Meths),
+              "\x04\bu:\x10UserDefined\x18\x04\b[\aI\"\nstuff\x06:\x06EF@\x06"],
+    "marshal_dump object" => [UserMarshalWithIvar.new,
+                  "\x04\bU:\x18UserMarshalWithIvar[\x06I\"\fmy data\x06:\x06EF"],
+    "Regexp" => [/\A.\Z/,
+                 "\x04\bI/\n\\A.\\Z\x00\x06:\x06EF"],
+    "Regexp subclass /i" => [UserRegexp.new('', Regexp::IGNORECASE),
+                     "\x04\bIC:\x0FUserRegexp/\x00\x01\x06:\x06EF"],
+    "Float 0.0" => [0.0,
+                    "\004\bf\0060"],
+    "Float -0.0" => [-0.0,
+                     "\004\bf\a-0"],
+    "Float Infinity" => [(1.0 / 0.0),
+                         "\004\bf\binf"],
+    "Float -Infinity" => [(-1.0 / 0.0),
+                          "\004\bf\t-inf"],
+    "Float 1.0" => [1.0,
+                    "\004\bf\0061"],
+    "Hash" => [Hash.new,
+               "\004\b{\000"],
+    "Hash subclass" => [UserHash.new,
+                        "\004\bC:\rUserHash{\000"],
+    "Array" => [Array.new,
+                "\004\b[\000"],
+    "Array subclass" => [UserArray.new,
+                     "\004\bC:\016UserArray[\000"],
+    "Struct" => [Struct::Pyramid.new,
+                 "\004\bS:\024Struct::Pyramid\000"],
+  }
 end
 

Modified: MacRuby/branches/experimental/spec/frozen/library/timeout/timeout_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/library/timeout/timeout_spec.rb	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/library/timeout/timeout_spec.rb	2009-07-01 23:50:52 UTC (rev 1966)
@@ -2,13 +2,21 @@
 require 'timeout'
 
 describe "Timeout.timeout" do
-  it "raises Timeout::Error when it times out" do
+  it "raises Timeout::Error when it times out with no specified error type" do
     lambda {
       Timeout::timeout(1) do
         sleep 3
       end
     }.should raise_error(Timeout::Error)
   end
+
+  it "raises specified error type when it times out" do
+    lambda do
+      Timeout.timeout(0.1, StandardError) do
+        sleep 1
+      end
+    end.should raise_error(StandardError)
+  end
   
   it "does not wait too long" do
     before_time = Time.now

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/bignum/comparison_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/bignum/comparison_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/bignum/comparison_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Bignum#<=> returns 1 when self is negative and other is -Infinity

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/complex/divide_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/complex/divide_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/complex/divide_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Complex#/ with Float returns (Infinity+Infinity*i) when given zero

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/chroot_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/chroot_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/chroot_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Dir.chroot as regular user raises an Errno::ENOENT exception if the directory doesn't exist

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exist_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exist_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exist_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Dir.exist? expands paths

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exists_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exists_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/dir/exists_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Dir.exists? expands paths

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/encoding/locale_charmap_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/encoding/locale_charmap_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/encoding/locale_charmap_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Encoding.locale_charmap returns a value based on the LANG environment variable

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/float/comparison_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/float/comparison_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/float/comparison_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Float#<=> returns 1 when self is negative and other is Infinty

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/hash/element_reference_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/hash/element_reference_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/hash/element_reference_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Hash#[] compares key via hash

Modified: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acos_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acos_tags.txt	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acos_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -2,3 +2,8 @@
 fails:Math.acos accepts any argument that can be coerced with Float()
 fails:Math.acos raises an ArgumentError if the string argument cannot be coerced with Float()
 fails:Math.acos coerces string argument with Float() without calling to_f
+fails:Math.acos raises an Errno::EDOM if the argument is greater than 1.0
+fails:Math.acos raises an Errno::EDOM if the argument is less than -1.0
+fails:Math.acos raises a TypeError if the string argument cannot be coerced with Float()
+fails:Math.acos raises an TypeError if the argument cannot be coerced with Float()
+fails:Math.acos raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acosh_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acosh_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/acosh_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,4 @@
+fails:Math.acosh it raises Errno::EDOM if the passed argument is less than -1.0 or greater than 1.0
+fails:Math.acosh raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.acosh raises a TypeError if the argument is nil
+fails:Math.acosh accepts any argument that can be coerced with Float()

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asin_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asin_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asin_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,5 @@
+fails:Math.asin raises an Errno::EDOM if the argument is greater than 1.0
+fails:Math.asin raises an Errno::EDOM if the argument is less than -1.0
+fails:Math.asin raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.asin raises a TypeError if the argument is nil
+fails:Math.asin accepts any argument that can be coerced with Float()

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asinh_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asinh_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/asinh_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.asinh raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.asinh raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan2_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan2_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan2_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.atan2 raises an TypeError if the argument cannot be coerced with Float()
+fails:Math.atan2 raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atan_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.atan raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.atan raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atanh_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atanh_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/atanh_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,7 @@
+fails:Math.atanh returns Infinity for 1.0
+fails:Math.atanh returns -Infinity for -1.0
+fails:Math.atanh raises an Errno::EDOM if the passed argument is greater than 1.0
+fails:Math.atanh raises an Errno::EDOM if the passed argument is less than -1.0
+fails:Math.atanh raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.atanh raises a TypeError if the argument is nil
+fails:Math.atanh accepts any argument that can be coerced with Float()

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cos_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cos_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cos_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.cos raises a TypeError unless the argument is Numeric and has #to_f
+fails:Math.cos raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cosh_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cosh_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/cosh_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.cosh raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.cosh raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/exp_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/exp_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/exp_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.exp raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.exp raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log10_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log10_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log10_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,4 @@
+fails:Math.log10 raises an Errno::EDOM if the argument is less than 0
+fails:Math.log10 raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.log10 raises a TypeError if the argument is nil
+fails:Math.log10 accepts any argument that can be coerced with Float()

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/log_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,4 @@
+fails:Math.log raises an Errno::EDOM if the argument is less than 0
+fails:Math.log raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.log raises a TypeError if the argument is nil
+fails:Math.log accepts any argument that can be coerced with Float()

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sin_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sin_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sin_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.sin raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.sin raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sinh_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sinh_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sinh_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.sinh raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.sinh raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sqrt_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sqrt_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/sqrt_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,3 @@
+fails:Math.sqrt raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.sqrt raises a TypeError if the argument is nil
+fails:Math.sqrt accepts any argument that can be coerced with Float()

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tan_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tan_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tan_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.tan raises a TypeError if the argument cannot be coerced with Float()
+fails:Math.tan raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tanh_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tanh_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/math/tanh_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Math.tanh raises an TypeError if the argument cannot be coerced with Float()
+fails:Math.tanh raises a TypeError if the argument is nil

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/div_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/div_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/div_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Numeric#div calls self#/ with other, converts the result to a Float (using #to_f) and returns the #floor'ed result

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/divmod_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/divmod_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/divmod_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Numeric#divmod returns [quotient, modulus], with quotient being obtained as in Numeric#div and modulus being obtained by calling self#% with other

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/modulo_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/modulo_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/numeric/modulo_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Numeric#modulo returns the result of calling self#% with other

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/rational/exponent_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/rational/exponent_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/rational/exponent_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Rational#** when passed Float returns a complex number if self is negative and the passed argument is not 0

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/core/string/modulo_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/core/string/modulo_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/core/string/modulo_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:String#% pads with zeros using %E with Inf, -Inf, and NaN

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/language/file_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/language/file_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/language/file_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:The __FILE__ constant equals a relative path when required using a relative path

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/language/predefined_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/language/predefined_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/language/predefined_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Execution variable $: includes the current directory

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/language/super_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/language/super_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/language/super_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:The super keyword supers up appropriate name even if used for multiple method names

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/element_reference_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/element_reference_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/element_reference_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Matrix#[] returns nil for an invalid index pair

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/hash_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/hash_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/hash_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Matrix#hash returns a Fixnum

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/rank_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/rank_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/rank_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Matrix#rank doesn't loop forever

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/regular_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/regular_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/regular_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,2 @@
+fails:Matrix#regular? returns false unless rank(A) != n
+fails:Matrix#regular? returns false if the determinant is 0

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/row_vectors_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/row_vectors_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/row_vectors_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Matrix#row_vectors returns an empty Array for empty matrices

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/square_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/square_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/matrix/square_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:"Matrix#square? returns false when the Matrix is not square\n    and the first row has the same number of columns as the matrix has rows."

Modified: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_capitalized_name_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_capitalized_name_tags.txt	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_capitalized_name_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1 +1,2 @@
 fails:Net::HTTPHeader#each_capitalized_name when passed no block returns an Enumerable::Enumerator
+fails:Net::HTTPHeader#each_capitalized_name when passed no block returns an Enumerator

Modified: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_value_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_value_tags.txt	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/net/http/httpheader/each_value_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1 +1,2 @@
 fails:Net::HTTPHeader#each_value when passed no block returns an Enumerable::Enumerator
+fails:Net::HTTPHeader#each_value when passed no block returns an Enumerator

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_address_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_address_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_address_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Resolv#getaddress resolves localhost

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_addresses_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_addresses_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/resolv/get_addresses_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1 @@
+fails:Resolv#getaddresses resolves localhost

Added: MacRuby/branches/experimental/spec/frozen/tags/1.9/library/stringscanner/matchedsize_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/1.9/library/stringscanner/matchedsize_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/1.9/library/stringscanner/matchedsize_tags.txt	2009-07-01 23:50:52 UTC (rev 1966)
@@ -0,0 +1,3 @@
+fails:StringScanner#matchedsize returns the size of the most recent match
+fails:StringScanner#matchedsize returns nil if there was no recent match
+fails:StringScanner#matchedsize warns in verbose mode that the method is obsolete

Modified: MacRuby/branches/experimental/spec/frozen/upstream
===================================================================
--- MacRuby/branches/experimental/spec/frozen/upstream	2009-07-01 23:49:08 UTC (rev 1965)
+++ MacRuby/branches/experimental/spec/frozen/upstream	2009-07-01 23:50:52 UTC (rev 1966)
@@ -1 +1 @@
-27df995656cf18ef2fde2b8fe2b182e2ddfabd30
\ No newline at end of file
+6f75d0c5ce0edb5437e84f59eda4a9dce4a39a2d
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090701/58533882/attachment-0001.html>


More information about the macruby-changes mailing list