blob: 8ee4aa486f63674831842c5c4e5aceaec7e2d491 [file] [log] [blame]
scillali114c5e32015-06-10 02:05:431<!DOCTYPE HTML>
2<meta charset=utf-8>
3<html>
4 <head>
5 <title>domparsing Test: XMLSerializer.serializeToString</title>
6 <script src="/resources/testharness.js"></script>
7 <script src="/resources/testharnessreport.js"></script>
8 </head>
9 <body>
10 <h1>domparsing_XMLSerializer_serializeToString</h1>
11 <script>
tkent@chromium.orgd39b05b2017-06-19 07:57:4812function createXmlDoc(){
13 var input = '<?xml version="1.0" encoding="UTF-8"?><root><child1>value1</child1></root>';
14 var parser = new DOMParser();
15 return parser.parseFromString(input, 'text/xml');
16}
17
18test(function() {
19 var serializer = new XMLSerializer();
20 var root = createXmlDoc().documentElement;
21 var xmlString = serializer.serializeToString(root);
22 assert_equals(xmlString, '<root><child1>value1</child1></root>');
23}, 'check XMLSerializer.serializeToString method could parsing xmldoc to string');
24
25test(function() {
26 var serializer = new XMLSerializer();
27 var root = createXmlDoc().documentElement;
28 var element = root.ownerDocument.createElementNS('urn:foo', 'another');
29 var child1 = root.firstChild;
30 root.replaceChild(element, child1);
31 element.appendChild(child1);
32 var xmlString = serializer.serializeToString(root);
33 assert_equals(xmlString, '<root><another xmlns="urn:foo"><child1 xmlns="">value1</child1></another></root>');
34}, 'Check if the default namespace is correctly reset.');
Kent Tamura58a36b62017-10-06 06:27:5635
36test(function() {
37 var input = '<root xmlns="urn:bar"><outer xmlns=""><inner>value1</inner></outer></root>';
38 var root = (new DOMParser()).parseFromString(input, 'text/xml').documentElement;
39 var xmlString = (new XMLSerializer()).serializeToString(root);
40 assert_equals(xmlString, '<root xmlns="urn:bar"><outer xmlns=""><inner>value1</inner></outer></root>');
41}, 'Check if there is no redundant empty namespace declaration.');
Ashish Kulkarni0c89ee82018-02-09 18:19:3742
43test(function() {
44 var serializer = new XMLSerializer();
Ashish Kulkarnied6ed6b2018-02-17 04:07:3345 var parser = new DOMParser();
46 var root = parser.parseFromString('<root />', 'text/xml').documentElement;
47 root.setAttribute('attr', '\t');
48 assert_in_array(serializer.serializeToString(root), [
49 '<root attr="&#9;"/>', '<root attr="&#x9;"/>']);
50 root.setAttribute('attr', '\n');
51 assert_in_array(serializer.serializeToString(root), [
52 '<root attr="&#xA;"/>', '<root attr="&#10;"/>']);
53 root.setAttribute('attr', '\r');
54 assert_in_array(serializer.serializeToString(root), [
55 '<root attr="&#xD;"/>', '<root attr="&#13;"/>']);
Ashish Kulkarni0c89ee82018-02-09 18:19:3756}, 'check XMLSerializer.serializeToString escapes attribute values for roundtripping');
57
Kent Tamura58a36b62017-10-06 06:27:5658</script>
scillali114c5e32015-06-10 02:05:4359 </body>
60</html>