2222#include " absl/status/status_matchers.h"
2323#include " base/ast_internal/ast_impl.h"
2424#include " base/ast_internal/expr.h"
25+ #include " checker/checker_options.h"
2526#include " checker/internal/test_ast_helpers.h"
2627#include " checker/type_checker.h"
2728#include " checker/type_checker_builder.h"
29+ #include " checker/type_checker_builder_factory.h"
2830#include " checker/validation_result.h"
2931#include " common/ast.h"
3032#include " common/constant.h"
@@ -50,27 +52,27 @@ using AstType = cel::ast_internal::Type;
5052
5153TEST (StandardLibraryTest, StandardLibraryAddsDecls) {
5254 ASSERT_OK_AND_ASSIGN (
53- TypeCheckerBuilder builder,
55+ std::unique_ptr< TypeCheckerBuilder> builder,
5456 CreateTypeCheckerBuilder (GetSharedTestingDescriptorPool ()));
55- EXPECT_THAT (builder. AddLibrary (StandardCheckerLibrary ()), IsOk ());
56- EXPECT_THAT (std::move (builder).Build (), IsOk ());
57+ EXPECT_THAT (builder-> AddLibrary (StandardCheckerLibrary ()), IsOk ());
58+ EXPECT_THAT (std::move (* builder).Build (), IsOk ());
5759}
5860
5961TEST (StandardLibraryTest, StandardLibraryErrorsIfAddedTwice) {
6062 ASSERT_OK_AND_ASSIGN (
61- TypeCheckerBuilder builder,
63+ std::unique_ptr< TypeCheckerBuilder> builder,
6264 CreateTypeCheckerBuilder (GetSharedTestingDescriptorPool ()));
63- EXPECT_THAT (builder. AddLibrary (StandardCheckerLibrary ()), IsOk ());
64- EXPECT_THAT (builder. AddLibrary (StandardCheckerLibrary ()),
65+ EXPECT_THAT (builder-> AddLibrary (StandardCheckerLibrary ()), IsOk ());
66+ EXPECT_THAT (builder-> AddLibrary (StandardCheckerLibrary ()),
6567 StatusIs (absl::StatusCode::kAlreadyExists ));
6668}
6769
6870TEST (StandardLibraryTest, ComprehensionVarsIndirectCyclicParamAssignability) {
6971 google::protobuf::Arena arena;
7072 ASSERT_OK_AND_ASSIGN (
71- TypeCheckerBuilder builder,
73+ std::unique_ptr< TypeCheckerBuilder> builder,
7274 CreateTypeCheckerBuilder (GetSharedTestingDescriptorPool ()));
73- ASSERT_THAT (builder. AddLibrary (StandardCheckerLibrary ()), IsOk ());
75+ ASSERT_THAT (builder-> AddLibrary (StandardCheckerLibrary ()), IsOk ());
7476
7577 // Note: this is atypical -- parameterized variables aren't well supported
7678 // outside of built-in syntax.
@@ -83,13 +85,13 @@ TEST(StandardLibraryTest, ComprehensionVarsIndirectCyclicParamAssignability) {
8385 Type list_type = ListType (&arena, TypeParamType (" V" ));
8486 Type map_type = MapType (&arena, TypeParamType (" K" ), TypeParamType (" V" ));
8587
86- ASSERT_THAT (builder. AddVariable (MakeVariableDecl (" list_var" , list_type)),
88+ ASSERT_THAT (builder-> AddVariable (MakeVariableDecl (" list_var" , list_type)),
8789 IsOk ());
88- ASSERT_THAT (builder. AddVariable (MakeVariableDecl (" map_var" , map_type)),
90+ ASSERT_THAT (builder-> AddVariable (MakeVariableDecl (" map_var" , map_type)),
8991 IsOk ());
9092
9193 ASSERT_OK_AND_ASSIGN (std::unique_ptr<TypeChecker> type_checker,
92- std::move (builder).Build ());
94+ std::move (* builder).Build ());
9395
9496 ASSERT_OK_AND_ASSIGN (
9597 auto ast, checker_internal::MakeTestParsedAst (
@@ -108,10 +110,10 @@ class StandardLibraryDefinitionsTest : public ::testing::Test {
108110 public:
109111 void SetUp () override {
110112 ASSERT_OK_AND_ASSIGN (
111- TypeCheckerBuilder builder,
113+ std::unique_ptr< TypeCheckerBuilder> builder,
112114 CreateTypeCheckerBuilder (GetSharedTestingDescriptorPool ()));
113- ASSERT_THAT (builder. AddLibrary (StandardCheckerLibrary ()), IsOk ());
114- ASSERT_OK_AND_ASSIGN (stdlib_type_checker_, std::move (builder).Build ());
115+ ASSERT_THAT (builder-> AddLibrary (StandardCheckerLibrary ()), IsOk ());
116+ ASSERT_OK_AND_ASSIGN (stdlib_type_checker_, std::move (* builder).Build ());
115117 }
116118
117119 protected:
@@ -212,12 +214,12 @@ class StdLibDefinitionsTest
212214// Type-parameterized functions are not yet checkable.
213215TEST_P (StdLibDefinitionsTest, Runner) {
214216 ASSERT_OK_AND_ASSIGN (
215- TypeCheckerBuilder builder,
217+ std::unique_ptr< TypeCheckerBuilder> builder,
216218 CreateTypeCheckerBuilder (GetSharedTestingDescriptorPool (),
217219 GetParam ().options ));
218- ASSERT_THAT (builder. AddLibrary (StandardCheckerLibrary ()), IsOk ());
220+ ASSERT_THAT (builder-> AddLibrary (StandardCheckerLibrary ()), IsOk ());
219221 ASSERT_OK_AND_ASSIGN (std::unique_ptr<TypeChecker> type_checker,
220- std::move (builder).Build ());
222+ std::move (* builder).Build ());
221223
222224 ASSERT_OK_AND_ASSIGN (std::unique_ptr<Ast> ast,
223225 checker_internal::MakeTestParsedAst (GetParam ().expr ));
0 commit comments