• Home
  • Raw
  • Download

Lines Matching refs:Sema

22 class MockSema : public Parser::Sema {
79 MockSema Sema; in TEST() local
80 Sema.parse("true"); in TEST()
81 Sema.parse("false"); in TEST()
82 EXPECT_EQ(2U, Sema.Values.size()); in TEST()
83 EXPECT_TRUE(Sema.Values[0].getBoolean()); in TEST()
84 EXPECT_FALSE(Sema.Values[1].getBoolean()); in TEST()
88 MockSema Sema; in TEST() local
89 Sema.parse("1.0"); in TEST()
90 Sema.parse("2.0f"); in TEST()
91 Sema.parse("34.56e-78"); in TEST()
92 Sema.parse("4.E+6"); in TEST()
93 Sema.parse("1"); in TEST()
94 EXPECT_EQ(5U, Sema.Values.size()); in TEST()
95 EXPECT_EQ(1.0, Sema.Values[0].getDouble()); in TEST()
96 EXPECT_EQ("1:1: Error parsing numeric literal: <2.0f>", Sema.Errors[1]); in TEST()
97 EXPECT_EQ(34.56e-78, Sema.Values[2].getDouble()); in TEST()
98 EXPECT_EQ(4e+6, Sema.Values[3].getDouble()); in TEST()
99 EXPECT_FALSE(Sema.Values[4].isDouble()); in TEST()
103 MockSema Sema; in TEST() local
104 Sema.parse("0"); in TEST()
105 Sema.parse("123"); in TEST()
106 Sema.parse("0x1f"); in TEST()
107 Sema.parse("12345678901"); in TEST()
108 Sema.parse("1a1"); in TEST()
109 EXPECT_EQ(5U, Sema.Values.size()); in TEST()
110 EXPECT_EQ(0U, Sema.Values[0].getUnsigned()); in TEST()
111 EXPECT_EQ(123U, Sema.Values[1].getUnsigned()); in TEST()
112 EXPECT_EQ(31U, Sema.Values[2].getUnsigned()); in TEST()
113 EXPECT_EQ("1:1: Error parsing numeric literal: <12345678901>", Sema.Errors[3]); in TEST()
114 EXPECT_EQ("1:1: Error parsing numeric literal: <1a1>", Sema.Errors[4]); in TEST()
118 MockSema Sema; in TEST() local
119 Sema.parse("\"Foo\""); in TEST()
120 Sema.parse("\"\""); in TEST()
121 Sema.parse("\"Baz"); in TEST()
122 EXPECT_EQ(3ULL, Sema.Values.size()); in TEST()
123 EXPECT_EQ("Foo", Sema.Values[0].getString()); in TEST()
124 EXPECT_EQ("", Sema.Values[1].getString()); in TEST()
125 EXPECT_EQ("1:1: Error parsing string token: <\"Baz>", Sema.Errors[2]); in TEST()
146 MockSema Sema; in TEST() local
147 const uint64_t ExpectedFoo = Sema.expectMatcher("Foo"); in TEST()
148 const uint64_t ExpectedBar = Sema.expectMatcher("Bar"); in TEST()
149 const uint64_t ExpectedBaz = Sema.expectMatcher("Baz"); in TEST()
150 Sema.parse(" Foo ( Bar ( 17), Baz( \n \"B A,Z\") ) .bind( \"Yo!\") "); in TEST()
151 for (const auto &E : Sema.Errors) { in TEST()
159 EXPECT_EQ(1ULL, Sema.Values.size()); in TEST()
160 EXPECT_EQ(ExpectedFoo, getSingleMatcher(Sema.Values[0])->getID().second); in TEST()
162 EXPECT_EQ(3ULL, Sema.Matchers.size()); in TEST()
163 const MockSema::MatcherInfo Bar = Sema.Matchers[0]; in TEST()
169 const MockSema::MatcherInfo Baz = Sema.Matchers[1]; in TEST()
175 const MockSema::MatcherInfo Foo = Sema.Matchers[2]; in TEST()
185 MockSema Sema; in TEST() local
186 Sema.expectMatcher("Foo"); in TEST()
187 Sema.parse(" Foo() # Bar() "); in TEST()
188 for (const auto &E : Sema.Errors) { in TEST()
192 EXPECT_EQ(1ULL, Sema.Matchers.size()); in TEST()
194 Sema.parse("Foo(#) "); in TEST()
196 EXPECT_EQ("1:4: Error parsing matcher. Found end-of-code while looking for ')'.", Sema.Errors[1]); in TEST()