| Index: pkg/analysis_services/test/correction/name_suggestion_test.dart
|
| diff --git a/pkg/analysis_services/test/correction/name_suggestion_test.dart b/pkg/analysis_services/test/correction/name_suggestion_test.dart
|
| deleted file mode 100644
|
| index 5606937db474b825395748c97e8c21b2ddc6b072..0000000000000000000000000000000000000000
|
| --- a/pkg/analysis_services/test/correction/name_suggestion_test.dart
|
| +++ /dev/null
|
| @@ -1,376 +0,0 @@
|
| -// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -library test.services.correction.name_suggestion;
|
| -
|
| -import 'package:analysis_services/src/correction/name_suggestion.dart';
|
| -import 'package:analysis_testing/abstract_single_unit.dart';
|
| -import 'package:analysis_testing/reflective_tests.dart';
|
| -import 'package:analyzer/src/generated/ast.dart';
|
| -import 'package:analyzer/src/generated/element.dart';
|
| -import 'package:unittest/unittest.dart';
|
| -
|
| -
|
| -main() {
|
| - groupSep = ' | ';
|
| - runReflectiveTests(VariableNameSuggestionTest);
|
| -}
|
| -
|
| -
|
| -@ReflectiveTestCase()
|
| -class VariableNameSuggestionTest extends AbstractSingleUnitTest {
|
| - void test_forExpression_cast() {
|
| - resolveTestUnit('''
|
| -main() {
|
| - var sortedNodes;
|
| - var res = sortedNodes as String;
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - var expr = findNodeAtString('as String', (node) => node is AsExpression);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['sortedNodes', 'nodes']));
|
| - }
|
| -
|
| - void test_forExpression_expectedType() {
|
| - resolveTestUnit('''
|
| -class TreeNode {}
|
| -main() {
|
| - TreeNode node = null;
|
| -}
|
| -''');
|
| - Set excluded = new Set.from([]);
|
| - DartType expectedType = (findElement('node') as LocalVariableElement).type;
|
| - Expression assignedExpression =
|
| - findNodeAtString('null;', (node) => node is NullLiteral);
|
| - List<String> suggestions =
|
| - getVariableNameSuggestionsForExpression(
|
| - expectedType,
|
| - assignedExpression,
|
| - excluded);
|
| - expect(suggestions, unorderedEquals(['treeNode', 'node']));
|
| - }
|
| -
|
| - void test_forExpression_expectedType_String() {
|
| - resolveTestUnit('''
|
| -main() {
|
| - String res = 'abc';
|
| -}
|
| -''');
|
| - DartType expectedType = (findElement('res') as LocalVariableElement).type;
|
| - Expression assignedExpression = findNodeAtString("'abc';");
|
| - // first choice for "String" is "s"
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - expectedType,
|
| - assignedExpression,
|
| - new Set.from([])),
|
| - unorderedEquals(['s']));
|
| - }
|
| -
|
| - void test_forExpression_expectedType_double() {
|
| - resolveTestUnit('''
|
| -main() {
|
| - double res = 0.0;
|
| -}
|
| -''');
|
| - DartType expectedType = (findElement('res') as LocalVariableElement).type;
|
| - Expression assignedExpression = findNodeAtString('0.0;');
|
| - // first choice for "double" is "d"
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - expectedType,
|
| - assignedExpression,
|
| - new Set.from([])),
|
| - unorderedEquals(['d']));
|
| - // if "d" is used, try "e", "f", etc
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - expectedType,
|
| - assignedExpression,
|
| - new Set.from(['d', 'e'])),
|
| - unorderedEquals(['f']));
|
| - }
|
| -
|
| - void test_forExpression_expectedType_int() {
|
| - resolveTestUnit('''
|
| -main() {
|
| - int res = 0;
|
| -}
|
| -''');
|
| - DartType expectedType = (findElement('res') as LocalVariableElement).type;
|
| - Expression assignedExpression = findNodeAtString('0;');
|
| - // first choice for "int" is "i"
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - expectedType,
|
| - assignedExpression,
|
| - new Set.from([])),
|
| - unorderedEquals(['i']));
|
| - // if "i" is used, try "j", "k", etc
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - expectedType,
|
| - assignedExpression,
|
| - new Set.from(['i', 'j'])),
|
| - unorderedEquals(['k']));
|
| - }
|
| -
|
| - void test_forExpression_instanceCreation() {
|
| - verifyNoTestUnitErrors = false;
|
| - resolveTestUnit('''
|
| -import 'dart:math' as p;
|
| -main(p) {
|
| - new NoSuchClass();
|
| - new p.NoSuchClass();
|
| - new NoSuchClass.named();
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - null,
|
| - findNodeAtString('new NoSuchClass()'),
|
| - excluded),
|
| - unorderedEquals(['noSuchClass', 'suchClass', 'class']));
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - null,
|
| - findNodeAtString('new NoSuchClass.named()'),
|
| - excluded),
|
| - unorderedEquals(['noSuchClass', 'suchClass', 'class']));
|
| - // TODO(scheglov) This test does not work.
|
| - // In "p.NoSuchClass" the identifier "p" is not resolved to a PrefixElement.
|
| -// expect(
|
| -// getVariableNameSuggestionsForExpression(
|
| -// null,
|
| -// findNodeAtString('new p.NoSuchClass()'),
|
| -// excluded),
|
| -// unorderedEquals(['noSuchClass', 'suchClass', 'class']));
|
| - }
|
| -
|
| - void test_forExpression_invocationArgument_named() {
|
| - resolveTestUnit('''
|
| -foo({a, b, c}) {}
|
| -main() {
|
| - foo(a: 111, c: 333, b: 222);
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - {
|
| - var expr = findNodeAtString('111');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['a']));
|
| - }
|
| - {
|
| - var expr = findNodeAtString('222');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['b']));
|
| - }
|
| - {
|
| - var expr = findNodeAtString('333');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['c']));
|
| - }
|
| - }
|
| -
|
| - void test_forExpression_invocationArgument_optional() {
|
| - resolveTestUnit('''
|
| -foo(a, [b = 2, c = 3]) {}
|
| -main() {
|
| - foo(111, 222, 333);
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - {
|
| - var expr = findNodeAtString('111');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['a']));
|
| - }
|
| - {
|
| - var expr = findNodeAtString('222');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['b']));
|
| - }
|
| - {
|
| - var expr = findNodeAtString('333');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['c']));
|
| - }
|
| - }
|
| -
|
| - void test_forExpression_invocationArgument_positional() {
|
| - resolveTestUnit('''
|
| -foo(a, b) {}
|
| -main() {
|
| - foo(111, 222);
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - {
|
| - var expr = findNodeAtString('111');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['a']));
|
| - }
|
| - {
|
| - var expr = findNodeAtString('222');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['b']));
|
| - }
|
| - }
|
| -
|
| - void test_forExpression_methodInvocation() {
|
| - resolveTestUnit('''
|
| -main(p) {
|
| - var res = p.getSortedNodes();
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - var expr = findNodeAtString('p.get', (node) => node is MethodInvocation);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['sortedNodes', 'nodes']));
|
| - }
|
| -
|
| - void test_forExpression_methodInvocation_noPrefix() {
|
| - resolveTestUnit('''
|
| -main(p) {
|
| - var res = p.sortedNodes();
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - var expr = findNodeAtString('p.sorted', (node) => node is MethodInvocation);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['sortedNodes', 'nodes']));
|
| - }
|
| -
|
| - void test_forExpression_name_get() {
|
| - resolveTestUnit('''
|
| -main(p) {
|
| - var res = p.get();
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - var expr = findNodeAtString('p.get', (node) => node is MethodInvocation);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals([]));
|
| - }
|
| -
|
| - void test_forExpression_privateName() {
|
| - resolveTestUnit('''
|
| -main(p) {
|
| - p._name;
|
| - p._computeSuffix();
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - null,
|
| - findNodeAtString('p._name', (node) => node is PrefixedIdentifier),
|
| - excluded),
|
| - unorderedEquals(['name']));
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - null,
|
| - findNodeAtString('p._compute', (node) => node is MethodInvocation),
|
| - excluded),
|
| - unorderedEquals(['computeSuffix', 'suffix']));
|
| - }
|
| -
|
| - void test_forExpression_propertyAccess() {
|
| - resolveTestUnit('''
|
| -main(p) {
|
| - var res = p.sortedNodes;
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - null,
|
| - findNodeAtString('p.sorted', (node) => node is PrefixedIdentifier),
|
| - excluded),
|
| - unorderedEquals(['sortedNodes', 'nodes']));
|
| - }
|
| -
|
| - void test_forExpression_simpleName() {
|
| - resolveTestUnit('''
|
| -main(p) {
|
| - var sortedNodes = null;
|
| - var res = sortedNodes;
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - var expr = findNodeAtString('sortedNodes;');
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(null, expr, excluded),
|
| - unorderedEquals(['sortedNodes', 'nodes']));
|
| - }
|
| -
|
| - void test_forExpression_unqualifiedInvocation() {
|
| - resolveTestUnit('''
|
| -getSortedNodes() => [];
|
| -main(p) {
|
| - var res = getSortedNodes();
|
| -}
|
| -''');
|
| - var excluded = new Set.from([]);
|
| - expect(
|
| - getVariableNameSuggestionsForExpression(
|
| - null,
|
| - findNodeAtString('getSortedNodes();', (node) => node is MethodInvocation),
|
| - excluded),
|
| - unorderedEquals(['sortedNodes', 'nodes']));
|
| - }
|
| -
|
| - void test_forText() {
|
| - {
|
| - Set excluded = new Set.from([]);
|
| - List<String> suggestions =
|
| - getVariableNameSuggestionsForText('Goodbye, cruel world!', excluded);
|
| - expect(
|
| - suggestions,
|
| - unorderedEquals(['goodbyeCruelWorld', 'cruelWorld', 'world']));
|
| - }
|
| - {
|
| - Set excluded = new Set.from(['world']);
|
| - List<String> suggestions =
|
| - getVariableNameSuggestionsForText('Goodbye, cruel world!', excluded);
|
| - expect(
|
| - suggestions,
|
| - unorderedEquals(['goodbyeCruelWorld', 'cruelWorld', 'world2']));
|
| - }
|
| - }
|
| -
|
| - void test_getCamelWords_empty() {
|
| - expect(getCamelWords(''), unorderedEquals([]));
|
| - }
|
| -
|
| - void test_getCamelWords_multipleUpper() {
|
| - expect(
|
| - getCamelWords('sortedHTMLNodes'),
|
| - unorderedEquals(['sorted', 'HTML', 'Nodes']));
|
| - }
|
| -
|
| - void test_getCamelWords_simpleCamel() {
|
| - expect(
|
| - getCamelWords('mySimpleText'),
|
| - unorderedEquals(['my', 'Simple', 'Text']));
|
| - }
|
| -
|
| - void test_getCamelWords_simpleName() {
|
| - expect(getCamelWords('name'), unorderedEquals(['name']));
|
| - }
|
| -}
|
|
|