MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / TEST_F

Function TEST_F

eval/eval/comprehension_step_test.cc:103–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101}
102
103TEST_F(ListKeysStepTest, MapPartiallyUnknown) {
104 ExecutionPath path;
105 auto result = CreateIdentStep("var", 0);
106 ASSERT_OK(result);
107 path.push_back(*std::move(result));
108 ComprehensionInitStep* init_step = new ComprehensionInitStep(1);
109 init_step->set_error_jump_offset(1);
110 path.push_back(absl::WrapUnique(init_step));
111 path.push_back(std::make_unique<GetListKeysResultStep>());
112
113 auto expression =
114 MakeExpression(std::move(path), /*unknown_attributes=*/true);
115
116 Activation activation;
117 Arena arena;
118 Struct value;
119 (*value.mutable_fields())["key1"].set_number_value(1.0);
120 (*value.mutable_fields())["key2"].set_number_value(2.0);
121 (*value.mutable_fields())["key3"].set_number_value(3.0);
122
123 activation.InsertValue("var", CelProtoWrapper::CreateMessage(&value, &arena));
124 activation.set_unknown_attribute_patterns({CelAttributePattern(
125 "var",
126 {CreateCelAttributeQualifierPattern(CelValue::CreateStringView("key2")),
127 CreateCelAttributeQualifierPattern(CelValue::CreateStringView("foo")),
128 CelAttributeQualifierPattern::CreateWildcard()})});
129
130 auto eval_result = expression->Evaluate(activation, &arena);
131
132 ASSERT_OK(eval_result);
133 ASSERT_TRUE(eval_result->IsUnknownSet());
134 const auto& attrs = eval_result->UnknownSetOrDie()->unknown_attributes();
135
136 EXPECT_THAT(attrs, SizeIs(1));
137 EXPECT_THAT(attrs.begin()->variable_name(), Eq("var"));
138 EXPECT_THAT(attrs.begin()->qualifier_path(), SizeIs(0));
139}
140
141TEST_F(ListKeysStepTest, ErrorPassedThrough) {
142 ExecutionPath path;

Callers

nothing calls this directly

Calls 15

CreateIdentStepFunction · 0.85
WrapUniqueFunction · 0.85
EvaluateFunction · 0.85
BoolValueIsFunction · 0.85
InsertValueMethod · 0.80
IsUnknownSetMethod · 0.80
UnknownSetOrDieMethod · 0.80

Tested by

no test coverage detected