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

Side by Side Diff: pkg/analysis_services/test/refactoring/rename_import_test.dart

Issue 484733003: Import analysis_services.dart into analysis_server.dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library test.services.refactoring.rename_import;
6
7 import 'package:analysis_services/correction/status.dart';
8 import 'package:analysis_testing/reflective_tests.dart';
9 import 'package:analyzer/src/generated/ast.dart';
10 import 'package:unittest/unittest.dart';
11
12 import 'abstract_rename.dart';
13
14
15 main() {
16 groupSep = ' | ';
17 runReflectiveTests(RenameImportTest);
18 }
19
20
21 @ReflectiveTestCase()
22 class RenameImportTest extends RenameRefactoringTest {
23 test_checkNewName() {
24 indexTestUnit("import 'dart:async' as test;");
25 _createRefactoring("import 'dart:");
26 expect(refactoring.oldName, 'test');
27 // null
28 refactoring.newName = null;
29 assertRefactoringStatus(
30 refactoring.checkNewName(),
31 RefactoringStatusSeverity.ERROR,
32 expectedMessage: "Import prefix name must not be null.");
33 // same
34 refactoring.newName = 'test';
35 assertRefactoringStatus(
36 refactoring.checkNewName(),
37 RefactoringStatusSeverity.FATAL,
38 expectedMessage: "The new name must be different than the current name." );
39 // empty
40 refactoring.newName = '';
41 assertRefactoringStatusOK(refactoring.checkNewName());
42 // OK
43 refactoring.newName = 'newName';
44 assertRefactoringStatusOK(refactoring.checkNewName());
45 }
46
47 test_createChange_add() {
48 indexTestUnit('''
49 import 'dart:async';
50 import 'dart:math' show Random, min hide max;
51 main() {
52 Future f;
53 Random r;
54 min(1, 2);
55 }
56 ''');
57 // configure refactoring
58 _createRefactoring("import 'dart:math");
59 expect(refactoring.refactoringName, 'Rename Import Prefix');
60 refactoring.newName = 'newName';
61 // validate change
62 return assertSuccessfulRename('''
63 import 'dart:async';
64 import 'dart:math' as newName show Random, min hide max;
65 main() {
66 Future f;
67 newName.Random r;
68 newName.min(1, 2);
69 }
70 ''');
71 }
72
73 test_createChange_change_className() {
74 indexTestUnit('''
75 import 'dart:math' as test;
76 import 'dart:async' as test;
77 main() {
78 test.Future f;
79 }
80 ''');
81 // configure refactoring
82 _createRefactoring("import 'dart:async");
83 expect(refactoring.refactoringName, 'Rename Import Prefix');
84 expect(refactoring.oldName, 'test');
85 refactoring.newName = 'newName';
86 // validate change
87 return assertSuccessfulRename('''
88 import 'dart:math' as test;
89 import 'dart:async' as newName;
90 main() {
91 newName.Future f;
92 }
93 ''');
94 }
95
96 test_createChange_change_function() {
97 indexTestUnit('''
98 import 'dart:math' as test;
99 import 'dart:async' as test;
100 main() {
101 test.max(1, 2);
102 test.Future f;
103 }
104 ''');
105 // configure refactoring
106 _createRefactoring("import 'dart:math");
107 expect(refactoring.refactoringName, 'Rename Import Prefix');
108 expect(refactoring.oldName, 'test');
109 refactoring.newName = 'newName';
110 // validate change
111 return assertSuccessfulRename('''
112 import 'dart:math' as newName;
113 import 'dart:async' as test;
114 main() {
115 newName.max(1, 2);
116 test.Future f;
117 }
118 ''');
119 }
120
121 test_createChange_remove() {
122 indexTestUnit('''
123 import 'dart:math' as test;
124 import 'dart:async' as test;
125 main() {
126 test.Future f;
127 }
128 ''');
129 // configure refactoring
130 _createRefactoring("import 'dart:async");
131 expect(refactoring.refactoringName, 'Rename Import Prefix');
132 expect(refactoring.oldName, 'test');
133 refactoring.newName = '';
134 // validate change
135 return assertSuccessfulRename('''
136 import 'dart:math' as test;
137 import 'dart:async';
138 main() {
139 Future f;
140 }
141 ''');
142 }
143
144 void _createRefactoring(String search) {
145 ImportDirective directive =
146 findNodeAtString(search, (node) => node is ImportDirective);
147 createRenameRefactoringForElement(directive.element);
148 }
149 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698