• Home
  • Raw
  • Download

Lines Matching full:parser

24     JSONParser* parser = new JSONParser(options);  in NewTestParser()  local
25 parser->input_ = input; in NewTestParser()
26 parser->index_ = 0; in NewTestParser()
27 return parser; in NewTestParser()
30 void TestLastThree(JSONParser* parser) { in TestLastThree() argument
31 EXPECT_EQ(',', *parser->PeekChar()); in TestLastThree()
32 parser->ConsumeChar(); in TestLastThree()
33 EXPECT_EQ('|', *parser->PeekChar()); in TestLastThree()
34 parser->ConsumeChar(); in TestLastThree()
35 EXPECT_EQ('\0', *parser->pos()); in TestLastThree()
36 EXPECT_EQ(static_cast<size_t>(parser->index_), parser->input_.length()); in TestLastThree()
42 std::unique_ptr<JSONParser> parser(NewTestParser(input)); in TEST_F() local
44 EXPECT_EQ('H', *parser->pos()); in TEST_F()
46 parser->ConsumeChar(); in TEST_F()
47 EXPECT_EQ(input[i], *parser->PeekChar()); in TEST_F()
49 parser->ConsumeChar(); in TEST_F()
50 EXPECT_EQ('\0', *parser->pos()); in TEST_F()
51 EXPECT_EQ(static_cast<size_t>(parser->index_), parser->input_.length()); in TEST_F()
56 std::unique_ptr<JSONParser> parser(NewTestParser(input)); in TEST_F() local
57 absl::optional<Value> value(parser->ConsumeString()); in TEST_F()
58 EXPECT_EQ(',', *parser->pos()); in TEST_F()
60 TestLastThree(parser.get()); in TEST_F()
69 std::unique_ptr<JSONParser> parser(NewTestParser(input)); in TEST_F() local
70 absl::optional<Value> value(parser->ConsumeList()); in TEST_F()
71 EXPECT_EQ(',', *parser->pos()); in TEST_F()
73 TestLastThree(parser.get()); in TEST_F()
83 std::unique_ptr<JSONParser> parser(NewTestParser(input)); in TEST_F() local
84 absl::optional<Value> value(parser->ConsumeDictionary()); in TEST_F()
85 EXPECT_EQ(',', *parser->pos()); in TEST_F()
87 TestLastThree(parser.get()); in TEST_F()
100 std::unique_ptr<JSONParser> parser(NewTestParser(input)); in TEST_F() local
101 absl::optional<Value> value(parser->ConsumeLiteral()); in TEST_F()
102 EXPECT_EQ(',', *parser->pos()); in TEST_F()
104 TestLastThree(parser.get()); in TEST_F()
112 parser.reset(NewTestParser(input)); in TEST_F()
113 value = parser->ConsumeLiteral(); in TEST_F()
114 EXPECT_EQ(',', *parser->pos()); in TEST_F()
116 TestLastThree(parser.get()); in TEST_F()
124 parser.reset(NewTestParser(input)); in TEST_F()
125 value = parser->ConsumeLiteral(); in TEST_F()
126 EXPECT_EQ(',', *parser->pos()); in TEST_F()
128 TestLastThree(parser.get()); in TEST_F()
137 std::unique_ptr<JSONParser> parser(NewTestParser(input)); in TEST_F() local
138 absl::optional<Value> value(parser->ConsumeNumber()); in TEST_F()
139 EXPECT_EQ(',', *parser->pos()); in TEST_F()
141 TestLastThree(parser.get()); in TEST_F()
149 parser.reset(NewTestParser(input)); in TEST_F()
150 value = parser->ConsumeNumber(); in TEST_F()
151 EXPECT_EQ(',', *parser->pos()); in TEST_F()
153 TestLastThree(parser.get()); in TEST_F()
161 parser.reset(NewTestParser(input)); in TEST_F()
162 value = parser->ConsumeNumber(); in TEST_F()
163 EXPECT_EQ(',', *parser->pos()); in TEST_F()
165 TestLastThree(parser.get()); in TEST_F()
173 parser.reset(NewTestParser(input)); in TEST_F()
174 value = parser->ConsumeNumber(); in TEST_F()
175 EXPECT_EQ(',', *parser->pos()); in TEST_F()
177 TestLastThree(parser.get()); in TEST_F()
185 parser.reset(NewTestParser(input)); in TEST_F()
186 value = parser->ConsumeNumber(); in TEST_F()
187 EXPECT_EQ(',', *parser->pos()); in TEST_F()
189 TestLastThree(parser.get()); in TEST_F()
197 parser.reset(NewTestParser(input)); in TEST_F()
198 value = parser->ConsumeNumber(); in TEST_F()
199 EXPECT_EQ(',', *parser->pos()); in TEST_F()
201 TestLastThree(parser.get()); in TEST_F()
210 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
211 absl::optional<Value> value = parser.Parse("[42]"); in TEST_F()
213 EXPECT_TRUE(parser.GetErrorMessage().empty()); in TEST_F()
214 EXPECT_EQ(0, parser.error_code()); in TEST_F()
219 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
220 absl::optional<Value> value = parser.Parse("{},{}"); in TEST_F()
224 parser.GetErrorMessage()); in TEST_F()
225 EXPECT_EQ(JSONParser::JSON_UNEXPECTED_DATA_AFTER_ROOT, parser.error_code()); in TEST_F()
234 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
235 absl::optional<Value> value = parser.Parse(nested_json); in TEST_F()
239 parser.GetErrorMessage()); in TEST_F()
240 EXPECT_EQ(JSONParser::JSON_TOO_MUCH_NESTING, parser.error_code()); in TEST_F()
244 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
245 absl::optional<Value> value = parser.Parse("[1,]"); in TEST_F()
248 parser.GetErrorMessage()); in TEST_F()
249 EXPECT_EQ(JSONParser::JSON_TRAILING_COMMA, parser.error_code()); in TEST_F()
253 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
254 absl::optional<Value> value = parser.Parse("{foo:\"bar\"}"); in TEST_F()
258 parser.GetErrorMessage()); in TEST_F()
259 EXPECT_EQ(JSONParser::JSON_UNQUOTED_DICTIONARY_KEY, parser.error_code()); in TEST_F()
263 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
264 absl::optional<Value> value = parser.Parse("{\"foo\":\"bar\",}"); in TEST_F()
267 parser.GetErrorMessage()); in TEST_F()
268 EXPECT_EQ(JSONParser::JSON_TRAILING_COMMA, parser.error_code()); in TEST_F()
272 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
273 absl::optional<Value> value = parser.Parse("[nu]"); in TEST_F()
276 parser.GetErrorMessage()); in TEST_F()
277 EXPECT_EQ(JSONParser::JSON_SYNTAX_ERROR, parser.error_code()); in TEST_F()
281 JSONParser parser(JSON_PARSE_RFC | JSON_ALLOW_X_ESCAPES); in TEST_F() local
282 absl::optional<Value> value = parser.Parse("[\"xxx\\xq\"]"); in TEST_F()
285 parser.GetErrorMessage()); in TEST_F()
286 EXPECT_EQ(JSONParser::JSON_INVALID_ESCAPE, parser.error_code()); in TEST_F()
290 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
291 absl::optional<Value> value = parser.Parse("[\"xxx\\uq\"]"); in TEST_F()
294 parser.GetErrorMessage()); in TEST_F()
295 EXPECT_EQ(JSONParser::JSON_INVALID_ESCAPE, parser.error_code()); in TEST_F()
299 JSONParser parser(JSON_PARSE_RFC); in TEST_F() local
300 absl::optional<Value> value = parser.Parse("[\"xxx\\q\"]"); in TEST_F()
303 parser.GetErrorMessage()); in TEST_F()
304 EXPECT_EQ(JSONParser::JSON_INVALID_ESCAPE, parser.error_code()); in TEST_F()