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

Unified Diff: packages/analyzer/test/generated/static_warning_code_test.dart

Issue 2990843002: Removed fixed dependencies (Closed)
Patch Set: Created 3 years, 5 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
Index: packages/analyzer/test/generated/static_warning_code_test.dart
diff --git a/packages/analyzer/test/generated/static_warning_code_test.dart b/packages/analyzer/test/generated/static_warning_code_test.dart
index 3d63d3caa8f1d8e9fd68e2565250af0db87d1856..3acd138ace4abc5c03a476161297823a384a7f12 100644
--- a/packages/analyzer/test/generated/static_warning_code_test.dart
+++ b/packages/analyzer/test/generated/static_warning_code_test.dart
@@ -2,23 +2,40 @@
// 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.
-library engine.static_warning_code_test;
+library analyzer.test.generated.static_warning_code_test;
-import 'package:analyzer/src/generated/error.dart';
+import 'package:analyzer/error/error.dart';
+import 'package:analyzer/src/error/codes.dart';
+import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source_io.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'package:unittest/unittest.dart';
-import '../reflective_tests.dart';
import '../utils.dart';
-import 'resolver_test.dart';
+import 'resolver_test_case.dart';
main() {
initializeTestEnvironment();
- runReflectiveTests(StaticWarningCodeTest);
+ defineReflectiveTests(StaticWarningCodeTest);
}
@reflectiveTest
class StaticWarningCodeTest extends ResolverTestCase {
+ void fail_argumentTypeNotAssignable_tearOff_required() {
+ Source source = addSource(r'''
+class C {
+ Object/*=T*/ f/*<T>*/(Object/*=T*/ x) => x;
+}
+g(C c) {
+ var h = c.f/*<int>*/;
+ print(h('s'));
+}
+''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
+ verify([source]);
+ }
+
void fail_undefinedGetter() {
Source source = addSource(r'''
''');
@@ -964,6 +981,20 @@ class A {
verify([source]);
}
+ void test_concreteClassWithAbstractMember_noSuchMethod_interface() {
+ Source source = addSource(r'''
+class I {
+ noSuchMethod(v) => '';
+}
+class A implements I {
+ m();
+}''');
+ computeLibrarySourceErrors(source);
+ assertErrors(
+ source, [StaticWarningCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER]);
+ verify([source]);
+ }
+
void test_conflictingDartImport() {
Source source = addSource(r'''
import 'lib.dart';
@@ -979,7 +1010,8 @@ class Future {}''');
assertErrors(source, [StaticWarningCode.CONFLICTING_DART_IMPORT]);
}
- void test_conflictingInstanceGetterAndSuperclassMember_declField_direct_setter() {
+ void
+ test_conflictingInstanceGetterAndSuperclassMember_declField_direct_setter() {
Source source = addSource(r'''
class A {
static set v(x) {}
@@ -993,7 +1025,8 @@ class B extends A {
verify([source]);
}
- void test_conflictingInstanceGetterAndSuperclassMember_declGetter_direct_getter() {
+ void
+ test_conflictingInstanceGetterAndSuperclassMember_declGetter_direct_getter() {
Source source = addSource(r'''
class A {
static get v => 0;
@@ -1007,7 +1040,8 @@ class B extends A {
verify([source]);
}
- void test_conflictingInstanceGetterAndSuperclassMember_declGetter_direct_method() {
+ void
+ test_conflictingInstanceGetterAndSuperclassMember_declGetter_direct_method() {
Source source = addSource(r'''
class A {
static v() {}
@@ -1021,7 +1055,8 @@ class B extends A {
verify([source]);
}
- void test_conflictingInstanceGetterAndSuperclassMember_declGetter_direct_setter() {
+ void
+ test_conflictingInstanceGetterAndSuperclassMember_declGetter_direct_setter() {
Source source = addSource(r'''
class A {
static set v(x) {}
@@ -2305,6 +2340,24 @@ set g(String v) {}''');
verify([source]);
}
+ void test_missingEnumConstantInSwitch() {
+ Source source = addSource(r'''
+enum E { ONE, TWO, THREE, FOUR }
+bool odd(E e) {
+ switch (e) {
+ case E.ONE:
+ case E.THREE: return true;
+ }
+ return false;
+}''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source, [
+ StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH,
+ StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH
+ ]);
+ verify([source]);
+ }
+
void test_mixedReturnTypes_localFunction() {
Source source = addSource(r'''
class C {
@@ -2491,7 +2544,8 @@ class C extends A {
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_classTypeAlias_interface() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_classTypeAlias_interface() {
// 15979
Source source = addSource(r'''
abstract class M {}
@@ -2520,7 +2574,8 @@ class B = A with M;''');
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_classTypeAlias_superclass() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_classTypeAlias_superclass() {
// 15979
Source source = addSource(r'''
class M {}
@@ -2534,7 +2589,8 @@ class B = A with M;''');
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_ensureCorrectFunctionSubtypeIsUsedInImplementation() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_ensureCorrectFunctionSubtypeIsUsedInImplementation() {
// 15028
Source source = addSource(r'''
class C {
@@ -2602,7 +2658,8 @@ class C extends A {
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_method_optionalParamCount() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_method_optionalParamCount() {
// 7640
Source source = addSource(r'''
abstract class A {
@@ -2652,7 +2709,25 @@ class C extends Object with B {}''');
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_setter_and_implicitSetter() {
+ void test_nonAbstractClassInheritsAbstractMemberOne_noSuchMethod_interface() {
+ // 15979
+ Source source = addSource(r'''
+class I {
+ noSuchMethod(v) => '';
+}
+abstract class A {
+ m();
+}
+class B extends A implements I {
+}''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source,
+ [StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
+ verify([source]);
+ }
+
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_setter_and_implicitSetter() {
// test from language/override_inheritance_abstract_test_14.dart
Source source = addSource(r'''
abstract class A {
@@ -2713,7 +2788,8 @@ class C extends B {
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_variable_fromInterface_missingGetter() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_variable_fromInterface_missingGetter() {
// 16133
Source source = addSource(r'''
class I {
@@ -2728,7 +2804,8 @@ class C implements I {
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberOne_variable_fromInterface_missingSetter() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberOne_variable_fromInterface_missingSetter() {
// 16133
Source source = addSource(r'''
class I {
@@ -2772,7 +2849,8 @@ class C extends A {
verify([source]);
}
- void test_nonAbstractClassInheritsAbstractMemberTwo_variable_fromInterface_missingBoth() {
+ void
+ test_nonAbstractClassInheritsAbstractMemberTwo_variable_fromInterface_missingBoth() {
// 16133
Source source = addSource(r'''
class I {
@@ -2786,6 +2864,23 @@ class C implements I {
verify([source]);
}
+ void
+ test_nonAbstractClassInheritsAbstractMemberTwo_variable_fromMixin_missingBoth() {
+ // 26411
+ resetWithOptions(new AnalysisOptionsImpl()..enableSuperMixins = true);
+ Source source = addSource(r'''
+class A {
+ int f;
+}
+class B extends A {}
+class C extends Object with B {}
+''');
+ computeLibrarySourceErrors(source);
+ assertErrors(source,
+ [StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO]);
+ verify([source]);
+ }
+
void test_nonTypeInCatchClause_noElement() {
Source source = addSource(r'''
f() {
@@ -3158,7 +3253,8 @@ a.A f() { return null; }'''
]);
}
- void test_typeAnnotationDeferredClass_functionTypedFormalParameter_returnType() {
+ void
+ test_typeAnnotationDeferredClass_functionTypedFormalParameter_returnType() {
resolveWithErrors(<String>[
r'''
library lib1;
@@ -3493,6 +3589,12 @@ class B extends A {
assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
+ void test_undefinedIdentifierAwait_function() {
+ Source source = addSource("void a() { await; }");
+ computeLibrarySourceErrors(source);
+ assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER_AWAIT]);
+ }
+
void test_undefinedNamedParameter() {
Source source = addSource(r'''
f({a, b}) {}

Powered by Google App Engine
This is Rietveld 408576698