BigDecimal#to_f incorrectly handles negative zero
-------------------------------------------------
Key: JRUBY-2570
URL: http://jira.codehaus.org/browse/JRUBY-2570
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.1.1
Environment: Latest JRuby 1.1.1
Reporter: Vladimir Sizikov
Assignee: Vladimir Sizikov
Fix For: JRuby 1.1.2
BigDecimal("-0.0").to_f.to_s.should == "-0.0"
But in JRuby's case, the result is "0.0", not "-0.0".
This leads to a couple of new rubyspec failures:
{noformat}
mspec -t j spec/ruby/1.8/library/bigdecimal/to_f_spec.rb
spec/ruby/1.8/core/float/divide_spec.rb
..F.F.
1)
BigDecimal#to_f properly handles special values FAILED
Expected "0.0"
to equal "-0.0"
/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:10:in `fail_with'
/opt/work/mspec.git/lib/mspec/matchers/base.rb:9:in `=='
/opt/work/./spec/ruby/1.8/library/bigdecimal/to_f_spec.rb:42:in
`/opt/work/./spec/ruby/1.8/library/bigdecimal/to_f_spec.rb'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:60:in `process'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe'
/opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe'
/opt/work/./spec/ruby/1.8/library/bigdecimal/to_f_spec.rb:4:in
`/opt/work/./spec/ruby/1.8/library/bigdecimal/to_f_spec.rb'
/opt/work/./spec/ruby/1.8/library/bigdecimal/to_f_spec.rb:45:in `load'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:34:in `process'
/opt/work/mspec.git/bin/mspec-run:76:in `run'
/opt/work/mspec.git/lib/mspec/utils/script.rb:75:in `main'
/opt/work/mspec.git/bin/mspec-run:83
2)
Float#/ properly handles BigDecimal argument FAILED
Expected 1
to equal -1
/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:10:in `fail_with'
/opt/work/mspec.git/lib/mspec/matchers/base.rb:9:in `=='
/opt/work/./spec/ruby/1.8/core/float/divide_spec.rb:16:in
`/opt/work/./spec/ruby/1.8/core/float/divide_spec.rb'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:60:in `process'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe'
/opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe'
/opt/work/./spec/ruby/1.8/core/float/divide_spec.rb:3:in
`/opt/work/./spec/ruby/1.8/core/float/divide_spec.rb'
/opt/work/./spec/ruby/1.8/core/float/divide_spec.rb:45:in `load'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:34:in `process'
/opt/work/mspec.git/bin/mspec-run:76:in `run'
/opt/work/mspec.git/lib/mspec/utils/script.rb:75:in `main'
/opt/work/mspec.git/bin/mspec-run:83
Finished in 0.189000 seconds
2 files, 6 examples, 36 expectations, 2 failures, 0 errors
{noformat}
Will fix.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email