summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-11 08:41:13 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-11 08:41:13 +0000
commitd1983054610a503fa797f6b82a8c57133b3f8e1e (patch)
treec0035d24db1c9a1e4f1bb1e7df63188dab469615 /test
parentc5f6d62aa000238d3e8cd1c51521d78d223a4050 (diff)
downloadruby-d1983054610a503fa797f6b82a8c57133b3f8e1e.tar.gz
ruby-d1983054610a503fa797f6b82a8c57133b3f8e1e.tar.xz
ruby-d1983054610a503fa797f6b82a8c57133b3f8e1e.zip
merges r20126 from trunk into ruby_1_9_1.
* lib/yaml/rubytypes.rb: support Rational and Complex as 1.8 does. a patch from Hiroshi Moriyama in [ruby-dev:36899]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@20184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/yaml/test_yaml.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/yaml/test_yaml.rb b/test/yaml/test_yaml.rb
index 74a2fa851..ed94705fc 100644
--- a/test/yaml/test_yaml.rb
+++ b/test/yaml/test_yaml.rb
@@ -1107,6 +1107,30 @@ EOY
end
+ def test_ruby_rational
+ assert_to_yaml( Rational(1, 2), <<EOY )
+--- !ruby/object:Rational
+numerator: 1
+denominator: 2
+EOY
+
+ # Read YAML dumped by the ruby 1.8.3.
+ assert_to_yaml( Rational(1, 2), "!ruby/object:Rational 1/2\n" )
+ assert_raise( ArgumentError ) { YAML.load("!ruby/object:Rational INVALID/RATIONAL\n") }
+ end
+
+ def test_ruby_complex
+ assert_to_yaml( Complex(3, 4), <<EOY )
+--- !ruby/object:Complex
+image: 4
+real: 3
+EOY
+
+ # Read YAML dumped by the ruby 1.8.3.
+ assert_to_yaml( Complex(3, 4), "!ruby/object:Complex 3+4i\n" )
+ assert_raise( ArgumentError ) { YAML.load("!ruby/object:Complex INVALID+COMPLEXi\n") }
+ end
+
def test_emitting_indicators
assert_to_yaml( "Hi, from Object 1. You passed: please, pretty please", <<EOY
--- "Hi, from Object 1. You passed: please, pretty please"