diff options
author | Kevin Newton <kddnewton@gmail.com> | 2023-12-15 14:20:58 -0500 |
---|---|---|
committer | Kevin Newton <kddnewton@gmail.com> | 2024-02-22 22:42:44 -0500 |
commit | ff6ebba9deccd4d7514d416ea4910de7717194cd (patch) | |
tree | a92ddaf6599784362dc3f44b13355b2886d99aea /test | |
parent | 548151d1e9f64913e26acec61e95d0568da35e5e (diff) |
[ruby/prism] Parse numeric values
https://github.com/ruby/prism/commit/a6a552411c
Diffstat (limited to 'test')
-rw-r--r-- | test/prism/number_parse_test.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/prism/number_parse_test.rb b/test/prism/number_parse_test.rb new file mode 100644 index 0000000000..401aead243 --- /dev/null +++ b/test/prism/number_parse_test.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require_relative "test_helper" + +return if Prism::BACKEND == :FFI + +module Prism + class NumberParseTest < TestCase + def test_number_parse + assert_number_parse(1) + assert_number_parse(50) + assert_number_parse(100) + assert_number_parse(100, "1_0_0") + + assert_number_parse(10, "0b1010") + assert_number_parse(10, "0B1010") + assert_number_parse(10, "0o12") + assert_number_parse(10, "0O12") + assert_number_parse(10, "012") + assert_number_parse(10, "0d10") + assert_number_parse(10, "0D10") + assert_number_parse(10, "0xA") + assert_number_parse(10, "0XA") + + assert_number_parse(2**32) + assert_number_parse(2**64 + 2**32) + assert_number_parse(2**128 + 2**64 + 2**32) + end + + private + + def assert_number_parse(expected, source = expected.to_s) + assert_equal expected, Debug.number_parse(source) + end + end +end |