aboutsummaryrefslogtreecommitdiffstats
path: root/natspec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'natspec.cpp')
-rw-r--r--natspec.cpp127
1 files changed, 0 insertions, 127 deletions
diff --git a/natspec.cpp b/natspec.cpp
deleted file mode 100644
index 56478f93..00000000
--- a/natspec.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- This file is part of cpp-ethereum.
-
- cpp-ethereum is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- cpp-ethereum is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
- */
-/** @file natspec.cpp
- * @author Marek Kotewicz <marek@ethdev.com>
- * @date 2015
- */
-
-#if ETH_GUI
-
-#include <boost/test/unit_test.hpp>
-#include <libdevcore/Log.h>
-#include <libnatspec/NatspecExpressionEvaluator.h>
-
-using namespace std;
-
-BOOST_AUTO_TEST_SUITE(natspec)
-
-BOOST_AUTO_TEST_CASE(natspec_eval_function_exists)
-{
- // given
- NatspecExpressionEvaluator e;
- // when
- string result = e.evalExpression("`typeof natspec.evaluateExpression`").toStdString();
- // then
- BOOST_CHECK_EQUAL(result, "function");
-}
-
-BOOST_AUTO_TEST_CASE(natspec_js_eval)
-{
- // given
- NatspecExpressionEvaluator e;
- // when
- string result = e.evalExpression("`1 + 2`").toStdString();
- // then
- BOOST_CHECK_EQUAL(result, "3");
-}
-
-BOOST_AUTO_TEST_CASE(natspec_create_custom_function)
-{
- // given
- NatspecExpressionEvaluator e;
- // when
- auto x = e.evalExpression("`test = function (x) { return x + 'ok'; }`"); // ommit var, make it global
- string result = e.evalExpression("`test(5)`").toStdString();
- string result2 = e.evalExpression("`typeof test`").toStdString();
- // then
- BOOST_CHECK_EQUAL(result, "5ok");
- BOOST_CHECK_EQUAL(result2, "function");
-}
-
-BOOST_AUTO_TEST_CASE(natspec_js_eval_separated_expressions)
-{
- // given
- NatspecExpressionEvaluator e;
- // when
- string result = e.evalExpression("`x = 1` + `y = 2` will be equal `x + y`").toStdString();
- // then
- BOOST_CHECK_EQUAL(result, "1 + 2 will be equal 3");
-}
-
-BOOST_AUTO_TEST_CASE(natspec_js_eval_input_params)
-{
- // given
- char const* abi = R"([
- {
- "name": "multiply",
- "constant": false,
- "type": "function",
- "inputs": [
- {
- "name": "a",
- "type": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "d",
- "type": "uint256"
- }
- ]
- }
- ])";
-
- char const* transaction = R"({
- "jsonrpc": "2.0",
- "method": "eth_call",
- "params": [{
- "to": "0x8521742d3f456bd237e312d6e30724960f72517a",
- "data": "0xc6888fa10000000000000000000000000000000000000000000000000000000000000004"
- }],
- "id": 6
- })";
-
- NatspecExpressionEvaluator e(abi, transaction , "multiply");
- // when
- string result = e.evalExpression("Will multiply `a` by 7 and return `a * 7`.").toStdString();
- // then
- BOOST_CHECK_EQUAL(result, "Will multiply 4 by 7 and return 28.");
-}
-
-BOOST_AUTO_TEST_CASE(natspec_js_eval_error)
-{
- // given
- NatspecExpressionEvaluator e;
- // when
- string result = e.evalExpression("`test(`").toStdString();
- // then
- BOOST_CHECK_EQUAL(result, "Natspec evaluation failed, wrong input params");
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-#endif