[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