aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubtly <subtly@users.noreply.github.com>2015-02-05 09:18:52 +0800
committersubtly <subtly@users.noreply.github.com>2015-02-05 09:18:52 +0800
commit74e509acd282f658a4e2d6f7ae0f4175474304ef (patch)
tree8e053afecae1ea247cd5db795a5db795960e15ec
parent952e25ac674d2a1d1afd0dbd197a0a8979a6dd64 (diff)
parent969366f46b83c57461fc5399fff76bd07738b6f2 (diff)
downloaddexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.tar
dexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.tar.gz
dexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.tar.bz2
dexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.tar.lz
dexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.tar.xz
dexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.tar.zst
dexon-solidity-74e509acd282f658a4e2d6f7ae0f4175474304ef.zip
Merge branch 'develop' into p2p
Conflicts: libp2p/Host.cpp
-rw-r--r--SolidityNameAndTypeResolution.cpp36
-rw-r--r--commonjs.cpp5
-rw-r--r--fork.cpp2
-rw-r--r--genesis.cpp8
-rw-r--r--jsonrpc.cpp2
-rw-r--r--state.cpp2
-rw-r--r--stateOriginal.cpp4
-rw-r--r--txTest.cpp2
8 files changed, 49 insertions, 12 deletions
diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp
index 1a087592..ae6c374b 100644
--- a/SolidityNameAndTypeResolution.cpp
+++ b/SolidityNameAndTypeResolution.cpp
@@ -868,6 +868,42 @@ BOOST_AUTO_TEST_CASE(access_to_protected_state_variable)
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
}
+BOOST_AUTO_TEST_CASE(error_count_in_named_args)
+{
+ char const* sourceCode = "contract test {\n"
+ " function a(uint a, uint b) returns (uint r) { r = a + b; }\n"
+ " function b() returns (uint r) { r = a({a: 1}); }\n"
+ "}\n";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError);
+}
+
+BOOST_AUTO_TEST_CASE(empty_in_named_args)
+{
+ char const* sourceCode = "contract test {\n"
+ " function a(uint a, uint b) returns (uint r) { r = a + b; }\n"
+ " function b() returns (uint r) { r = a({}); }\n"
+ "}\n";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError);
+}
+
+BOOST_AUTO_TEST_CASE(duplicate_parameter_names_in_named_args)
+{
+ char const* sourceCode = "contract test {\n"
+ " function a(uint a, uint b) returns (uint r) { r = a + b; }\n"
+ " function b() returns (uint r) { r = a({a: 1, a: 2}); }\n"
+ "}\n";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError);
+}
+
+BOOST_AUTO_TEST_CASE(invalid_parameter_names_in_named_args)
+{
+ char const* sourceCode = "contract test {\n"
+ " function a(uint a, uint b) returns (uint r) { r = a + b; }\n"
+ " function b() returns (uint r) { r = a({a: 1, c: 2}); }\n"
+ "}\n";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError);
+}
+
BOOST_AUTO_TEST_SUITE_END()
}
diff --git a/commonjs.cpp b/commonjs.cpp
index 860b713d..041a14f6 100644
--- a/commonjs.cpp
+++ b/commonjs.cpp
@@ -20,7 +20,8 @@
*/
#include <boost/test/unit_test.hpp>
-#include <libdevcore/CommonJS.h>
+#include <libdevcore/Log.h>
+#include <libethcore/CommonJS.h>
BOOST_AUTO_TEST_SUITE(commonjs)
using namespace std;
@@ -41,7 +42,7 @@ BOOST_AUTO_TEST_CASE(jsToAddress)
cnote << "Testing jsToPublic...";
KeyPair kp = KeyPair::create();
string string = toJS(kp.address());
- Address address = dev::jsToAddress(string);
+ Address address = dev::eth::jsToAddress(string);
BOOST_CHECK_EQUAL(kp.address(), address);
}
diff --git a/fork.cpp b/fork.cpp
index 1cdb8822..bc6ed87b 100644
--- a/fork.cpp
+++ b/fork.cpp
@@ -23,7 +23,7 @@
#include <boost/test/unit_test.hpp>
#include <boost/filesystem/operations.hpp>
#include <libethereum/Client.h>
-#include <libethereum/BlockChain.h>
+#include <libethereum/CanonBlockChain.h>
#include <libethereum/EthereumHost.h>
#include "TestHelper.h"
using namespace std;
diff --git a/genesis.cpp b/genesis.cpp
index 8cdb8402..7ca741ee 100644
--- a/genesis.cpp
+++ b/genesis.cpp
@@ -24,7 +24,7 @@
#include <random>
#include "JsonSpiritHeaders.h"
#include <libdevcore/CommonIO.h>
-#include <libethereum/BlockChain.h>
+#include <libethereum/CanonBlockChain.h>
#include <boost/test/unit_test.hpp>
#include "TestHelper.h"
@@ -58,9 +58,9 @@ BOOST_AUTO_TEST_CASE(genesis_tests)
js::mObject o = v.get_obj();
- BOOST_CHECK_EQUAL(BlockChain::genesis().stateRoot, h256(o["genesis_state_root"].get_str()));
- BOOST_CHECK_EQUAL(toHex(BlockChain::createGenesisBlock()), toHex(fromHex(o["genesis_rlp_hex"].get_str())));
- BOOST_CHECK_EQUAL(BlockInfo::headerHash(BlockChain::createGenesisBlock()), h256(o["genesis_hash"].get_str()));
+ BOOST_CHECK_EQUAL(CanonBlockChain::genesis().stateRoot, h256(o["genesis_state_root"].get_str()));
+ BOOST_CHECK_EQUAL(toHex(CanonBlockChain::createGenesisBlock()), toHex(fromHex(o["genesis_rlp_hex"].get_str())));
+ BOOST_CHECK_EQUAL(BlockInfo::headerHash(CanonBlockChain::createGenesisBlock()), h256(o["genesis_hash"].get_str()));
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/jsonrpc.cpp b/jsonrpc.cpp
index 1f0a466b..eaa9edc4 100644
--- a/jsonrpc.cpp
+++ b/jsonrpc.cpp
@@ -28,7 +28,7 @@
#include <boost/lexical_cast.hpp>
#include <libdevcore/Log.h>
#include <libdevcore/CommonIO.h>
-#include <libdevcore/CommonJS.h>
+#include <libethcore/CommonJS.h>
#include <libwebthree/WebThree.h>
#include <libweb3jsonrpc/WebThreeStubServer.h>
#include <jsonrpccpp/server/connectors/httpserver.h>
diff --git a/state.cpp b/state.cpp
index 100634be..fb54a62a 100644
--- a/state.cpp
+++ b/state.cpp
@@ -24,7 +24,7 @@
#include <boost/test/unit_test.hpp>
#include "JsonSpiritHeaders.h"
#include <libdevcore/CommonIO.h>
-#include <libethereum/BlockChain.h>
+#include <libethereum/CanonBlockChain.h>
#include <libethereum/State.h>
#include <libethereum/ExtVM.h>
#include <libethereum/Defaults.h>
diff --git a/stateOriginal.cpp b/stateOriginal.cpp
index b1a7c0d8..65ff5084 100644
--- a/stateOriginal.cpp
+++ b/stateOriginal.cpp
@@ -22,7 +22,7 @@
#include <boost/filesystem/operations.hpp>
#include <secp256k1/secp256k1.h>
-#include <libethereum/BlockChain.h>
+#include <libethereum/CanonBlockChain.h>
#include <libethereum/State.h>
#include <libethereum/Defaults.h>
using namespace std;
@@ -40,7 +40,7 @@ int stateTest()
Defaults::setDBPath(boost::filesystem::temp_directory_path().string());
OverlayDB stateDB = State::openDB();
- BlockChain bc;
+ CanonBlockChain bc;
State s(myMiner.address(), stateDB);
cout << bc;
diff --git a/txTest.cpp b/txTest.cpp
index cc78c26a..8d067f9b 100644
--- a/txTest.cpp
+++ b/txTest.cpp
@@ -23,7 +23,7 @@
#include <boost/test/unit_test.hpp>
#include <boost/filesystem/operations.hpp>
#include <libethereum/Client.h>
-#include <libethereum/BlockChain.h>
+#include <libethereum/CanonBlockChain.h>
#include <libethereum/EthereumHost.h>
#include "TestHelper.h"
using namespace std;