mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Also test short input for old decoder.
This commit is contained in:
parent
5a3dbb0269
commit
9d8e3ff395
@ -449,11 +449,13 @@ BOOST_AUTO_TEST_CASE(short_input_value_type)
|
|||||||
function f(uint a, uint b) public pure returns (uint) { return a; }
|
function f(uint a, uint b) public pure returns (uint) { return a; }
|
||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
NEW_ENCODER(
|
bool newDecoder = false;
|
||||||
|
BOTH_ENCODERS(
|
||||||
compileAndRun(sourceCode);
|
compileAndRun(sourceCode);
|
||||||
ABI_CHECK(callContractFunction("f(uint256,uint256)", 1, 2), encodeArgs(1));
|
ABI_CHECK(callContractFunction("f(uint256,uint256)", 1, 2), encodeArgs(1));
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256,uint256)", bytes(64, 0)), encodeArgs(0));
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256,uint256)", bytes(64, 0)), encodeArgs(0));
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256,uint256)", bytes(63, 0)), encodeArgs());
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256,uint256)", bytes(63, 0)), newDecoder ? encodeArgs() : encodeArgs(0));
|
||||||
|
newDecoder = true;
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -464,13 +466,15 @@ BOOST_AUTO_TEST_CASE(short_input_array)
|
|||||||
function f(uint[] a) public pure returns (uint) { return 7; }
|
function f(uint[] a) public pure returns (uint) { return 7; }
|
||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
NEW_ENCODER(
|
bool newDecoder = false;
|
||||||
|
BOTH_ENCODERS(
|
||||||
compileAndRun(sourceCode);
|
compileAndRun(sourceCode);
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 0)), encodeArgs(7));
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 0)), encodeArgs(7));
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 1)), encodeArgs());
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 1)), newDecoder ? encodeArgs() : encodeArgs(7));
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 1) + bytes(31, 0)), encodeArgs());
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 1) + bytes(31, 0)), newDecoder ? encodeArgs() : encodeArgs(7));
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 1) + bytes(32, 0)), encodeArgs(7));
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 1) + bytes(32, 0)), encodeArgs(7));
|
||||||
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 2, 5, 6)), encodeArgs(7));
|
ABI_CHECK(callContractFunctionNoEncoding("f(uint256[])", encodeArgs(0x20, 2, 5, 6)), encodeArgs(7));
|
||||||
|
newDecoder = true;
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user