two more tests

style fixes
This commit is contained in:
Liana Husikyan 2015-03-26 14:11:24 +01:00
parent ae0fa99123
commit 25e4cf071a

View File

@ -418,9 +418,23 @@ BOOST_AUTO_TEST_CASE(function_external_types)
}
}
BOOST_AUTO_TEST_CASE(function_external_call_conversion)
BOOST_AUTO_TEST_CASE(function_external_call_allowed_conversion)
{
char const* sourceCode = R"(
char const* text = R"(
contract C {}
contract Test {
function externalCall() {
C arg;
this.g(arg);
}
function g (C c) external {}
})";
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
}
BOOST_AUTO_TEST_CASE(function_external_call_not_allowed_conversion)
{
char const* text = R"(
contract C {}
contract Test {
function externalCall() {
@ -429,10 +443,26 @@ BOOST_AUTO_TEST_CASE(function_external_call_conversion)
}
function g (C c) external {}
})";
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError);
BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
}
BOOST_AUTO_TEST_CASE(function_internal_call_conversion)
BOOST_AUTO_TEST_CASE(function_internal_allowed_conversion)
{
char const* text = R"(
contract C {
uint a;
}
contract Test {
C a;
function g (C c) {}
function internalCall() {
g(a);
}
})";
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
}
BOOST_AUTO_TEST_CASE(function_internal_not_allowed_conversion)
{
char const* text = R"(
contract C {