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

Side by Side Diff: tests/compiler/dart2js/parser_test.dart

Issue 1383483006: Extract DiagnosticReporter implementation from Compiler. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes after rebase. Created 5 years, 2 months 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 | « tests/compiler/dart2js/parser_helper.dart ('k') | tests/compiler/dart2js/related_types.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import 'parser_helper.dart'; 6 import 'parser_helper.dart';
7 import 'package:compiler/src/tree/tree.dart'; 7 import 'package:compiler/src/tree/tree.dart';
8 8
9 void testStatement(String statement) { 9 void testStatement(String statement) {
10 Node node = parseStatement(statement); 10 Node node = parseStatement(statement);
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 FunctionExpression function = parseMember('operator -() => null;'); 285 FunctionExpression function = parseMember('operator -() => null;');
286 Send name = function.name.asSend(); 286 Send name = function.name.asSend();
287 Expect.isNotNull(name); 287 Expect.isNotNull(name);
288 Expect.stringEquals('operator', name.receiver.toString()); 288 Expect.stringEquals('operator', name.receiver.toString());
289 Expect.stringEquals('-', name.selector.toString()); 289 Expect.stringEquals('-', name.selector.toString());
290 Expect.isTrue(function.parameters.isEmpty); 290 Expect.isTrue(function.parameters.isEmpty);
291 Expect.isNull(function.returnType); 291 Expect.isNull(function.returnType);
292 Expect.isNull(function.getOrSet); 292 Expect.isNull(function.getOrSet);
293 } 293 }
294 294
295 class Collector extends DiagnosticListener { 295 class Collector extends DiagnosticReporter {
296 int token = -1; 296 int token = -1;
297 297
298 void reportFatalError(Token token) { 298 void reportFatalError(Token token) {
299 this.token = token.kind; 299 this.token = token.kind;
300 throw this; 300 throw this;
301 } 301 }
302 302
303 void reportError( 303 void reportError(
304 DiagnosticMessage message, 304 DiagnosticMessage message,
305 [List<DiagnosticMessage> infos = const <DiagnosticMessage>[]]) { 305 [List<DiagnosticMessage> infos = const <DiagnosticMessage>[]]) {
(...skipping 13 matching lines...) Expand all
319 return new DiagnosticMessage(null, spannable, null); 319 return new DiagnosticMessage(null, spannable, null);
320 } 320 }
321 } 321 }
322 322
323 void testMissingCloseParen() { 323 void testMissingCloseParen() {
324 final String source = 324 final String source =
325 '''foo(x { // <= missing closing ")" 325 '''foo(x { // <= missing closing ")"
326 return x; 326 return x;
327 }'''; 327 }''';
328 parse() { 328 parse() {
329 parseMember(source, diagnosticHandler: new Collector()); 329 parseMember(source, reporter: new Collector());
330 } 330 }
331 check(Collector c) { 331 check(Collector c) {
332 Expect.equals(OPEN_CURLY_BRACKET_TOKEN, c.token); 332 Expect.equals(OPEN_CURLY_BRACKET_TOKEN, c.token);
333 return true; 333 return true;
334 } 334 }
335 Expect.throws(parse, check); 335 Expect.throws(parse, check);
336 } 336 }
337 337
338 void testMissingCloseBraceInClass() { 338 void testMissingCloseBraceInClass() {
339 final String source = 'class Foo {'; // Missing close '}'. 339 final String source = 'class Foo {'; // Missing close '}'.
340 parse() { 340 parse() {
341 fullParseUnit(source, diagnosticHandler: new Collector()); 341 fullParseUnit(source, reporter: new Collector());
342 } 342 }
343 check(Collector c) { 343 check(Collector c) {
344 Expect.equals(BAD_INPUT_TOKEN, c.token); 344 Expect.equals(BAD_INPUT_TOKEN, c.token);
345 return true; 345 return true;
346 } 346 }
347 Expect.throws(parse, check); 347 Expect.throws(parse, check);
348 } 348 }
349 349
350 void testUnmatchedAngleBracket() { 350 void testUnmatchedAngleBracket() {
351 final String source = 'A<'; // unmatched '<' 351 final String source = 'A<'; // unmatched '<'
352 parse() { 352 parse() {
353 fullParseUnit(source, diagnosticHandler: new Collector()); 353 fullParseUnit(source, reporter: new Collector());
354 } 354 }
355 check(Collector c) { 355 check(Collector c) {
356 Expect.equals(LT_TOKEN, c.token); 356 Expect.equals(LT_TOKEN, c.token);
357 return true; 357 return true;
358 } 358 }
359 Expect.throws(parse, check); 359 Expect.throws(parse, check);
360 } 360 }
361 361
362 void main() { 362 void main() {
363 testGenericTypes(); 363 testGenericTypes();
364 // TODO(ahe): Enable this test when we handle library prefixes. 364 // TODO(ahe): Enable this test when we handle library prefixes.
365 // testPrefixedGenericTypes(); 365 // testPrefixedGenericTypes();
366 testUnaryExpression(); 366 testUnaryExpression();
367 testChainedMethodCalls(); 367 testChainedMethodCalls();
368 testFunctionStatement(); 368 testFunctionStatement();
369 testDoStatement(); 369 testDoStatement();
370 testWhileStatement(); 370 testWhileStatement();
371 testConditionalExpression(); 371 testConditionalExpression();
372 testNullOperators(); 372 testNullOperators();
373 testAssignment(); 373 testAssignment();
374 testIndex(); 374 testIndex();
375 testPostfix(); 375 testPostfix();
376 testOperatorParse(); 376 testOperatorParse();
377 testMissingCloseParen(); 377 testMissingCloseParen();
378 testMissingCloseBraceInClass(); 378 testMissingCloseBraceInClass();
379 testUnmatchedAngleBracket(); 379 testUnmatchedAngleBracket();
380 } 380 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/parser_helper.dart ('k') | tests/compiler/dart2js/related_types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698