blob: 166176c4d615f26cf88e8c4fb37581724b0a8497 [file] [log] [blame]
import 'package:analyzer/src/error/codes.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'driver_resolution.dart';
import 'resolution.dart';
import 'task_resolution.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(ClassDriverResolutionTest);
defineReflectiveTests(ClassTaskResolutionTest);
});
}
@reflectiveTest
class ClassDriverResolutionTest extends DriverResolutionTest
with ClassResolutionMixin {}
abstract class ClassResolutionMixin implements ResolutionTest {
test_error_memberWithClassName_getter() async {
addTestFile(r'''
class C {
int get C => null;
}
''');
await resolveTestFile();
assertTestErrors([CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]);
}
test_error_memberWithClassName_getter_static() async {
addTestFile(r'''
class C {
static int get C => null;
}
''');
await resolveTestFile();
assertTestErrors([CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]);
var method = findNode.methodDeclaration('C =>');
expect(method.isGetter, isTrue);
expect(method.isStatic, isTrue);
assertElement(method, findElement.getter('C'));
}
test_error_memberWithClassName_setter() async {
addTestFile(r'''
class C {
set C(_) {}
}
''');
await resolveTestFile();
assertTestErrors([CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]);
}
test_error_memberWithClassName_setter_static() async {
addTestFile(r'''
class C {
static set C(_) {}
}
''');
await resolveTestFile();
assertTestErrors([CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]);
var method = findNode.methodDeclaration('C(_)');
expect(method.isSetter, isTrue);
expect(method.isStatic, isTrue);
}
}
@reflectiveTest
class ClassTaskResolutionTest extends TaskResolutionTest
with ClassResolutionMixin {}