diff options
Diffstat (limited to 'test/libsolidity')
-rw-r--r-- | test/libsolidity/SolidityEndToEndTest.cpp | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index baed3f1e..2a286cea 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -9133,24 +9133,30 @@ BOOST_AUTO_TEST_CASE(invalid_instruction) BOOST_CHECK(callContractFunction("f()") == encodeArgs()); } -//BOOST_AUTO_TEST_CASE(assert) -//{ -// char const* sourceCode = R"( -// contract C { -// function f() { -// assert(false); -// } -// function g(bool val) returns (bool) { -// assert(val == true); -// return true; -// } -// } -// )"; -// compileAndRun(sourceCode, 0, "C"); -// BOOST_CHECK(callContractFunction("f()") == encodeArgs()); -// BOOST_CHECK(callContractFunction("g(bool)", false) == encodeArgs()); -// BOOST_CHECK(callContractFunction("g(bool)", true) == encodeArgs(true)); -//} +BOOST_AUTO_TEST_CASE(assert_require) +{ + char const* sourceCode = R"( + contract C { + function f() { + assert(false); + } + function g(bool val) returns (bool) { + assert(val == true); + return true; + } + function h(bool val) returns (bool) { + require(val); + return true; + } + } + )"; + compileAndRun(sourceCode, 0, "C"); + BOOST_CHECK(callContractFunction("f()") == encodeArgs()); + BOOST_CHECK(callContractFunction("g(bool)", false) == encodeArgs()); + BOOST_CHECK(callContractFunction("g(bool)", true) == encodeArgs(true)); + BOOST_CHECK(callContractFunction("h(bool)", false) == encodeArgs()); + BOOST_CHECK(callContractFunction("h(bool)", true) == encodeArgs(true)); +} BOOST_AUTO_TEST_CASE(revert) { |