diff --git a/test/Jamfile b/test/Jamfile index f2b88ba..9c7a9e1 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -86,6 +86,7 @@ test-suite phoenix_container : test-suite phoenix_scope : [ run scope/lambda_tests.cpp ] + [ run scope/more_lambda_tests.cpp ] # [ run scope/lambda_tests_phx2.cpp ] [ run scope/let_tests.cpp ] [ run scope/dynamic_tests.cpp ] diff --git a/test/scope/more_lambda_tests.cpp b/test/scope/more_lambda_tests.cpp new file mode 100644 index 0000000..3f53027 --- /dev/null +++ b/test/scope/more_lambda_tests.cpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2014 John Fletcher + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#include + +#include +#include +#include +#include +#include + + +int +main() +{ + using boost::phoenix::lambda; + using boost::phoenix::let; + using boost::phoenix::ref; + using boost::phoenix::val; + using boost::phoenix::arg_names::_1; + using boost::phoenix::arg_names::_2; + using boost::phoenix::local_names::_a; + using boost::phoenix::local_names::_b; + using boost::phoenix::placeholders::arg1; + + { + int x = 1; + int y = lambda[_1]()(x); + BOOST_TEST(x == y); + } + + { + int x = 1; + int y = lambda(_a = _1)[_a+1](x)(); + BOOST_TEST(x+1 == y); + } + +}