| 427 | } |
| 428 | |
| 429 | TEST_F(SelectOptimizationTest, AstTransformSelect) { |
| 430 | ASSERT_OK_AND_ASSIGN( |
| 431 | std::unique_ptr<cel::Ast> ast, |
| 432 | CompileForTestCase( |
| 433 | "nested_test_all_types.child.payload.standalone_message.bb")); |
| 434 | |
| 435 | SelectOptimizationAstUpdater updater; |
| 436 | EXPECT_THAT(updater.UpdateAst(context_, *ast), IsOk()); |
| 437 | |
| 438 | const auto& attr_call = ast->root_expr().call_expr(); |
| 439 | EXPECT_EQ(attr_call.function(), "cel.@attribute"); |
| 440 | |
| 441 | ASSERT_THAT(attr_call.args(), SizeIs(2)); |
| 442 | |
| 443 | EXPECT_EQ(attr_call.args()[0].ident_expr().name(), "nested_test_all_types"); |
| 444 | |
| 445 | EXPECT_THAT( |
| 446 | attr_call.args()[1].list_expr().elements(), |
| 447 | ElementsAre(SelectFieldEntry(1, "child"), SelectFieldEntry(2, "payload"), |
| 448 | SelectFieldEntry(23, "standalone_message"), |
| 449 | SelectFieldEntry(1, "bb"))); |
| 450 | } |
| 451 | |
| 452 | TEST_F(SelectOptimizationTest, AstTransformSelectPresence) { |
| 453 | ASSERT_OK_AND_ASSIGN( |
nothing calls this directly
no test coverage detected