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

Unified Diff: pkg/third_party/html5lib/test/parser_test.dart

Issue 814113004: Pull args, intl, logging, shelf, and source_maps out of the SDK. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Also csslib. Created 6 years 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
« no previous file with comments | « pkg/third_party/html5lib/test/parser_feature_test.dart ('k') | pkg/third_party/html5lib/test/run.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/third_party/html5lib/test/parser_test.dart
diff --git a/pkg/third_party/html5lib/test/parser_test.dart b/pkg/third_party/html5lib/test/parser_test.dart
deleted file mode 100644
index 821eb2d7ed77433ec257f61e8cba041b175b4bc8..0000000000000000000000000000000000000000
--- a/pkg/third_party/html5lib/test/parser_test.dart
+++ /dev/null
@@ -1,121 +0,0 @@
-library parser_test;
-
-import 'dart:convert';
-import 'dart:io';
-import 'package:path/path.dart' as pathos;
-import 'package:unittest/unittest.dart';
-import 'package:html5lib/dom.dart';
-import 'package:html5lib/parser.dart';
-import 'package:html5lib/parser_console.dart' as parser_console;
-import 'package:html5lib/src/inputstream.dart' as inputstream;
-import 'support.dart';
-
-// Run the parse error checks
-// TODO(jmesserly): presumably we want this on by default?
-final checkParseErrors = false;
-
-String namespaceHtml(String expected) {
- // TODO(jmesserly): this is a workaround for http://dartbug.com/2979
- // We can't do regex replace directly =\
- // final namespaceExpected = new RegExp(@"^(\s*)<(\S+)>", multiLine: true);
- // return expected.replaceAll(namespaceExpected, @"$1<html $2>");
- final namespaceExpected = new RegExp(r"^(\|\s*)<(\S+)>");
- var lines = expected.split("\n");
- for (int i = 0; i < lines.length; i++) {
- var match = namespaceExpected.firstMatch(lines[i]);
- if (match != null) {
- lines[i] = "${match[1]}<html ${match[2]}>";
- }
- }
- return lines.join("\n");
-}
-
-void runParserTest(String groupName, String innerHTML, String input,
- String expected, List errors, TreeBuilderFactory treeCtor,
- bool namespaceHTMLElements) {
-
- // XXX - move this out into the setup function
- // concatenate all consecutive character tokens into a single token
- var builder = treeCtor(namespaceHTMLElements);
- var parser = new HtmlParser(input, tree: builder);
-
- Node document;
- if (innerHTML != null) {
- document = parser.parseFragment(innerHTML);
- } else {
- document = parser.parse();
- }
-
- var output = testSerializer(document);
-
- if (namespaceHTMLElements) {
- expected = namespaceHtml(expected);
- }
-
- expect(output, equals(expected), reason:
- "\n\nInput:\n$input\n\nExpected:\n$expected\n\nReceived:\n$output");
-
- if (checkParseErrors) {
- expect(parser.errors.length, equals(errors.length), reason:
- "\n\nInput:\n$input\n\nExpected errors (${errors.length}):\n"
- "${errors.join('\n')}\n\n"
- "Actual errors (${parser.errors.length}):\n"
- "${parser.errors.map((e) => '$e').join('\n')}");
- }
-}
-
-
-void main() {
-
- test('dart:io', () {
- // ensure IO support is unregistered
- expect(inputstream.consoleSupport,
- new isInstanceOf<inputstream.ConsoleSupport>());
- var file = new File('$testDataDir/parser_feature/raw_file.html').openSync();
- expect(() => parse(file), throwsA(new isInstanceOf<ArgumentError>()));
- parser_console.useConsole();
- expect(parse(file).body.innerHtml.trim(), 'Hello world!');
- });
-
- for (var path in getDataFiles('tree-construction')) {
- if (!path.endsWith('.dat')) continue;
-
- var tests = new TestData(path, "data");
- var testName = pathos.basenameWithoutExtension(path);
-
- group(testName, () {
- int index = 0;
- for (var testData in tests) {
- var input = testData['data'];
- var errors = testData['errors'];
- var innerHTML = testData['document-fragment'];
- var expected = testData['document'];
- if (errors != null) {
- errors = errors.split("\n");
- }
-
- for (var treeCtor in treeTypes.values) {
- for (var namespaceHTMLElements in const [false, true]) {
- test(_nameFor(input), () {
- runParserTest(testName, innerHTML, input, expected, errors,
- treeCtor, namespaceHTMLElements);
- });
- }
- }
-
- index++;
- }
- });
- }
-}
-
-/// Extract the name for the test based on the test input data.
-_nameFor(String input) {
- // Using JSON.decode to unescape other unicode characters
- var escapeQuote = input
- .replaceAll(new RegExp('\\\\.'), '_')
- .replaceAll(new RegExp('\u0000'), '_')
- .replaceAll('"', '\\"')
- .replaceAll(new RegExp('[\n\r\t]'),'_');
- return JSON.decode('"$escapeQuote"');
-}
« no previous file with comments | « pkg/third_party/html5lib/test/parser_feature_test.dart ('k') | pkg/third_party/html5lib/test/run.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698