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

Side by Side Diff: pkg/analyzer/test/generated/utilities_test.dart

Issue 2407553002: Guard against exceptions thrown by linters (issue 27545) (Closed)
Patch Set: Created 4 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library analyzer.test.generated.utilities_test; 5 library analyzer.test.generated.utilities_test;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analyzer/dart/ast/ast.dart'; 9 import 'package:analyzer/dart/ast/ast.dart';
10 import 'package:analyzer/dart/ast/token.dart'; 10 import 'package:analyzer/dart/ast/token.dart';
11 import 'package:analyzer/dart/ast/visitor.dart';
11 import 'package:analyzer/src/dart/ast/token.dart'; 12 import 'package:analyzer/src/dart/ast/token.dart';
12 import 'package:analyzer/src/dart/ast/utilities.dart'; 13 import 'package:analyzer/src/dart/ast/utilities.dart';
13 import 'package:analyzer/src/dart/scanner/reader.dart'; 14 import 'package:analyzer/src/dart/scanner/reader.dart';
14 import 'package:analyzer/src/dart/scanner/scanner.dart'; 15 import 'package:analyzer/src/dart/scanner/scanner.dart';
15 import 'package:analyzer/src/generated/java_engine.dart'; 16 import 'package:analyzer/src/generated/java_engine.dart';
16 import 'package:analyzer/src/generated/parser.dart'; 17 import 'package:analyzer/src/generated/parser.dart';
17 import 'package:analyzer/src/generated/source.dart'; 18 import 'package:analyzer/src/generated/source.dart';
18 import 'package:analyzer/src/generated/testing/ast_factory.dart'; 19 import 'package:analyzer/src/generated/testing/ast_factory.dart';
19 import 'package:analyzer/src/generated/testing/token_factory.dart'; 20 import 'package:analyzer/src/generated/testing/token_factory.dart';
20 import 'package:analyzer/src/generated/utilities_collection.dart'; 21 import 'package:analyzer/src/generated/utilities_collection.dart';
21 import 'package:test/test.dart'; 22 import 'package:test/test.dart';
22 import 'package:test_reflective_loader/test_reflective_loader.dart'; 23 import 'package:test_reflective_loader/test_reflective_loader.dart';
23 24
24 import 'test_support.dart'; 25 import 'test_support.dart';
25 26
26 main() { 27 main() {
27 defineReflectiveSuite(() { 28 defineReflectiveSuite(() {
28 defineReflectiveTests(AstClonerTest); 29 defineReflectiveTests(AstClonerTest);
29 defineReflectiveTests(NodeReplacerTest);
30 defineReflectiveTests(LineInfoTest);
31 defineReflectiveTests(SourceRangeTest);
32 defineReflectiveTests(BooleanArrayTest); 30 defineReflectiveTests(BooleanArrayTest);
33 defineReflectiveTests(DirectedGraphTest); 31 defineReflectiveTests(DirectedGraphTest);
32 defineReflectiveTests(ExceptionHandlingDelegatingAstVisitorTest);
33 defineReflectiveTests(LineInfoTest);
34 defineReflectiveTests(MultipleMapIteratorTest); 34 defineReflectiveTests(MultipleMapIteratorTest);
35 defineReflectiveTests(NodeReplacerTest);
35 defineReflectiveTests(SingleMapIteratorTest); 36 defineReflectiveTests(SingleMapIteratorTest);
37 defineReflectiveTests(SourceRangeTest);
38 defineReflectiveTests(StringUtilitiesTest);
36 defineReflectiveTests(TokenMapTest); 39 defineReflectiveTests(TokenMapTest);
37 defineReflectiveTests(StringUtilitiesTest);
38 }); 40 });
39 } 41 }
40 42
41 class AstCloneComparator extends AstComparator { 43 class AstCloneComparator extends AstComparator {
42 final bool expectTokensCopied; 44 final bool expectTokensCopied;
43 45
44 AstCloneComparator(this.expectTokensCopied); 46 AstCloneComparator(this.expectTokensCopied);
45 47
46 @override 48 @override
47 bool isEqualNodes(AstNode first, AstNode second) { 49 bool isEqualNodes(AstNode first, AstNode second) {
(...skipping 1539 matching lines...) Expand 10 before | Expand all | Expand 10 after
1587 expect(topologicalSort[0], unorderedEquals([node3, node4])); 1589 expect(topologicalSort[0], unorderedEquals([node3, node4]));
1588 expect(topologicalSort[1], unorderedEquals([node1, node2])); 1590 expect(topologicalSort[1], unorderedEquals([node1, node2]));
1589 } 1591 }
1590 } 1592 }
1591 1593
1592 /** 1594 /**
1593 * Instances of the class `Node` represent simple nodes used for testing purpose s. 1595 * Instances of the class `Node` represent simple nodes used for testing purpose s.
1594 */ 1596 */
1595 class DirectedGraphTest_Node {} 1597 class DirectedGraphTest_Node {}
1596 1598
1599 @reflectiveTest
1600 class ExceptionHandlingDelegatingAstVisitorTest extends EngineTestCase {
1601 void test_handlerIsCalled() {
1602 AstVisitor exceptionThrowingVisitor = new _ExceptionThrowingVisitor();
1603 bool handlerInvoked = false;
1604 AstVisitor visitor = new ExceptionHandlingDelegatingAstVisitor(
1605 [exceptionThrowingVisitor], (AstNode node, AstVisitor visitor,
1606 dynamic exception, StackTrace stackTrace) {
1607 handlerInvoked = true;
1608 });
1609 new NullLiteral(null).accept(visitor);
1610 expect(handlerInvoked, isTrue);
1611 }
1612 }
1613
1597 class Getter_NodeReplacerTest_test_annotation 1614 class Getter_NodeReplacerTest_test_annotation
1598 implements NodeReplacerTest_Getter<Annotation, ArgumentList> { 1615 implements NodeReplacerTest_Getter<Annotation, ArgumentList> {
1599 @override 1616 @override
1600 ArgumentList get(Annotation node) => node.arguments; 1617 ArgumentList get(Annotation node) => node.arguments;
1601 } 1618 }
1602 1619
1603 class Getter_NodeReplacerTest_test_annotation_2 1620 class Getter_NodeReplacerTest_test_annotation_2
1604 implements NodeReplacerTest_Getter<Annotation, Identifier> { 1621 implements NodeReplacerTest_Getter<Annotation, Identifier> {
1605 @override 1622 @override
1606 Identifier get(Annotation node) => node.name; 1623 Identifier get(Annotation node) => node.name;
(...skipping 2726 matching lines...) Expand 10 before | Expand all | Expand 10 after
4333 } 4350 }
4334 4351
4335 void test_get_added() { 4352 void test_get_added() {
4336 TokenMap tokenMap = new TokenMap(); 4353 TokenMap tokenMap = new TokenMap();
4337 Token key = TokenFactory.tokenFromType(TokenType.AT); 4354 Token key = TokenFactory.tokenFromType(TokenType.AT);
4338 Token value = TokenFactory.tokenFromType(TokenType.AT); 4355 Token value = TokenFactory.tokenFromType(TokenType.AT);
4339 tokenMap.put(key, value); 4356 tokenMap.put(key, value);
4340 expect(tokenMap.get(key), same(value)); 4357 expect(tokenMap.get(key), same(value));
4341 } 4358 }
4342 } 4359 }
4360
4361 class _ExceptionThrowingVisitor extends SimpleAstVisitor {
4362 visitNullLiteral(NullLiteral node) {
4363 throw new ArgumentError('');
4364 }
4365 }
OLDNEW
« pkg/analyzer/lib/src/dart/ast/utilities.dart ('K') | « pkg/analyzer/lib/src/task/dart.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698