aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity
diff options
context:
space:
mode:
Diffstat (limited to 'test/libsolidity')
-rw-r--r--test/libsolidity/SolidityEndToEndTest.cpp42
1 files changed, 24 insertions, 18 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp
index 831840e2..a4fab721 100644
--- a/test/libsolidity/SolidityEndToEndTest.cpp
+++ b/test/libsolidity/SolidityEndToEndTest.cpp
@@ -9184,24 +9184,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)
{