diff options
author | Yoichi Hirai <i@yoichihirai.com> | 2017-03-08 19:24:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-08 19:24:22 +0800 |
commit | 78f7dd23446fb0bd4bff1847d560df4fac0e1159 (patch) | |
tree | 03ba2994c1723ae1d8b88d033230c4ae0a1e3ec7 /test/libsolidity/SolidityScanner.cpp | |
parent | 85411f4f677769f3ea1b69c49c44d9c08180dbd4 (diff) | |
parent | d3ab59dff679300ef220e551a28eba20172946d7 (diff) | |
download | dexon-solidity-78f7dd23446fb0bd4bff1847d560df4fac0e1159.tar.gz dexon-solidity-78f7dd23446fb0bd4bff1847d560df4fac0e1159.tar.zst dexon-solidity-78f7dd23446fb0bd4bff1847d560df4fac0e1159.zip |
Merge pull request #1750 from ethereum/asmoctal
Disallow octal numbers in parser.
Diffstat (limited to 'test/libsolidity/SolidityScanner.cpp')
-rw-r--r-- | test/libsolidity/SolidityScanner.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityScanner.cpp b/test/libsolidity/SolidityScanner.cpp index eb2f042c..3a5c6f24 100644 --- a/test/libsolidity/SolidityScanner.cpp +++ b/test/libsolidity/SolidityScanner.cpp @@ -97,6 +97,24 @@ BOOST_AUTO_TEST_CASE(hex_numbers) BOOST_CHECK_EQUAL(scanner.next(), Token::EOS); } +BOOST_AUTO_TEST_CASE(octal_numbers) +{ + Scanner scanner(CharStream("07")); + BOOST_CHECK_EQUAL(scanner.currentToken(), Token::Illegal); + scanner.reset(CharStream("007"), ""); + BOOST_CHECK_EQUAL(scanner.currentToken(), Token::Illegal); + scanner.reset(CharStream("-07"), ""); + BOOST_CHECK_EQUAL(scanner.currentToken(), Token::Sub); + BOOST_CHECK_EQUAL(scanner.next(), Token::Illegal); + scanner.reset(CharStream("-.07"), ""); + BOOST_CHECK_EQUAL(scanner.currentToken(), Token::Sub); + BOOST_CHECK_EQUAL(scanner.next(), Token::Number); + scanner.reset(CharStream("0"), ""); + BOOST_CHECK_EQUAL(scanner.currentToken(), Token::Number); + scanner.reset(CharStream("0.1"), ""); + BOOST_CHECK_EQUAL(scanner.currentToken(), Token::Number); +} + BOOST_AUTO_TEST_CASE(negative_numbers) { Scanner scanner(CharStream("var x = -.2 + -0x78 + -7.3 + 8.9;")); |