matches.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*=============================================================================
  2. Copyright (c) 2001-2010 Hartmut Kaiser
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. =============================================================================*/
  6. #include <boost/detail/lightweight_test.hpp>
  7. #include <boost/spirit/include/qi_char.hpp>
  8. #include <boost/spirit/include/qi_directive.hpp>
  9. #include <iostream>
  10. #include "test.hpp"
  11. namespace qi = boost::spirit::qi;
  12. int main()
  13. {
  14. using spirit_test::test;
  15. using spirit_test::test_attr;
  16. using qi::matches;
  17. using qi::char_;
  18. {
  19. BOOST_TEST(test("x", matches[char_]));
  20. bool result = false;
  21. BOOST_TEST(test_attr("x", matches[char_], result) && result);
  22. }
  23. {
  24. BOOST_TEST(!test("y", matches[char_('x')]));
  25. BOOST_TEST(!test("y", matches['x']));
  26. bool result = true;
  27. BOOST_TEST(test_attr("y", matches[char_('x')], result, false) && !result);
  28. result = true;
  29. BOOST_TEST(test_attr("y", matches['x'], result, false) && !result);
  30. }
  31. return boost::report_errors();
  32. }