diff options
author | Tomer Brisker <tbrisker@gmail.com> | 2020-08-08 14:46:05 +0300 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2021-08-31 19:34:06 +0900 |
commit | 31ba0921f8fe342ce317b1c9638b23756bffc9ff (patch) | |
tree | 37007f054f571c0bf912e91e09400b2c1f0dd347 /test/psych/test_scalar_scanner.rb | |
parent | d19af1675c9dcf4ccef643e831d83976f1831101 (diff) | |
download | ruby-31ba0921f8fe342ce317b1c9638b23756bffc9ff.tar.gz |
[ruby/psych] Improve float scalar scanner
Previously, `+.inf` was not handled correctly. Additionally, the regexp
was checking for inf and NaN, even though these cases are handled earlier
in the condition. Added a few tests to ensure handling some missing
cases.
https://github.com/ruby/psych/commit/6e0e7a1e9f
Diffstat (limited to 'test/psych/test_scalar_scanner.rb')
-rw-r--r-- | test/psych/test_scalar_scanner.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/psych/test_scalar_scanner.rb b/test/psych/test_scalar_scanner.rb index 1bd6488e75..ec67a33835 100644 --- a/test/psych/test_scalar_scanner.rb +++ b/test/psych/test_scalar_scanner.rb @@ -66,6 +66,10 @@ module Psych assert_equal(1 / 0.0, ss.tokenize('.inf')) end + def test_scan_plus_inf + assert_equal(1 / 0.0, ss.tokenize('+.inf')) + end + def test_scan_minus_inf assert_equal(-1 / 0.0, ss.tokenize('-.inf')) end @@ -133,5 +137,13 @@ module Psych assert_equal 0x123456789abcdef, ss.tokenize('0x_12_,34,_56,_789abcdef') assert_equal 0x123456789abcdef, ss.tokenize('0x12_,34,_56,_789abcdef__') end + + def test_scan_dot + assert_equal '.', ss.tokenize('.') + end + + def test_scan_plus_dot + assert_equal '+.', ss.tokenize('+.') + end end end |