Parse HTML files with keeping original attributes case.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1516073002 .
This commit is contained in:
Konstantin Shcheglov 2015-12-10 13:51:48 -08:00
parent 62656833d4
commit e94ec76865
2 changed files with 11 additions and 3 deletions

View file

@ -313,7 +313,8 @@ class ParseHtmlTask extends SourceBasedAnalysisTask {
];
outputs[LINE_INFO] = new LineInfo(<int>[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();
//

View file

@ -303,15 +303,22 @@ class ParseHtmlTaskTest extends AbstractContextTest {
<title>test page</title>
</head>
<body>
<h1>Test</h1>
<h1 myAttr='my value'>Test</h1>
</body>
</html>
''';
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];