aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/libsolidity/GasMeter.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/libsolidity/GasMeter.cpp b/test/libsolidity/GasMeter.cpp
index 0671fb15..3f06cb85 100644
--- a/test/libsolidity/GasMeter.cpp
+++ b/test/libsolidity/GasMeter.cpp
@@ -248,6 +248,23 @@ BOOST_AUTO_TEST_CASE(multiple_external_functions)
testRunTimeGas("g(uint256)", vector<bytes>{encodeArgs(2)});
}
+BOOST_AUTO_TEST_CASE(exponent_size)
+{
+ char const* sourceCode = R"(
+ contract A {
+ function g(uint x) returns (uint) {
+ return x ** 0x100;
+ }
+ function h(uint x) returns (uint) {
+ return x ** 0x10000;
+ }
+ }
+ )";
+ testCreationTimeGas(sourceCode);
+ testRunTimeGas("f(uint256)", vector<bytes>{encodeArgs(2)});
+ testRunTimeGas("g(uint256)", vector<bytes>{encodeArgs(2)});
+}
+
BOOST_AUTO_TEST_SUITE_END()
}