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

Unified Diff: pkg/analyzer/test/generated/resolver_test.dart

Side-by-side diff isn't available for this file because of its large size.
Issue 137143010: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 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:
Download patch
Index: pkg/analyzer/test/generated/resolver_test.dart
diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
index 7283b20d95690ee863d63318cfe934f076d3429b..40f52dbd789b96c4352cd03fcac4850165629582 100644
--- a/pkg/analyzer/test/generated/resolver_test.dart
+++ b/pkg/analyzer/test/generated/resolver_test.dart
@@ -2899,6 +2899,14 @@ class NonErrorResolverTest extends ResolverTestCase {
verify([source]);
}
+ void test_nativeFunctionBodyInNonSDKCode_function() {
+ Source source = addSource(EngineTestCase.createSource(["import 'dart-ext:x';", "int m(a) native 'string';"]));
+ resolve(source);
+ // There's no good way to fool the file system into believing that the referenced file exists,
+ // but the test still verifies that the native function body is allowed because of the import.
+ assertErrors(source, [CompileTimeErrorCode.URI_DOES_NOT_EXIST]);
+ }
+
void test_newWithAbstractClass_factory() {
Source source = addSource(EngineTestCase.createSource([
"abstract class A {",
@@ -5110,6 +5118,10 @@ class NonErrorResolverTest extends ResolverTestCase {
final __test = new NonErrorResolverTest();
runJUnitTest(__test, __test.test_multipleSuperInitializers_single);
});
+ _ut.test('test_nativeFunctionBodyInNonSDKCode_function', () {
+ final __test = new NonErrorResolverTest();
+ runJUnitTest(__test, __test.test_nativeFunctionBodyInNonSDKCode_function);
+ });
_ut.test('test_newWithAbstractClass_factory', () {
final __test = new NonErrorResolverTest();
runJUnitTest(__test, __test.test_newWithAbstractClass_factory);
@@ -11240,8 +11252,8 @@ class CompileTimeErrorCodeTest extends ResolverTestCase {
verify([source]);
}
- void test_importInternalLibrary_collection() {
- Source source = addSource(EngineTestCase.createSource(["import 'dart:_internal';"]));
+ void test_importInternalLibrary_js_helper() {
+ Source source = addSource(EngineTestCase.createSource(["import 'dart:_js_helper';"]));
resolve(source);
// Note, in these error cases we may generate an UNUSED_IMPORT hint, while we could prevent
// the hint from being generated by testing the import directive for the error, this is such a
@@ -13585,9 +13597,9 @@ class CompileTimeErrorCodeTest extends ResolverTestCase {
final __test = new CompileTimeErrorCodeTest();
runJUnitTest(__test, __test.test_importInternalLibrary);
});
- _ut.test('test_importInternalLibrary_collection', () {
+ _ut.test('test_importInternalLibrary_js_helper', () {
final __test = new CompileTimeErrorCodeTest();
- runJUnitTest(__test, __test.test_importInternalLibrary_collection);
+ runJUnitTest(__test, __test.test_importInternalLibrary_js_helper);
});
_ut.test('test_importOfNonLibrary', () {
final __test = new CompileTimeErrorCodeTest();
@@ -18839,6 +18851,11 @@ class AnalysisContextHelper {
LibraryElement libraryElement = context.computeLibraryElement(source);
return context.resolveCompilationUnit(source, libraryElement);
}
+
+ void runTasks() {
+ while (context.performAnalysisTask().changeNotices != null) {
+ }
+ }
}
class ErrorResolverTest extends ResolverTestCase {
@@ -22690,6 +22707,59 @@ class SimpleResolverTest extends ResolverTestCase {
verify([source]);
}
+ void test_metadata_fieldFormalParameter() {
+ Source source = addSource(EngineTestCase.createSource([
+ "const A = null;",
+ "class C {",
+ " int f;",
+ " C(@A this.f);",
+ "}"]));
+ LibraryElement library = resolve(source);
+ JUnitTestCase.assertNotNull(library);
+ CompilationUnitElement unit = library.definingCompilationUnit;
+ JUnitTestCase.assertNotNull(unit);
+ List<ClassElement> classes = unit.types;
+ EngineTestCase.assertLength(1, classes);
+ List<ConstructorElement> constructors = classes[0].constructors;
+ EngineTestCase.assertLength(1, constructors);
+ List<ParameterElement> parameters = constructors[0].parameters;
+ EngineTestCase.assertLength(1, parameters);
+ List<ElementAnnotation> annotations = parameters[0].metadata;
+ EngineTestCase.assertLength(1, annotations);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
+ void test_metadata_function() {
+ Source source = addSource(EngineTestCase.createSource(["const A = null;", "@A f() {}"]));
+ LibraryElement library = resolve(source);
+ JUnitTestCase.assertNotNull(library);
+ CompilationUnitElement unit = library.definingCompilationUnit;
+ JUnitTestCase.assertNotNull(unit);
+ List<FunctionElement> functions = unit.functions;
+ EngineTestCase.assertLength(1, functions);
+ List<ElementAnnotation> annotations = functions[0].metadata;
+ EngineTestCase.assertLength(1, annotations);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
+ void test_metadata_functionTypedParameter() {
+ Source source = addSource(EngineTestCase.createSource(["const A = null;", "f(@A int p(int x)) {}"]));
+ LibraryElement library = resolve(source);
+ JUnitTestCase.assertNotNull(library);
+ CompilationUnitElement unit = library.definingCompilationUnit;
+ JUnitTestCase.assertNotNull(unit);
+ List<FunctionElement> functions = unit.functions;
+ EngineTestCase.assertLength(1, functions);
+ List<ParameterElement> parameters = functions[0].parameters;
+ EngineTestCase.assertLength(1, parameters);
+ List<ElementAnnotation> annotations1 = parameters[0].metadata;
+ EngineTestCase.assertLength(1, annotations1);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
void test_metadata_libraryDirective() {
Source source = addSource(EngineTestCase.createSource(["@A library lib;", "const A = null;"]));
LibraryElement library = resolve(source);
@@ -22715,6 +22785,56 @@ class SimpleResolverTest extends ResolverTestCase {
verify([source]);
}
+ void test_metadata_namedParameter() {
+ Source source = addSource(EngineTestCase.createSource(["const A = null;", "f({@A int p : 0}) {}"]));
+ LibraryElement library = resolve(source);
+ JUnitTestCase.assertNotNull(library);
+ CompilationUnitElement unit = library.definingCompilationUnit;
+ JUnitTestCase.assertNotNull(unit);
+ List<FunctionElement> functions = unit.functions;
+ EngineTestCase.assertLength(1, functions);
+ List<ParameterElement> parameters = functions[0].parameters;
+ EngineTestCase.assertLength(1, parameters);
+ List<ElementAnnotation> annotations1 = parameters[0].metadata;
+ EngineTestCase.assertLength(1, annotations1);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
+ void test_metadata_positionalParameter() {
+ Source source = addSource(EngineTestCase.createSource(["const A = null;", "f([@A int p = 0]) {}"]));
+ LibraryElement library = resolve(source);
+ JUnitTestCase.assertNotNull(library);
+ CompilationUnitElement unit = library.definingCompilationUnit;
+ JUnitTestCase.assertNotNull(unit);
+ List<FunctionElement> functions = unit.functions;
+ EngineTestCase.assertLength(1, functions);
+ List<ParameterElement> parameters = functions[0].parameters;
+ EngineTestCase.assertLength(1, parameters);
+ List<ElementAnnotation> annotations1 = parameters[0].metadata;
+ EngineTestCase.assertLength(1, annotations1);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
+ void test_metadata_simpleParameter() {
+ Source source = addSource(EngineTestCase.createSource(["const A = null;", "f(@A p1, @A int p2) {}"]));
+ LibraryElement library = resolve(source);
+ JUnitTestCase.assertNotNull(library);
+ CompilationUnitElement unit = library.definingCompilationUnit;
+ JUnitTestCase.assertNotNull(unit);
+ List<FunctionElement> functions = unit.functions;
+ EngineTestCase.assertLength(1, functions);
+ List<ParameterElement> parameters = functions[0].parameters;
+ EngineTestCase.assertLength(2, parameters);
+ List<ElementAnnotation> annotations1 = parameters[0].metadata;
+ EngineTestCase.assertLength(1, annotations1);
+ List<ElementAnnotation> annotations2 = parameters[1].metadata;
+ EngineTestCase.assertLength(1, annotations2);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
void test_method_fromMixin() {
Source source = addSource(EngineTestCase.createSource([
"class B {",
@@ -23011,6 +23131,18 @@ class SimpleResolverTest extends ResolverTestCase {
final __test = new SimpleResolverTest();
runJUnitTest(__test, __test.test_metadata_field);
});
+ _ut.test('test_metadata_fieldFormalParameter', () {
+ final __test = new SimpleResolverTest();
+ runJUnitTest(__test, __test.test_metadata_fieldFormalParameter);
+ });
+ _ut.test('test_metadata_function', () {
+ final __test = new SimpleResolverTest();
+ runJUnitTest(__test, __test.test_metadata_function);
+ });
+ _ut.test('test_metadata_functionTypedParameter', () {
+ final __test = new SimpleResolverTest();
+ runJUnitTest(__test, __test.test_metadata_functionTypedParameter);
+ });
_ut.test('test_metadata_libraryDirective', () {
final __test = new SimpleResolverTest();
runJUnitTest(__test, __test.test_metadata_libraryDirective);
@@ -23019,6 +23151,18 @@ class SimpleResolverTest extends ResolverTestCase {
final __test = new SimpleResolverTest();
runJUnitTest(__test, __test.test_metadata_method);
});
+ _ut.test('test_metadata_namedParameter', () {
+ final __test = new SimpleResolverTest();
+ runJUnitTest(__test, __test.test_metadata_namedParameter);
+ });
+ _ut.test('test_metadata_positionalParameter', () {
+ final __test = new SimpleResolverTest();
+ runJUnitTest(__test, __test.test_metadata_positionalParameter);
+ });
+ _ut.test('test_metadata_simpleParameter', () {
+ final __test = new SimpleResolverTest();
+ runJUnitTest(__test, __test.test_metadata_simpleParameter);
+ });
_ut.test('test_methodCascades', () {
final __test = new SimpleResolverTest();
runJUnitTest(__test, __test.test_methodCascades);

Powered by Google App Engine
This is Rietveld 408576698