Switch InheritanceManager2Test to DriverResolutionTest.

R=brianwilkerson@google.com

Change-Id: I21b39555f6b7975fd8e621aba80e23e4878dd2c3
Reviewed-on: https://dart-review.googlesource.com/c/78924
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov 2018-10-10 16:26:09 +00:00 committed by commit-bot@chromium.org
parent e221a6288b
commit bc4d2f5d1b

View file

@ -2,16 +2,11 @@
// 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:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/dart/element/inheritance_manager2.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../analysis/base.dart';
import '../resolution/find_element.dart';
import '../resolution/driver_resolution.dart';
main() {
defineReflectiveSuite(() {
@ -20,39 +15,36 @@ main() {
}
@reflectiveTest
class InheritanceManager2Test extends BaseAnalysisDriverTest {
AnalysisResult result;
FindElement findElement;
class InheritanceManager2Test extends DriverResolutionTest {
InheritanceManager2 manager;
TypeProvider get typeProvider =>
result.unit.declaredElement.context.typeProvider;
Future resolveTestFile() async {
result = await driver.getResult(testFile);
findElement = new FindElement(result.unit);
manager =
new InheritanceManager2(result.unit.declaredElement.context.typeSystem);
@override
Future<void> resolveTestFile() async {
await super.resolveTestFile();
manager = new InheritanceManager2(
result.unit.declaredElement.context.typeSystem,
);
}
void test_computeNode_ClassDeclaration() async {
void test_getMember_() async {
addTestFile('''
abstract class I1 {
void f(int i);
}
abstract class I2 {
void f(Object o);
}
abstract class C implements I1, I2 {}
''');
await resolveTestFile();
ClassElement c = findElement.class_('C');
FunctionType memberType =
manager.getMember(c.type, new Name(c.library.source.uri, 'f'));
expect(memberType, isNotNull);
expect(memberType.parameters, hasLength(1));
DartType parameterType = memberType.parameters[0].type;
expect(parameterType.name, 'Object');
var memberType = manager.getMember(
findElement.class_('C').type,
new Name(null, 'f'),
);
assertElementTypeString(memberType, '(Object) → void');
}
test_preferLatest_mixin() async {