From 4471a2ce3bda9ff802bb9701d042b5c68c312495 Mon Sep 17 00:00:00 2001 From: Lu Guanqun Date: Tue, 22 Dec 2015 17:14:09 +0000 Subject: [PATCH] [cond-expr] add test cases for type resolution --- .../SolidityNameAndTypeResolution.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp index c8e901e43..73f6a6c89 100644 --- a/test/libsolidity/SolidityNameAndTypeResolution.cpp +++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp @@ -2960,6 +2960,30 @@ BOOST_AUTO_TEST_CASE(continue_not_in_loop_2) BOOST_CHECK(expectError(text) == Error::Type::SyntaxError); } +BOOST_AUTO_TEST_CASE(invalid_different_types_for_conditional_expression) +{ + char const* text = R"( + contract C { + function f() { + true ? true : 2; + } + } + )"; + BOOST_CHECK(expectError(text) == Error::Type::TypeError); +} + +BOOST_AUTO_TEST_CASE(invalid_left_value_in_conditional_expression) +{ + char const* text = R"( + contract C { + function f() { + (true ? 3 : 5) = 1; + } + } + )"; + BOOST_CHECK(expectError(text) == Error::Type::TypeError); +} + BOOST_AUTO_TEST_SUITE_END() }