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

Unified Diff: pkg/analyzer/test/src/task/html_test.dart

Issue 1182303006: Re-enable and add new HTML support (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Move a private constant Created 5 years, 6 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: pkg/analyzer/test/src/task/html_test.dart
diff --git a/pkg/analyzer/test/src/task/html_test.dart b/pkg/analyzer/test/src/task/html_test.dart
index e0869d5845eef8b44403a095c1bd626efff68bf1..2b4425ebb16b55c8313ccc716ec2b4ae5dd4336e 100644
--- a/pkg/analyzer/test/src/task/html_test.dart
+++ b/pkg/analyzer/test/src/task/html_test.dart
@@ -6,6 +6,7 @@ library test.src.task.html_test;
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/task/html.dart';
+import 'package:analyzer/task/html.dart';
import 'package:analyzer/task/model.dart';
import 'package:unittest/unittest.dart';
@@ -14,29 +15,68 @@ import '../context/abstract_context.dart';
main() {
groupSep = ' | ';
+ runReflectiveTests(HtmlErrorsTaskTest);
runReflectiveTests(ParseHtmlTaskTest);
+ runReflectiveTests(ReferencedLibrariesTaskTest);
}
@reflectiveTest
-class ParseHtmlTaskTest extends AbstractContextTest {
- fail_perform() {
- fail('Could not parse the HTML');
-// AnalysisTarget target = newSource('/test.html', r'''
-//<html>
-// <head>
-// <title 'test page'/>
-// </head>
-// <body>
-// Test
-// </body>
-//</html>
-//''');
-// computeResult(target, DOCUMENT);
-// expect(task, new isInstanceOf<ParseHtmlTask>());
-// expect(outputs[DOCUMENT], isNotNull);
-// expect(outputs[DOCUMENT_ERRORS], isNotEmpty);
+class HtmlErrorsTaskTest extends AbstractContextTest {
+ test_buildInputs() {
+ Source source = newSource('/test.html');
+ Map<String, TaskInput> inputs = HtmlErrorsTask.buildInputs(source);
+ expect(inputs, isNotNull);
+ expect(
+ inputs.keys, unorderedEquals([HtmlErrorsTask.DOCUMENT_ERRORS_INPUT]));
+ }
+
+ test_constructor() {
+ Source source = newSource('/test.html');
+ HtmlErrorsTask task = new HtmlErrorsTask(context, source);
+ expect(task, isNotNull);
+ expect(task.context, context);
+ expect(task.target, source);
+ }
+
+ test_createTask() {
+ Source source = newSource('/test.html');
+ HtmlErrorsTask task = HtmlErrorsTask.createTask(context, source);
+ expect(task, isNotNull);
+ expect(task.context, context);
+ expect(task.target, source);
+ }
+
+ test_description() {
+ Source source = newSource('/test.html');
+ HtmlErrorsTask task = new HtmlErrorsTask(null, source);
+ expect(task.description, isNotNull);
+ }
+
+ test_descriptor() {
+ TaskDescriptor descriptor = HtmlErrorsTask.DESCRIPTOR;
+ expect(descriptor, isNotNull);
}
+ test_perform() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>test page</title>
+ </head>
+ <body>
+ Test
+ </body>
+</html>
+''');
+ computeResult(target, HTML_ERRORS);
+ expect(task, new isInstanceOf<HtmlErrorsTask>());
+ expect(outputs[HTML_ERRORS], isEmpty);
+ }
+}
+
+@reflectiveTest
+class ParseHtmlTaskTest extends AbstractContextTest {
test_buildInputs() {
Source source = newSource('/test.html');
Map<String, TaskInput> inputs = ParseHtmlTask.buildInputs(source);
@@ -70,4 +110,155 @@ class ParseHtmlTaskTest extends AbstractContextTest {
TaskDescriptor descriptor = ParseHtmlTask.DESCRIPTOR;
expect(descriptor, isNotNull);
}
+
+ test_perform() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>test page</title>
+ </head>
+ <body>
+ <h1 Test>
+ </body>
+</html>
+''');
+ computeResult(target, DOCUMENT);
+ expect(task, new isInstanceOf<ParseHtmlTask>());
+ expect(outputs[DOCUMENT], isNotNull);
+ expect(outputs[DOCUMENT_ERRORS], isNotEmpty);
+ }
+}
+
+@reflectiveTest
+class ReferencedLibrariesTaskTest extends AbstractContextTest {
+ test_buildInputs() {
+ Source source = newSource('/test.html');
+ Map<String, TaskInput> inputs = ReferencedLibrariesTask.buildInputs(source);
+ expect(inputs, isNotNull);
+ expect(
+ inputs.keys, unorderedEquals([ReferencedLibrariesTask.DOCUMENT_INPUT]));
+ }
+
+ test_constructor() {
+ Source source = newSource('/test.html');
+ ReferencedLibrariesTask task = new ReferencedLibrariesTask(context, source);
+ expect(task, isNotNull);
+ expect(task.context, context);
+ expect(task.target, source);
+ }
+
+ test_createTask() {
+ Source source = newSource('/test.html');
+ ReferencedLibrariesTask task =
+ ReferencedLibrariesTask.createTask(context, source);
+ expect(task, isNotNull);
+ expect(task.context, context);
+ expect(task.target, source);
+ }
+
+ test_description() {
+ Source source = newSource('/test.html');
+ ReferencedLibrariesTask task = new ReferencedLibrariesTask(null, source);
+ expect(task.description, isNotNull);
+ }
+
+ test_descriptor() {
+ TaskDescriptor descriptor = ReferencedLibrariesTask.DESCRIPTOR;
+ expect(descriptor, isNotNull);
+ }
+
+ void test_perform_embedded_source() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+<head>
+ <script type='application/dart'>
+ void buttonPressed() {}
+ </script>
+</head>
+<body>
+</body>
+</html>''');
+ computeResult(target, REFERENCED_LIBRARIES);
+ expect(task, new isInstanceOf<ReferencedLibrariesTask>());
+ expect(outputs[REFERENCED_LIBRARIES], hasLength(0));
+ }
+
+ void test_perform_empty_source_reference() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+<head>
+ <script type='application/dart' src=''/>
+</head>
+<body>
+</body>
+</html>''');
+ computeResult(target, REFERENCED_LIBRARIES);
+ expect(task, new isInstanceOf<ReferencedLibrariesTask>());
+ expect(outputs[REFERENCED_LIBRARIES], hasLength(0));
+ }
+
+ void test_perform_invalid_source_reference() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+<head>
+ <script type='application/dart' src='an;invalid:[]uri'/>
+</head>
+<body>
+</body>
+</html>''');
+ computeResult(target, REFERENCED_LIBRARIES);
+ expect(task, new isInstanceOf<ReferencedLibrariesTask>());
+ expect(outputs[REFERENCED_LIBRARIES], hasLength(0));
+ }
+
+ void test_perform_non_existing_source_reference() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+<head>
+ <script type='application/dart' src='does/not/exist.dart'/>
+</head>
+<body>
+</body>
+</html>''');
+ computeResult(target, REFERENCED_LIBRARIES);
+ expect(task, new isInstanceOf<ReferencedLibrariesTask>());
+ expect(outputs[REFERENCED_LIBRARIES], hasLength(1));
+ }
+
+ test_perform_none() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>test page</title>
+ </head>
+ <body>
+ Test
+ </body>
+</html>
+''');
+ computeResult(target, REFERENCED_LIBRARIES);
+ expect(task, new isInstanceOf<ReferencedLibrariesTask>());
+ expect(outputs[REFERENCED_LIBRARIES], isEmpty);
+ }
+
+ void test_perform_referenced_source() {
+ AnalysisTarget target = newSource('/test.html', r'''
+<!DOCTYPE html>
+<html>
+<head>
+ <script type='application/dart' src='test.dart'/>
+</head>
+<body>
+</body>
+</html>''');
+ computeResult(target, REFERENCED_LIBRARIES);
+ expect(task, new isInstanceOf<ReferencedLibrariesTask>());
+ expect(outputs[REFERENCED_LIBRARIES], hasLength(1));
+ }
}

Powered by Google App Engine
This is Rietveld 408576698