mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
web3.sha3 test
This commit is contained in:
parent
4f7bb09821
commit
2dfe5b1517
21
jsonrpc.cpp
21
jsonrpc.cpp
@ -22,7 +22,7 @@
|
||||
// @debris disabled as tests fail with:
|
||||
// unknown location(0): fatal error in "jsonrpc_setMining": std::exception: Exception -32003 : Client connector error: : libcurl error: 28
|
||||
// /home/gav/Eth/cpp-ethereum/test/jsonrpc.cpp(169): last checkpoint
|
||||
#if ETH_JSONRPC && 0
|
||||
#if ETH_JSONRPC && 1
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
@ -74,6 +74,13 @@ struct Setup
|
||||
}
|
||||
};
|
||||
|
||||
string fromAscii(string _s)
|
||||
{
|
||||
bytes b = asBytes(_s);
|
||||
b.resize(max<unsigned>(b.size(), 32));
|
||||
return "0x" + toHex(b);
|
||||
}
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(environment, Setup)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(jsonrpc_defaultBlock)
|
||||
@ -312,6 +319,18 @@ BOOST_AUTO_TEST_CASE(contract_storage)
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(sha3)
|
||||
{
|
||||
cnote << "Testing jsonrpc sha3...";
|
||||
string testString = "multiply(uint256)";
|
||||
h256 expected = dev::sha3(testString);
|
||||
|
||||
auto hexValue = fromAscii(testString);
|
||||
string result = jsonrpcClient->web3_sha3(hexValue);
|
||||
BOOST_CHECK_EQUAL(toJS(expected), result);
|
||||
BOOST_CHECK_EQUAL("0xc6888fa159d67f77c2f3d7a402e199802766bd7e8d4d1ecd2274fc920265d56a", result);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
|
@ -12,6 +12,16 @@ class WebThreeStubClient : public jsonrpc::Client
|
||||
public:
|
||||
WebThreeStubClient(jsonrpc::IClientConnector &conn) : jsonrpc::Client(conn) {}
|
||||
|
||||
std::string web3_sha3(const std::string& param1) throw (jsonrpc::JsonRpcException)
|
||||
{
|
||||
Json::Value p;
|
||||
p.append(param1);
|
||||
Json::Value result = this->CallMethod("web3_sha3",p);
|
||||
if (result.isString())
|
||||
return result.asString();
|
||||
else
|
||||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString());
|
||||
}
|
||||
std::string eth_coinbase() throw (jsonrpc::JsonRpcException)
|
||||
{
|
||||
Json::Value p;
|
||||
|
Loading…
Reference in New Issue
Block a user