aboutsummaryrefslogtreecommitdiffstats
path: root/SolidityEndToEndTest.cpp
diff options
context:
space:
mode:
authorCJentzsch <jentzsch.software@gmail.com>2015-04-17 21:28:06 +0800
committerCJentzsch <jentzsch.software@gmail.com>2015-04-17 21:28:06 +0800
commite847b4cba00010cab5c755b44da86a805495246d (patch)
tree02c750d1efe5fde984f1246fc8fc149cb817506b /SolidityEndToEndTest.cpp
parent6a146f727b71011b4ce8112d1c1acb3a99d7b602 (diff)
parent7571971ca05fd12e3603531044e094ffc0000fb2 (diff)
downloaddexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.tar
dexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.tar.gz
dexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.tar.bz2
dexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.tar.lz
dexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.tar.xz
dexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.tar.zst
dexon-solidity-e847b4cba00010cab5c755b44da86a805495246d.zip
Merge remote-tracking branch 'upstream/develop' into JSON_testContract
Diffstat (limited to 'SolidityEndToEndTest.cpp')
-rw-r--r--SolidityEndToEndTest.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/SolidityEndToEndTest.cpp b/SolidityEndToEndTest.cpp
index 0d7a933b..3764949d 100644
--- a/SolidityEndToEndTest.cpp
+++ b/SolidityEndToEndTest.cpp
@@ -3676,6 +3676,29 @@ BOOST_AUTO_TEST_CASE(packed_storage_structs_with_bytes0)
BOOST_CHECK(callContractFunction("test()") == encodeArgs(true));
}
+BOOST_AUTO_TEST_CASE(packed_storage_signed)
+{
+ char const* sourceCode = R"(
+ contract C {
+ int8 a;
+ uint8 b;
+ int8 c;
+ uint8 d;
+ function test() returns (uint x1, uint x2, uint x3, uint x4) {
+ a = -2;
+ b = -uint8(a) * 2;
+ c = a * int8(120) * int8(121);
+ x1 = uint(a);
+ x2 = b;
+ x3 = uint(c);
+ x4 = d;
+ }
+ }
+ )";
+ compileAndRun(sourceCode);
+ BOOST_CHECK( callContractFunction("test()") == encodeArgs(u256(-2), u256(4), u256(-112), u256(0)));
+}
+
BOOST_AUTO_TEST_SUITE_END()
}