aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-02-10 00:34:48 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-02-11 06:44:29 +0800
commitf26fe5bc1c835302af27981e96d0ebbf31c80389 (patch)
tree2589c9d422e09a3ddeaabf8d37c9581a01ae0901 /test
parent28a7b1e019dc6f694d0615d7ef1220f19c10e861 (diff)
downloaddexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.tar
dexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.tar.gz
dexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.tar.bz2
dexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.tar.lz
dexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.tar.xz
dexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.tar.zst
dexon-solidity-f26fe5bc1c835302af27981e96d0ebbf31c80389.zip
Add tests for revert()
Diffstat (limited to 'test')
-rw-r--r--test/libsolidity/InlineAssembly.cpp5
-rw-r--r--test/libsolidity/SolidityEndToEndTest.cpp19
2 files changed, 24 insertions, 0 deletions
diff --git a/test/libsolidity/InlineAssembly.cpp b/test/libsolidity/InlineAssembly.cpp
index cf0343a9..37d17495 100644
--- a/test/libsolidity/InlineAssembly.cpp
+++ b/test/libsolidity/InlineAssembly.cpp
@@ -205,6 +205,11 @@ BOOST_AUTO_TEST_CASE(inline_assembly_shadowed_instruction_functional_assignment)
BOOST_CHECK(!successAssemble("{ gas := 2 }"));
}
+BOOST_AUTO_TEST_CASE(revert)
+{
+ BOOST_CHECK(successAssemble("{ revert(0, 0) }"));
+}
+
BOOST_AUTO_TEST_SUITE_END()
}
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp
index e49db34e..8c0e29fd 100644
--- a/test/libsolidity/SolidityEndToEndTest.cpp
+++ b/test/libsolidity/SolidityEndToEndTest.cpp
@@ -9096,6 +9096,25 @@ BOOST_AUTO_TEST_CASE(assert)
BOOST_CHECK(callContractFunction("g(bool)", true) == encodeArgs(true));
}
+BOOST_AUTO_TEST_CASE(revert)
+{
+ char const* sourceCode = R"(
+ contract C {
+ function f() {
+ revert();
+ }
+ function g() {
+ assembly {
+ revert(0, 0)
+ }
+ }
+ }
+ )";
+ compileAndRun(sourceCode, 0, "C");
+ BOOST_CHECK(callContractFunction("f()") == encodeArgs());
+ BOOST_CHECK(callContractFunction("g()") == encodeArgs());
+}
+
BOOST_AUTO_TEST_SUITE_END()
}