aboutsummaryrefslogtreecommitdiffstats
path: root/test/libjulia/Parser.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-11-27 22:02:46 +0800
committerGitHub <noreply@github.com>2017-11-27 22:02:46 +0800
commita1f59cbb17d29ca5f92fa1cc20d17f47026ade5a (patch)
treed17e5ab7a2c9cd5ffacba728851e6c127182fbe0 /test/libjulia/Parser.cpp
parenta7136dbc16ba7e0cf8a7d6097d50cc40c1248914 (diff)
parent1d91b65b726d4757b866124d75834f28a9bc9eb9 (diff)
downloaddexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.tar
dexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.tar.gz
dexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.tar.bz2
dexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.tar.lz
dexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.tar.xz
dexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.tar.zst
dexon-solidity-a1f59cbb17d29ca5f92fa1cc20d17f47026ade5a.zip
Merge pull request #3220 from ethereum/IuliaIf
If statement for Iulia / Inline Assembly
Diffstat (limited to 'test/libjulia/Parser.cpp')
-rw-r--r--test/libjulia/Parser.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/libjulia/Parser.cpp b/test/libjulia/Parser.cpp
index f8c1aa4d..9aa325a4 100644
--- a/test/libjulia/Parser.cpp
+++ b/test/libjulia/Parser.cpp
@@ -269,6 +269,21 @@ BOOST_AUTO_TEST_CASE(multiple_assignment)
BOOST_CHECK(successParse(text));
}
+BOOST_AUTO_TEST_CASE(if_statement)
+{
+ BOOST_CHECK(successParse("{ if true:bool {} }"));
+ BOOST_CHECK(successParse("{ if false:bool { let x:u256 := 3:u256 } }"));
+ BOOST_CHECK(successParse("{ function f() -> x:bool {} if f() { let b:bool := f() } }"));
+}
+
+BOOST_AUTO_TEST_CASE(if_statement_invalid)
+{
+ CHECK_ERROR("{ if let x:u256 {} }", ParserError, "Literal or identifier expected.");
+ CHECK_ERROR("{ if true:bool let x:u256 := 3:u256 }", ParserError, "Expected token LBrace");
+ // TODO change this to an error once we check types.
+ BOOST_CHECK(successParse("{ if 42:u256 { } }"));
+}
+
BOOST_AUTO_TEST_SUITE_END()
}