From e94ec76865f0b553fa0cb7fdcb9a4003c966d24d Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Thu, 10 Dec 2015 13:51:48 -0800 Subject: [PATCH] Parse HTML files with keeping original attributes case. R=brianwilkerson@google.com BUG= Review URL: https://codereview.chromium.org/1516073002 . --- pkg/analyzer/lib/src/task/html.dart | 3 ++- pkg/analyzer/test/src/task/html_test.dart | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pkg/analyzer/lib/src/task/html.dart b/pkg/analyzer/lib/src/task/html.dart index d8930b79da2..b6a771a8651 100644 --- a/pkg/analyzer/lib/src/task/html.dart +++ b/pkg/analyzer/lib/src/task/html.dart @@ -313,7 +313,8 @@ class ParseHtmlTask extends SourceBasedAnalysisTask { ]; outputs[LINE_INFO] = new LineInfo([0]); } else { - HtmlParser parser = new HtmlParser(content, generateSpans: true); + HtmlParser parser = new HtmlParser(content, + generateSpans: true, lowercaseAttrName: false); parser.compatMode = 'quirks'; Document document = parser.parse(); // diff --git a/pkg/analyzer/test/src/task/html_test.dart b/pkg/analyzer/test/src/task/html_test.dart index acf10a0e049..c8f1f9778b7 100644 --- a/pkg/analyzer/test/src/task/html_test.dart +++ b/pkg/analyzer/test/src/task/html_test.dart @@ -303,15 +303,22 @@ class ParseHtmlTaskTest extends AbstractContextTest { test page -

Test

+

Test

'''; AnalysisTarget target = newSource('/test.html', code); computeResult(target, HTML_DOCUMENT); expect(task, isParseHtmlTask); - expect(outputs[HTML_DOCUMENT], isNotNull); expect(outputs[HTML_DOCUMENT_ERRORS], isEmpty); + // HTML_DOCUMENT + { + Document document = outputs[HTML_DOCUMENT]; + expect(document, isNotNull); + // verify that attributes are not lower-cased + Element element = document.body.getElementsByTagName('h1').single; + expect(element.attributes['myAttr'], 'my value'); + } // LINE_INFO { LineInfo lineInfo = outputs[LINE_INFO];