|
10 | 10 | it "parses an invalid string when not strict" do |
11 | 11 | expect(described_class.parse("no money", "CAD")).to be_nil |
12 | 12 | expect(described_class.parse("1..", "CAD")).to be_nil |
| 13 | + expect(described_class.parse("10.", "CAD")).to be_nil |
| 14 | + expect(described_class.parse("10.1E2", "CAD")).to be_nil |
13 | 15 | end |
14 | 16 |
|
15 | 17 | it "raises with an invalid string and strict option" do |
16 | 18 | expect { described_class.parse("no money", "CAD", strict: true) }.to raise_error(ArgumentError) |
17 | 19 | expect { described_class.parse("1..1", "CAD", strict: true) }.to raise_error(ArgumentError) |
| 20 | + expect { described_class.parse("10.", "CAD", strict: true) }.to raise_error(ArgumentError) |
| 21 | + expect { described_class.parse("10.1E2", "CAD", strict: true) }.to raise_error(ArgumentError) |
18 | 22 | end |
19 | 23 |
|
20 | 24 | it "parses an integer string amount" do |
|
36 | 40 | expect(described_class.parse("$1.37", "CAD")).to be_nil |
37 | 41 | expect(described_class.parse(",1.37", "CAD")).to be_nil |
38 | 42 | expect(described_class.parse("€1.37", "CAD")).to be_nil |
| 43 | + expect(described_class.parse(" 1.37", "CAD")).to be_nil |
39 | 44 | end |
40 | 45 |
|
41 | 46 | it "does not parse a float string amount with a trailing random character" do |
42 | 47 | expect(described_class.parse("1.37$", "CAD")).to be_nil |
43 | 48 | expect(described_class.parse("1.37,", "CAD")).to be_nil |
44 | 49 | expect(described_class.parse("1.37€", "CAD")).to be_nil |
| 50 | + expect(described_class.parse("1.37 ", "CAD")).to be_nil |
45 | 51 | end |
46 | 52 |
|
47 | 53 | it "does not parse an amount with one or more thousands separators" do |
|
0 commit comments