| OLD | NEW |
| 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.completion.util; | 5 library test.services.completion.util; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/protocol.dart' as protocol show Element, | 9 import 'package:analysis_server/src/protocol.dart' as protocol show Element, |
| 10 ElementKind; | 10 ElementKind; |
| 11 import 'package:analysis_server/src/protocol.dart' hide Element, ElementKind; | 11 import 'package:analysis_server/src/protocol.dart' hide Element, ElementKind; |
| 12 import 'package:analysis_server/src/services/completion/common_usage_computer.da
rt'; |
| 12 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; | 13 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; |
| 13 import 'package:analysis_server/src/services/completion/dart_completion_cache.da
rt'; | 14 import 'package:analysis_server/src/services/completion/dart_completion_cache.da
rt'; |
| 14 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; | 15 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; |
| 15 import 'package:analysis_server/src/services/completion/imported_computer.dart'; | 16 import 'package:analysis_server/src/services/completion/imported_computer.dart'; |
| 16 import 'package:analysis_server/src/services/completion/invocation_computer.dart
'; | 17 import 'package:analysis_server/src/services/completion/invocation_computer.dart
'; |
| 17 import 'package:analysis_server/src/services/index/index.dart'; | 18 import 'package:analysis_server/src/services/index/index.dart'; |
| 18 import 'package:analysis_server/src/services/index/local_memory_index.dart'; | 19 import 'package:analysis_server/src/services/index/local_memory_index.dart'; |
| 19 import 'package:analysis_server/src/services/search/search_engine_internal.dart'
; | 20 import 'package:analysis_server/src/services/search/search_engine_internal.dart'
; |
| 20 import 'package:analyzer/src/generated/ast.dart'; | 21 import 'package:analyzer/src/generated/ast.dart'; |
| 21 import 'package:analyzer/src/generated/element.dart'; | 22 import 'package:analyzer/src/generated/element.dart'; |
| (...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 } | 444 } |
| 444 } | 445 } |
| 445 | 446 |
| 446 bool computeFast() { | 447 bool computeFast() { |
| 447 _computeFastCalled = true; | 448 _computeFastCalled = true; |
| 448 _completionManager = new DartCompletionManager( | 449 _completionManager = new DartCompletionManager( |
| 449 context, | 450 context, |
| 450 searchEngine, | 451 searchEngine, |
| 451 testSource, | 452 testSource, |
| 452 cache, | 453 cache, |
| 453 [computer]); | 454 [computer], |
| 455 new MockCommonUsageComputer()); |
| 454 var result = _completionManager.computeFast(request); | 456 var result = _completionManager.computeFast(request); |
| 455 expect(request.replacementOffset, isNotNull); | 457 expect(request.replacementOffset, isNotNull); |
| 456 expect(request.replacementLength, isNotNull); | 458 expect(request.replacementLength, isNotNull); |
| 457 return result.isEmpty; | 459 return result.isEmpty; |
| 458 } | 460 } |
| 459 | 461 |
| 460 Future computeFull(assertFunction(bool result), {bool fullAnalysis: true}) { | 462 Future computeFull(assertFunction(bool result), {bool fullAnalysis: true}) { |
| 461 if (!_computeFastCalled) { | 463 if (!_computeFastCalled) { |
| 462 expect(computeFast(), isFalse); | 464 expect(computeFast(), isFalse); |
| 463 } | 465 } |
| (...skipping 2025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2489 assertNotSuggested('m'); | 2491 assertNotSuggested('m'); |
| 2490 assertNotSuggested('_n'); | 2492 assertNotSuggested('_n'); |
| 2491 assertNotSuggested('a'); | 2493 assertNotSuggested('a'); |
| 2492 assertNotSuggested('A'); | 2494 assertNotSuggested('A'); |
| 2493 assertNotSuggested('X'); | 2495 assertNotSuggested('X'); |
| 2494 assertNotSuggested('Object'); | 2496 assertNotSuggested('Object'); |
| 2495 assertNotSuggested('=='); | 2497 assertNotSuggested('=='); |
| 2496 }); | 2498 }); |
| 2497 } | 2499 } |
| 2498 | 2500 |
| 2501 test_new_instance() { |
| 2502 addTestSource('import "dart:math"; class A {x() {new Random().^}}'); |
| 2503 computeFast(); |
| 2504 return computeFull((bool result) { |
| 2505 assertSuggestInvocationMethod('nextBool', 'Random', 'bool'); |
| 2506 assertSuggestInvocationMethod('nextDouble', 'Random', 'double'); |
| 2507 assertSuggestInvocationMethod('nextInt', 'Random', 'int'); |
| 2508 assertNotSuggested('Random'); |
| 2509 assertNotSuggested('Object'); |
| 2510 assertNotSuggested('A'); |
| 2511 }); |
| 2512 } |
| 2513 |
| 2499 test_partFile_TypeName() { | 2514 test_partFile_TypeName() { |
| 2500 // SimpleIdentifier TypeName ConstructorName | 2515 // SimpleIdentifier TypeName ConstructorName |
| 2501 addSource('/testB.dart', ''' | 2516 addSource('/testB.dart', ''' |
| 2502 lib B; | 2517 lib B; |
| 2503 int T1; | 2518 int T1; |
| 2504 F1() { } | 2519 F1() { } |
| 2505 class X {X.c(); X._d(); z() {}}'''); | 2520 class X {X.c(); X._d(); z() {}}'''); |
| 2506 addSource('/testA.dart', ''' | 2521 addSource('/testA.dart', ''' |
| 2507 library libA; | 2522 library libA; |
| 2508 import "/testB.dart"; | 2523 import "/testB.dart"; |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2967 assertNotSuggested('bar2'); | 2982 assertNotSuggested('bar2'); |
| 2968 assertNotSuggested('_B'); | 2983 assertNotSuggested('_B'); |
| 2969 assertSuggestLocalClass('Y'); | 2984 assertSuggestLocalClass('Y'); |
| 2970 assertSuggestLocalClass('C'); | 2985 assertSuggestLocalClass('C'); |
| 2971 assertSuggestLocalVariable('f', null); | 2986 assertSuggestLocalVariable('f', null); |
| 2972 assertNotSuggested('x'); | 2987 assertNotSuggested('x'); |
| 2973 assertNotSuggested('e'); | 2988 assertNotSuggested('e'); |
| 2974 }); | 2989 }); |
| 2975 } | 2990 } |
| 2976 } | 2991 } |
| 2992 |
| 2993 class MockCommonUsageComputer implements CommonUsageComputer { |
| 2994 @override |
| 2995 void computeFast(DartCompletionRequest request) { |
| 2996 } |
| 2997 |
| 2998 @override |
| 2999 void computeFull(DartCompletionRequest request) { |
| 3000 } |
| 3001 } |
| OLD | NEW |