| Index: LayoutTests/fast/dom/XMLSerializer-attribute-entities.html
|
| diff --git a/LayoutTests/fast/dom/XMLSerializer-attribute-entities.html b/LayoutTests/fast/dom/XMLSerializer-attribute-entities.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e5a89cde3e02765f1131c3d305c789bd3a0acfdf
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/XMLSerializer-attribute-entities.html
|
| @@ -0,0 +1,23 @@
|
| +<!DOCTYPE html>
|
| +<script src="../../resources/js-test.js"></script>
|
| +
|
| +<script>
|
| +description('Test that XMLSerializer quotes the attribute characters specified in <a href="https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#dfn-concept-serialize-xml-attributes">the W3C spec</a>.');
|
| +
|
| +var attrValue = '< > & " \' \xA0';
|
| +
|
| +// HTML case.
|
| +// DOM parsing and serialization defers to the HTML specification: http://www.w3.org/html/wg/drafts/html/master/syntax.html#attribute's-serialized-name
|
| +// Steps 1-3 under the "Escaping a string" heading are relevant to attributes.
|
| +window.htmlElement = document.createElement('div');
|
| +htmlElement.setAttribute('quoteme', attrValue);
|
| +shouldBe('htmlElement.outerHTML', '"<div quoteme=\\"< > & " \' \\"><' + '/div>"');
|
| +
|
| +// XML case.
|
| +// DOM parsing and serialization: https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#dfn-concept-serialize-xml-attributes
|
| +// Step 2 substep 4 is relevant to attributes.
|
| +var xmlDocument = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
|
| +window.xmlElement = xmlDocument.createElement('div');
|
| +xmlElement.setAttribute('quoteme', attrValue);
|
| +shouldBe('(new XMLSerializer()).serializeToString(xmlElement)', '"<div xmlns=\\"http://www.w3.org/1999/xhtml\\" quoteme=\\"< > & " \' \\xA0\\"><' + '/div>"');
|
| +</script>
|
|
|