diff --git a/lib/money/parser/fuzzy.rb b/lib/money/parser/fuzzy.rb index f519033..69e9835 100644 --- a/lib/money/parser/fuzzy.rb +++ b/lib/money/parser/fuzzy.rb @@ -160,11 +160,6 @@ def last_digits_decimals?(digits, marks, currency) return true end - # legacy support for 1.000 USD - if digits.last.size == 3 && digits.first.size <= 3 && currency.minor_units < 3 - return false - end - # The last mark matches the one used by the provided currency to delimiter decimals currency.decimal_mark == last_mark end diff --git a/spec/parser/accounting_spec.rb b/spec/parser/accounting_spec.rb index d1f3652..5c3fb1f 100644 --- a/spec/parser/accounting_spec.rb +++ b/spec/parser/accounting_spec.rb @@ -119,7 +119,7 @@ it "parses thousands amount" do Money.with_currency(Money::NULL_CURRENCY) do - expect(@parser.parse("1.000")).to eq(Money.new(1000.00)) + expect(@parser.parse("1.000")).to eq(Money.new(1.00)) end end diff --git a/spec/parser/fuzzy_spec.rb b/spec/parser/fuzzy_spec.rb index 0e56275..6320f03 100644 --- a/spec/parser/fuzzy_spec.rb +++ b/spec/parser/fuzzy_spec.rb @@ -143,7 +143,7 @@ end it "parses no currency amount" do - expect(@parser.parse("1.000", Money::NULL_CURRENCY)).to eq(Money.new(1000, Money::NULL_CURRENCY)) + expect(@parser.parse("1.000", Money::NULL_CURRENCY)).to eq(Money.new(1, Money::NULL_CURRENCY)) end it "parses amount with more than 3 decimals correctly" do @@ -252,7 +252,7 @@ describe "no decimal currency" do it "parses thousands correctly" do expect(@parser.parse("1,111", "JPY")).to eq(Money.new(1_111, 'JPY')) - expect(@parser.parse("1.111", "JPY")).to eq(Money.new(1_111, 'JPY')) + expect(@parser.parse("1.111", "JPY")).to eq(Money.new(1, 'JPY')) expect(@parser.parse("1 111", "JPY")).to eq(Money.new(1_111, 'JPY')) expect(@parser.parse("1111,111", "JPY")).to eq(Money.new(1_111_111, 'JPY')) end @@ -267,7 +267,7 @@ describe "two decimal currency" do it "parses thousands correctly" do expect(@parser.parse("1,111", "USD")).to eq(Money.new(1_111, 'USD')) - expect(@parser.parse("1.111", "USD")).to eq(Money.new(1_111, 'USD')) + expect(@parser.parse("1.111", "USD")).to eq(Money.new(1.11, 'USD')) expect(@parser.parse("1 111", "USD")).to eq(Money.new(1_111, 'USD')) expect(@parser.parse("1111,111", "USD")).to eq(Money.new(1_111_111, 'USD')) end