56e5655353
Change-Id: Iaeb2152d47df05434ab470901900da56cae7e792 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196125 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
147 lines
2.9 KiB
Dart
147 lines
2.9 KiB
Dart
// Copyright (c) 2019, 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.
|
|
|
|
import 'package:analysis_server/lsp_protocol/protocol_generated.dart';
|
|
import 'package:test/test.dart';
|
|
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
|
import 'server_abstract.dart';
|
|
|
|
void main() {
|
|
defineReflectiveSuite(() {
|
|
defineReflectiveTests(SuperTest);
|
|
});
|
|
}
|
|
|
|
@reflectiveTest
|
|
class SuperTest extends AbstractLspAnalysisServerTest {
|
|
Future<void> test_className() async {
|
|
final content = '''
|
|
class A {}
|
|
|
|
class [[B]] extends A {}
|
|
|
|
class C^ extends B {}
|
|
''';
|
|
await initialize();
|
|
await openFile(mainFileUri, withoutMarkers(content));
|
|
final res = await getSuper(
|
|
mainFileUri,
|
|
positionFromMarker(content),
|
|
);
|
|
|
|
expect(
|
|
res,
|
|
equals(Location(
|
|
uri: mainFileUri.toString(), range: rangeFromMarkers(content))));
|
|
}
|
|
|
|
Future<void> test_insideClass() async {
|
|
final content = '''
|
|
class A {}
|
|
|
|
class [[B]] extends A {}
|
|
|
|
class C extends B {
|
|
^
|
|
}
|
|
''';
|
|
await initialize();
|
|
await openFile(mainFileUri, withoutMarkers(content));
|
|
final res = await getSuper(
|
|
mainFileUri,
|
|
positionFromMarker(content),
|
|
);
|
|
|
|
expect(
|
|
res,
|
|
equals(Location(
|
|
uri: mainFileUri.toString(), range: rangeFromMarkers(content))));
|
|
}
|
|
|
|
Future<void> test_insideMethod() async {
|
|
final content = '''
|
|
class A {
|
|
void [[foo]]() {}
|
|
}
|
|
|
|
class B extends A {}
|
|
|
|
class C extends B {
|
|
@override
|
|
void foo() {
|
|
// fo^oC
|
|
}
|
|
}
|
|
''';
|
|
await initialize();
|
|
await openFile(mainFileUri, withoutMarkers(content));
|
|
final res = await getSuper(
|
|
mainFileUri,
|
|
positionFromMarker(content),
|
|
);
|
|
|
|
expect(
|
|
res,
|
|
equals(Location(
|
|
uri: mainFileUri.toString(), range: rangeFromMarkers(content))));
|
|
}
|
|
|
|
Future<void> test_methodName() async {
|
|
final content = '''
|
|
class A {
|
|
void [[foo]]() {}
|
|
}
|
|
|
|
class B extends A {}
|
|
|
|
class C extends B {
|
|
@override
|
|
void fo^o() {
|
|
// fooC
|
|
}
|
|
}
|
|
''';
|
|
await initialize();
|
|
await openFile(mainFileUri, withoutMarkers(content));
|
|
final res = await getSuper(
|
|
mainFileUri,
|
|
positionFromMarker(content),
|
|
);
|
|
|
|
expect(
|
|
res,
|
|
equals(Location(
|
|
uri: mainFileUri.toString(), range: rangeFromMarkers(content))));
|
|
}
|
|
|
|
Future<void> test_methodReturnType() async {
|
|
final content = '''
|
|
class A {
|
|
void [[foo]]() {}
|
|
}
|
|
|
|
class B extends A {}
|
|
|
|
class C extends B {
|
|
@override
|
|
vo^id foo() {
|
|
// fooC
|
|
}
|
|
}
|
|
''';
|
|
await initialize();
|
|
await openFile(mainFileUri, withoutMarkers(content));
|
|
final res = await getSuper(
|
|
mainFileUri,
|
|
positionFromMarker(content),
|
|
);
|
|
|
|
expect(
|
|
res,
|
|
equals(Location(
|
|
uri: mainFileUri.toString(), range: rangeFromMarkers(content))));
|
|
}
|
|
}
|