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

Unified Diff: pkg/analysis_server/test/services/completion/uri_contributor_test.dart

Issue 1418123004: fix import uri completion exception - fixes #24709 (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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/uri_contributor.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/test/services/completion/uri_contributor_test.dart
diff --git a/pkg/analysis_server/test/services/completion/uri_contributor_test.dart b/pkg/analysis_server/test/services/completion/uri_contributor_test.dart
index ab605ddd8eba5a56158a49220abf9d0d98fe5a41..22ebe15901b2fcaa6e72c7b626c8838122819e11 100644
--- a/pkg/analysis_server/test/services/completion/uri_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/uri_contributor_test.dart
@@ -28,6 +28,46 @@ class UriContributorTest extends AbstractCompletionTest {
contributor = new UriContributor();
}
+ test_after_import() {
+ addTestSource('import "p"^');
+ computeFast();
+ expect(request.replacementOffset, completionOffset);
+ expect(request.replacementLength, 0);
+ assertNoSuggestions();
+ }
+
+ test_after_import_raw() {
+ addTestSource('import r"p"^');
+ computeFast();
+ expect(request.replacementOffset, completionOffset);
+ expect(request.replacementLength, 0);
+ assertNoSuggestions();
+ }
+
+ test_before_import() {
+ addTestSource('import ^"p"');
+ computeFast();
+ expect(request.replacementOffset, completionOffset);
+ expect(request.replacementLength, 0);
+ assertNoSuggestions();
+ }
+
+ test_before_import_raw() {
+ addTestSource('import ^r"p"');
+ computeFast();
+ expect(request.replacementOffset, completionOffset);
+ expect(request.replacementLength, 0);
+ assertNoSuggestions();
+ }
+
+ test_before_import_raw2() {
+ addTestSource('import r^"p"');
+ computeFast();
+ expect(request.replacementOffset, completionOffset);
+ expect(request.replacementLength, 0);
+ assertNoSuggestions();
+ }
+
test_export_package2() {
addPackageSource('foo', 'foo.dart', 'library foo;');
addPackageSource('foo', 'baz/too.dart', 'library too;');
@@ -196,6 +236,16 @@ class UriContributorTest extends AbstractCompletionTest {
csKind: CompletionSuggestionKind.IMPORT);
}
+ test_import_package2_raw() {
+ addPackageSource('foo', 'foo.dart', 'library foo;');
+ addPackageSource('foo', 'baz/too.dart', 'library too;');
+ addPackageSource('bar', 'bar.dart', 'library bar;');
+ addTestSource('import r"package:foo/baz/^" import');
+ computeFast();
+ assertSuggest('package:foo/baz/too.dart',
+ csKind: CompletionSuggestionKind.IMPORT);
+ }
+
test_import_package_missing_lib() {
var pkgSrc = addPackageSource('bar', 'bar.dart', 'library bar;');
provider.deleteFolder(dirname(pkgSrc.fullName));
@@ -208,6 +258,34 @@ class UriContributorTest extends AbstractCompletionTest {
assertNotSuggested('package:bar/bar.dart');
}
+ test_import_package_raw() {
+ addPackageSource('foo', 'foo.dart', 'library foo;');
+ addPackageSource('foo', 'baz/too.dart', 'library too;');
+ addPackageSource('bar', 'bar.dart', 'library bar;');
+ addTestSource('import r"p^" import');
+ computeFast();
+ expect(request.replacementOffset, completionOffset - 1);
+ expect(request.replacementLength, 1);
+ assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT);
+ assertSuggest('package:foo/', csKind: CompletionSuggestionKind.IMPORT);
+ assertSuggest('package:foo/foo.dart',
+ csKind: CompletionSuggestionKind.IMPORT);
+ assertSuggest('package:foo/baz/', csKind: CompletionSuggestionKind.IMPORT);
+ assertNotSuggested('package:foo/baz/too.dart');
+ assertSuggest('package:bar/', csKind: CompletionSuggestionKind.IMPORT);
+ assertSuggest('package:bar/bar.dart',
+ csKind: CompletionSuggestionKind.IMPORT);
+ }
+
+ test_import_raw() {
+ addTestSource('import r"^" import');
+ computeFast();
+ expect(request.replacementOffset, completionOffset);
+ expect(request.replacementLength, 0);
+ assertSuggest('dart:', csKind: CompletionSuggestionKind.IMPORT);
+ assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT);
+ }
+
test_outside_import() {
addTestSource('import ^"d" import');
computeFast();
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/uri_contributor.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698