| 220 | // clang-format on |
| 221 | |
| 222 | int main() |
| 223 | { |
| 224 | |
| 225 | // no_attribute_rules |
| 226 | { |
| 227 | { |
| 228 | std::string const str = "xyz"; |
| 229 | BOOST_TEST(!parse(str, flat_rule)); |
| 230 | BOOST_TEST(!parse(str, recursive_rule)); |
| 231 | } |
| 232 | { |
| 233 | std::string const str = "def"; |
| 234 | bool const flat_result{parse(str, flat_rule)}; |
| 235 | BOOST_TEST(flat_result); |
| 236 | BOOST_TEST(!parse(str, recursive_rule)); |
| 237 | } |
| 238 | { |
| 239 | std::string const str = "abc"; |
| 240 | BOOST_TEST(parse(str, flat_rule)); |
| 241 | BOOST_TEST(parse(str, recursive_rule)); |
| 242 | } |
| 243 | { |
| 244 | std::string const str = "abcaabc"; |
| 245 | BOOST_TEST(!parse(str, flat_rule)); |
| 246 | BOOST_TEST(parse(str, recursive_rule)); |
| 247 | } |
| 248 | { |
| 249 | std::string const str = "abcaabc"; |
| 250 | auto first = str.c_str(); |
| 251 | BOOST_TEST(prefix_parse(first, boost::parser::detail::text::null_sentinel, flat_rule)); |
| 252 | first = str.c_str(); |
| 253 | BOOST_TEST(prefix_parse(first, boost::parser::detail::text::null_sentinel, recursive_rule)); |
| 254 | } |
| 255 | } |
| 256 | |
| 257 | // string_attribute_rules |
| 258 | { |
| 259 | { |
| 260 | std::string const str = "xyz"; |
| 261 | BOOST_TEST(!parse(str, flat_string_rule)); |
| 262 | BOOST_TEST(!parse(str, recursive_string_rule)); |
| 263 | } |
| 264 | { |
| 265 | std::string const str = "def"; |
| 266 | auto const flat_result = parse(str, flat_string_rule); |
| 267 | BOOST_TEST(flat_result); |
| 268 | BOOST_TEST(*flat_result == "def"); |
| 269 | BOOST_TEST(!parse(str, recursive_string_rule)); |
| 270 | } |
| 271 | { |
| 272 | std::string const str = "abc"; |
| 273 | BOOST_TEST(*parse(str, flat_string_rule) == "abc"); |
| 274 | BOOST_TEST(*parse(str, recursive_string_rule) == "abc"); |
| 275 | } |
| 276 | { |
| 277 | std::string const str = "abcaabc"; |
| 278 | BOOST_TEST(!parse(str, flat_string_rule)); |
| 279 | BOOST_TEST(parse(str, recursive_string_rule)); |
nothing calls this directly
no test coverage detected