(html)
| 873 | * @returns {string} reconstructed html |
| 874 | */ |
| 875 | const roundtrip = (html) => { |
| 876 | /** @type {unknown[]} */ |
| 877 | const parts = []; |
| 878 | walkHtmlTokens(html, 0, { |
| 879 | openTag: (input, start, end) => { |
| 880 | parts.push(input.slice(start, end)); |
| 881 | return end; |
| 882 | }, |
| 883 | closeTag: (input, start, end) => { |
| 884 | parts.push(input.slice(start, end)); |
| 885 | return end; |
| 886 | }, |
| 887 | comment: (input, start, end) => { |
| 888 | parts.push(input.slice(start, end)); |
| 889 | return end; |
| 890 | }, |
| 891 | doctype: (input, start, end) => { |
| 892 | parts.push(input.slice(start, end)); |
| 893 | return end; |
| 894 | }, |
| 895 | text: (input, start, end) => { |
| 896 | parts.push(input.slice(start, end)); |
| 897 | return end; |
| 898 | } |
| 899 | }); |
| 900 | return parts.join(""); |
| 901 | }; |
| 902 | |
| 903 | // --- STATE_TAG_OPEN --- |
| 904 | it("tAG_OPEN: `<?xml ?>` becomes bogus comment", () => { |
no test coverage detected