New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect error message when BigDecimal fails to coerce during comparison #2539

Closed
undefinedvalue opened this Issue Jan 29, 2015 · 1 comment

Comments

Projects
None yet
3 participants
@undefinedvalue

undefinedvalue commented Jan 29, 2015

When attempting to compare a BigDecimal to an object that does not implement #coerce, the error message incorrectly indicates that the object is nil and the message has a typo.

> 10.to_d < "foo"
nil could not be coerced to BigDecmil

("BigDecmil" is a typo in the code)
https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/ext/bigdecimal/RubyBigDecimal.java#L944

A correct message might be: "String can't be coerced into BigDecimal"

@rtyler rtyler added the JRuby 9000 label Jan 30, 2015

@kares kares added the JRuby 1.7.x label Jun 3, 2015

@kares kares self-assigned this Jun 3, 2015

@kares kares added this to the JRuby 1.7.21 milestone Jun 3, 2015

@kares

This comment has been minimized.

Show comment
Hide comment
@kares

kares Jun 4, 2015

Member

fixed with 0ab74b7 ... thanks for the report

Member

kares commented Jun 4, 2015

fixed with 0ab74b7 ... thanks for the report

@kares kares closed this Jun 4, 2015

kares added a commit that referenced this issue Jun 5, 2015

Merge branch 'jruby-1_7'
* jruby-1_7: (38 commits)
  basic BigDecimal sub-class test ... all working the same as MRI 1.8/1.9
  avoid deprecated newInstance + one less pattern to match on BigDecimal.new
  [bigdecimal] keep the simplified newInstance backport 1.8 compatible
  [bigdecimal] backport simplified newInstance impl from master
  minor BigDecimal code cleanup
  handle big decimal ** float value calculation (with Java double math) ... since we're now not raising users should get ~ the value they expect (closing #1967)
  static-ize and simplify private helpers
  BigDecimal should not raise error on pow/** with float arg (under 1.9 #1967)
  some more (internal) RubyBigDecimal dry-ing / tidy-ing
  do coercion on * and / (same as MRI has been doing since 1.8) ... fixes #2538
  handle BigDecimal cmp failure compatibly with MRI (fixes #2539)
  pass around context in BigDecimal impl + simplify cmp method's code
  move JI java.mat.BigDecimal test out of Ruby's BigDecimal tests
  [travis-ci] test-extended on jdk8
  if current directory is inside the classloader a spawn jruby process should do the same
  use the new bin stubs from new rubygems
  set ENV['RUBY'] when jruby.home is not regular directory
  Add support for http.nonProxyHosts and rework ENV_JAVA support.
  pik the right class in URLResourceTest
  use new JRuby.create to load script from command line script source
  ...

Conflicts:
	.travis.yml
	core/src/main/java/org/jruby/RubyDir.java
	core/src/main/java/org/jruby/RubyEnumerable.java
	core/src/main/java/org/jruby/RubyEnumerator.java
	core/src/main/java/org/jruby/RubyHash.java
	core/src/main/java/org/jruby/RubyInstanceConfig.java
	core/src/main/java/org/jruby/RubyModule.java
	core/src/main/java/org/jruby/ext/bigdecimal/RubyBigDecimal.java
	core/src/main/java/org/jruby/util/ClasspathResource.java
	core/src/main/java/org/jruby/util/URLResource.java
	core/src/test/java/org/jruby/util/URLResourceTest.java
	lib/ruby/2.0/net/http.rb
	lib/ruby/2.0/uri/generic.rb
	maven/jruby/src/it/runnable/spec/one_spec.rb
	test/test_backquote.rb
	test/test_big_decimal.rb
	test/test_dir.rb
	test/test_file.rb
	test/test_higher_javasupport.rb
	test/test_load.rb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment