Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(550)

Side by Side Diff: test/cctest/test-parsing.cc

Issue 5136002: Extract scanner base/JS/JSON and move base and JS to scanner-base. (Closed)
Patch Set: Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/scanner-base.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 18 matching lines...) Expand all
29 #include <stdio.h> 29 #include <stdio.h>
30 #include <string.h> 30 #include <string.h>
31 31
32 #include "v8.h" 32 #include "v8.h"
33 33
34 #include "token.h" 34 #include "token.h"
35 #include "scanner.h" 35 #include "scanner.h"
36 #include "parser.h" 36 #include "parser.h"
37 #include "utils.h" 37 #include "utils.h"
38 #include "execution.h" 38 #include "execution.h"
39 #include "scanner.h"
40 #include "preparser.h" 39 #include "preparser.h"
41 #include "cctest.h" 40 #include "cctest.h"
42 41
43 namespace i = ::v8::internal; 42 namespace i = ::v8::internal;
44 43
45 TEST(KeywordMatcher) { 44 TEST(KeywordMatcher) {
46 struct KeywordToken { 45 struct KeywordToken {
47 const char* keyword; 46 const char* keyword;
48 i::Token::Value token; 47 i::Token::Value token;
49 }; 48 };
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 "function foo(x, y) { return x + y; }", 254 "function foo(x, y) { return x + y; }",
256 "native function foo(); return %ArgleBargle(glop);", 255 "native function foo(); return %ArgleBargle(glop);",
257 "var x = new new Function('this.x = 42');", 256 "var x = new new Function('this.x = 42');",
258 NULL 257 NULL
259 }; 258 };
260 259
261 for (int i = 0; programs[i]; i++) { 260 for (int i = 0; programs[i]; i++) {
262 const char* program = programs[i]; 261 const char* program = programs[i];
263 unibrow::Utf8InputBuffer<256> stream(program, strlen(program)); 262 unibrow::Utf8InputBuffer<256> stream(program, strlen(program));
264 i::CompleteParserRecorder log; 263 i::CompleteParserRecorder log;
265 i::Scanner scanner; 264 i::V8JavaScriptScanner scanner;
266 scanner.Initialize(i::Handle<i::String>::null(), &stream, i::JAVASCRIPT); 265 scanner.Initialize(i::Handle<i::String>::null(), &stream);
267 v8::preparser::PreParser<i::Scanner, i::CompleteParserRecorder> preparser; 266 v8::preparser::PreParser<i::V8JavaScriptScanner,
267 i::CompleteParserRecorder> preparser;
268 bool result = preparser.PreParseProgram(&scanner, &log, true); 268 bool result = preparser.PreParseProgram(&scanner, &log, true);
269 CHECK(result); 269 CHECK(result);
270 i::ScriptDataImpl data(log.ExtractData()); 270 i::ScriptDataImpl data(log.ExtractData());
271 CHECK(!data.has_error()); 271 CHECK(!data.has_error());
272 } 272 }
273 } 273 }
274 274
275 275
276 TEST(RegressChromium62639) { 276 TEST(RegressChromium62639) {
277 int marker; 277 int marker;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 CHECK(!entry1.is_valid()); 321 CHECK(!entry1.is_valid());
322 322
323 int second_function = strstr(program + first_lbrace, "function") - program; 323 int second_function = strstr(program + first_lbrace, "function") - program;
324 int second_lbrace = second_function + strlen("function () "); 324 int second_lbrace = second_function + strlen("function () ");
325 CHECK_EQ('{', program[second_lbrace]); 325 CHECK_EQ('{', program[second_lbrace]);
326 i::FunctionEntry entry2 = data->GetFunctionEntry(second_lbrace); 326 i::FunctionEntry entry2 = data->GetFunctionEntry(second_lbrace);
327 CHECK(entry2.is_valid()); 327 CHECK(entry2.is_valid());
328 CHECK_EQ('}', program[entry2.end_pos() - 1]); 328 CHECK_EQ('}', program[entry2.end_pos() - 1]);
329 delete data; 329 delete data;
330 } 330 }
OLDNEW
« no previous file with comments | « src/scanner-base.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698