diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-08-30 20:51:59 +0000 |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-08-30 20:51:59 +0000 |
commit | 02b83d0aa453ffe2fe9e0e8ef6e57a7862246687 (patch) | |
tree | d8d903504ef314f158d9a771fc44f4a7a5de0c46 /Lib/test/test_compile.py | |
parent | e30cb525ddd24c6a973708be8c0179f361ea9a4b (diff) | |
download | cpython-02b83d0aa453ffe2fe9e0e8ef6e57a7862246687.tar.gz |
SF patch #455966: Allow leading 0 in float/imag literals.
Consequences for Jython still unknown (but raised on Jython-Dev).
Diffstat (limited to 'Lib/test/test_compile.py')
-rw-r--r-- | Lib/test/test_compile.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index 0276ba6bee..9f20ba1377 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -65,3 +65,47 @@ expect_error("2e") expect_error("2.0e+") expect_error("1e-") expect_error("3-4e/21") + + +if verbose: + print "testing literals with leading zeroes" + +def expect_same(test_source, expected): + got = eval(test_source) + if got != expected: + raise TestFailed("eval(%r) gave %r, but expected %r" % + (test_source, got, expected)) + +expect_error("077787") +expect_error("0xj") +expect_error("0x.") +expect_error("0e") +expect_same("0777", 511) +expect_same("0777L", 511) +expect_same("000777", 511) +expect_same("0xff", 255) +expect_same("0xffL", 255) +expect_same("0XfF", 255) +expect_same("0777.", 777) +expect_same("0777.0", 777) +expect_same("000000000000000000000000000000000000000000000000000777e0", 777) +expect_same("0777e1", 7770) +expect_same("0e0", 0) +expect_same("0000E-012", 0) +expect_same("09.5", 9.5) +expect_same("0777j", 777j) +expect_same("00j", 0j) +expect_same("00.0", 0) +expect_same("0e3", 0) +expect_same("090000000000000.", 90000000000000.) +expect_same("090000000000000.0000000000000000000000", 90000000000000.) +expect_same("090000000000000e0", 90000000000000.) +expect_same("090000000000000e-0", 90000000000000.) +expect_same("090000000000000j", 90000000000000j) +expect_error("090000000000000") # plain octal literal w/ decimal digit +expect_error("080000000000000") # plain octal literal w/ decimal digit +expect_error("000000000000009") # plain octal literal w/ decimal digit +expect_error("000000000000008") # plain octal literal w/ decimal digit +expect_same("000000000000007", 7) +expect_same("000000000000008.", 8.) +expect_same("000000000000009.", 9.) |