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

Side by Side Diff: pkg/analysis_server/test/services/correction/fix_test.dart

Issue 1413973007: Issue 24714. Check other libraries that define unresolved class. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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 | « pkg/analysis_server/lib/src/services/correction/fix_internal.dart ('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 (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 test.services.correction.fix; 5 library test.services.correction.fix;
6 6
7 import 'package:analysis_server/plugin/edit/fix/fix_core.dart'; 7 import 'package:analysis_server/plugin/edit/fix/fix_core.dart';
8 import 'package:analysis_server/plugin/protocol/protocol.dart' hide AnalysisErro r; 8 import 'package:analysis_server/plugin/protocol/protocol.dart'
9 hide AnalysisError;
9 import 'package:analysis_server/src/services/correction/fix.dart'; 10 import 'package:analysis_server/src/services/correction/fix.dart';
10 import 'package:analysis_server/src/services/correction/fix_internal.dart'; 11 import 'package:analysis_server/src/services/correction/fix_internal.dart';
11 import 'package:analyzer/file_system/file_system.dart'; 12 import 'package:analyzer/file_system/file_system.dart';
12 import 'package:analyzer/source/package_map_resolver.dart'; 13 import 'package:analyzer/source/package_map_resolver.dart';
13 import 'package:analyzer/src/generated/error.dart'; 14 import 'package:analyzer/src/generated/error.dart';
14 import 'package:analyzer/src/generated/parser.dart'; 15 import 'package:analyzer/src/generated/parser.dart';
15 import 'package:analyzer/src/generated/source.dart'; 16 import 'package:analyzer/src/generated/source.dart';
16 import 'package:test_reflective_loader/test_reflective_loader.dart'; 17 import 'package:test_reflective_loader/test_reflective_loader.dart';
17 import 'package:unittest/unittest.dart'; 18 import 'package:unittest/unittest.dart';
18 19
(...skipping 1517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1536 class A { 1537 class A {
1537 int get test => null; 1538 int get test => null;
1538 } 1539 }
1539 main(A a) { 1540 main(A a) {
1540 var x = a; 1541 var x = a;
1541 int v = x.test; 1542 int v = x.test;
1542 } 1543 }
1543 '''); 1544 ''');
1544 } 1545 }
1545 1546
1547 void test_createGetter_location_afterLastGetter() {
1548 resolveTestUnit('''
1549 class A {
1550 int existingField;
1551
1552 int get existingGetter => null;
1553
1554 existingMethod() {}
1555 }
1556 main(A a) {
1557 int v = a.test;
1558 }
1559 ''');
1560 assertHasFix(
1561 DartFixKind.CREATE_GETTER,
1562 '''
1563 class A {
1564 int existingField;
1565
1566 int get existingGetter => null;
1567
1568 int get test => null;
1569
1570 existingMethod() {}
1571 }
1572 main(A a) {
1573 int v = a.test;
1574 }
1575 ''');
1576 }
1577
1546 void test_createGetter_multiLevel() { 1578 void test_createGetter_multiLevel() {
1547 resolveTestUnit(''' 1579 resolveTestUnit('''
1548 class A { 1580 class A {
1549 } 1581 }
1550 class B { 1582 class B {
1551 A a; 1583 A a;
1552 } 1584 }
1553 class C { 1585 class C {
1554 B b; 1586 B b;
1555 } 1587 }
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
2205 } 2237 }
2206 2238
2207 class B extends A { 2239 class B extends A {
2208 existing() {} 2240 existing() {}
2209 2241
2210 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); 2242 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
2211 } 2243 }
2212 '''); 2244 ''');
2213 } 2245 }
2214 2246
2215 void test_creatGetter_location_afterLastGetter() {
2216 resolveTestUnit('''
2217 class A {
2218 int existingField;
2219
2220 int get existingGetter => null;
2221
2222 existingMethod() {}
2223 }
2224 main(A a) {
2225 int v = a.test;
2226 }
2227 ''');
2228 assertHasFix(
2229 DartFixKind.CREATE_GETTER,
2230 '''
2231 class A {
2232 int existingField;
2233
2234 int get existingGetter => null;
2235
2236 int get test => null;
2237
2238 existingMethod() {}
2239 }
2240 main(A a) {
2241 int v = a.test;
2242 }
2243 ''');
2244 }
2245
2246 void test_creationFunction_forFunctionType_cascadeSecond() { 2247 void test_creationFunction_forFunctionType_cascadeSecond() {
2247 resolveTestUnit(''' 2248 resolveTestUnit('''
2248 class A { 2249 class A {
2249 B ma() => null; 2250 B ma() => null;
2250 } 2251 }
2251 class B { 2252 class B {
2252 useFunction(int g(double a, String b)) {} 2253 useFunction(int g(double a, String b)) {}
2253 } 2254 }
2254 2255
2255 main() { 2256 main() {
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
2640 DartFixKind.IMPORT_LIBRARY_PROJECT, 2641 DartFixKind.IMPORT_LIBRARY_PROJECT,
2641 ''' 2642 '''
2642 import 'lib.dart'; 2643 import 'lib.dart';
2643 2644
2644 @Test(0) 2645 @Test(0)
2645 main() { 2646 main() {
2646 } 2647 }
2647 '''); 2648 ''');
2648 } 2649 }
2649 2650
2651 void test_importLibraryProject_withClass_hasOtherLibraryWithPrefix() {
2652 testFile = '/project/bin/test.dart';
2653 addSource(
2654 '/project/bin/a.dart',
2655 '''
2656 library a;
2657 class One {}
2658 ''');
2659 addSource(
2660 '/project/bin/b.dart',
2661 '''
2662 library b;
2663 class One {}
2664 class Two {}
2665 ''');
2666 resolveTestUnit('''
2667 import 'b.dart' show Two;
2668 main () {
2669 new Two();
2670 new One();
2671 }
2672 ''');
2673 performAllAnalysisTasks();
2674 assertHasFix(
2675 DartFixKind.IMPORT_LIBRARY_PROJECT,
2676 '''
2677 import 'b.dart' show Two;
2678 import 'a.dart';
2679 main () {
2680 new Two();
2681 new One();
2682 }
2683 ''');
2684 }
2685
2650 void test_importLibraryProject_withClass_inParentFolder() { 2686 void test_importLibraryProject_withClass_inParentFolder() {
2651 testFile = '/project/bin/test.dart'; 2687 testFile = '/project/bin/test.dart';
2652 addSource( 2688 addSource(
2653 '/project/lib.dart', 2689 '/project/lib.dart',
2654 ''' 2690 '''
2655 library lib; 2691 library lib;
2656 class Test {} 2692 class Test {}
2657 '''); 2693 ''');
2658 resolveTestUnit(''' 2694 resolveTestUnit('''
2659 main() { 2695 main() {
(...skipping 1872 matching lines...) Expand 10 before | Expand all | Expand 10 after
4532 int offset = resultCode.indexOf(search); 4568 int offset = resultCode.indexOf(search);
4533 positions.add(new Position(testFile, offset)); 4569 positions.add(new Position(testFile, offset));
4534 } 4570 }
4535 return positions; 4571 return positions;
4536 } 4572 }
4537 4573
4538 void _performAnalysis() { 4574 void _performAnalysis() {
4539 while (context.performAnalysisTask().hasMoreWork); 4575 while (context.performAnalysisTask().hasMoreWork);
4540 } 4576 }
4541 } 4577 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/correction/fix_internal.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698