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

Side by Side Diff: pkg/analysis_server/test/services/refactoring/rename_constructor_test.dart

Issue 1377623002: Report a fatal error on attempt to rename an element declared in SDK. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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
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.refactoring.rename_constructor; 5 library test.services.refactoring.rename_constructor;
6 6
7 import 'package:analysis_server/src/protocol.dart'; 7 import 'package:analysis_server/src/protocol.dart';
8 import 'package:analysis_server/src/services/correction/status.dart'; 8 import 'package:analysis_server/src/services/correction/status.dart';
9 import 'package:analyzer/src/generated/ast.dart'; 9 import 'package:analyzer/src/generated/ast.dart';
10 import 'package:analyzer/src/generated/element.dart'; 10 import 'package:analyzer/src/generated/element.dart';
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 _createConstructorDeclarationRefactoring('test() {}'); 48 _createConstructorDeclarationRefactoring('test() {}');
49 // check status 49 // check status
50 refactoring.newName = 'newName'; 50 refactoring.newName = 'newName';
51 RefactoringStatus status = await refactoring.checkFinalConditions(); 51 RefactoringStatus status = await refactoring.checkFinalConditions();
52 assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR, 52 assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR,
53 expectedMessage: 53 expectedMessage:
54 "Class 'A' already declares method with name 'newName'.", 54 "Class 'A' already declares method with name 'newName'.",
55 expectedContextSearch: 'newName() {} // existing'); 55 expectedContextSearch: 'newName() {} // existing');
56 } 56 }
57 57
58 test_checkInitialConditions_inSDK() async {
59 indexTestUnit('''
60 main() {
61 new String.fromCharCodes([]);
62 }
63 ''');
64 createRenameRefactoringAtString('fromCharCodes(');
65 // check status
66 refactoring.newName = 'newName';
67 RefactoringStatus status = await refactoring.checkInitialConditions();
68 assertRefactoringStatus(status, RefactoringProblemSeverity.FATAL,
69 expectedMessage:
70 "The constructor 'String.fromCharCodes' is defined in the SDK, so ca nnot be renamed.");
71 }
72
58 test_checkNewName() { 73 test_checkNewName() {
59 indexTestUnit(''' 74 indexTestUnit('''
60 class A { 75 class A {
61 A.test() {} 76 A.test() {}
62 } 77 }
63 '''); 78 ''');
64 createRenameRefactoringAtString('test() {}'); 79 createRenameRefactoringAtString('test() {}');
65 expect(refactoring.oldName, 'test'); 80 expect(refactoring.oldName, 'test');
66 // null 81 // null
67 refactoring.newName = null; 82 refactoring.newName = null;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 } 198 }
184 '''); 199 ''');
185 } 200 }
186 201
187 void _createConstructorDeclarationRefactoring(String search) { 202 void _createConstructorDeclarationRefactoring(String search) {
188 ConstructorElement element = findNodeElementAtString( 203 ConstructorElement element = findNodeElementAtString(
189 search, (node) => node is ConstructorDeclaration); 204 search, (node) => node is ConstructorDeclaration);
190 createRenameRefactoringForElement(element); 205 createRenameRefactoringForElement(element);
191 } 206 }
192 } 207 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698