aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/solidityExecutionFramework.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-08-06 17:01:59 +0800
committerchriseth <c@ethdev.com>2015-08-06 23:48:27 +0800
commit5aec9fba478e57e2173f596eed3868743c3d8a7d (patch)
treefc966a3a262c574471bf8bd6bafa70cb0dbab637 /libsolidity/solidityExecutionFramework.h
parente24d24b34bb05fcf3ed9413f426fcfad9c618809 (diff)
downloaddexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.tar
dexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.tar.gz
dexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.tar.bz2
dexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.tar.lz
dexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.tar.xz
dexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.tar.zst
dexon-solidity-5aec9fba478e57e2173f596eed3868743c3d8a7d.zip
Actual auction tests.
Diffstat (limited to 'libsolidity/solidityExecutionFramework.h')
-rw-r--r--libsolidity/solidityExecutionFramework.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/libsolidity/solidityExecutionFramework.h b/libsolidity/solidityExecutionFramework.h
index 3f443720..98241b2f 100644
--- a/libsolidity/solidityExecutionFramework.h
+++ b/libsolidity/solidityExecutionFramework.h
@@ -171,6 +171,8 @@ public:
public:
ContractInterface(ExecutionFramework& _framework): m_framework(_framework) {}
+ void setNextValue(u256 const& _value) { m_nextValue = _value; }
+
protected:
template <class... Args>
bytes const& call(std::string const& _sig, Args const&... _arguments)
@@ -210,11 +212,13 @@ public:
std::string callAddressReturnsString(std::string const& _name, u160 const& _arg)
{
- bytes const& ret = call(_name + "(address)", _arg);
+ bytesConstRef ret = ref(call(_name + "(address)", _arg));
BOOST_REQUIRE(ret.size() >= 0x20);
+ u256 offset = eth::abiOut<u256>(ret);
+ BOOST_REQUIRE_EQUAL(offset, 0x20);
u256 len = eth::abiOut<u256>(ret);
- BOOST_REQUIRE(ret.size() == (0x20 + len) / 32 * 32);
- return std::string(ret.begin() + 0x20, ret.begin() + 0x20 + size_t(len));
+ BOOST_REQUIRE_EQUAL(ret.size(), ((len + 0x1f) / 0x20) * 0x20);
+ return ret.cropped(0, size_t(len)).toString();
}
h256 callStringReturnsBytes32(std::string const& _name, std::string const& _arg)