diff --git a/cjs/interface/element.js b/cjs/interface/element.js index e92ea84f..34cb95ba 100644 --- a/cjs/interface/element.js +++ b/cjs/interface/element.js @@ -182,7 +182,8 @@ class Element extends ParentNode { const text = []; let {[NEXT]: next, [END]: end} = this; while (next !== end) { - if (next.nodeType === TEXT_NODE) + const nodeType = next.nodeType; + if (nodeType === TEXT_NODE || nodeType === CDATA_SECTION_NODE) text.push(next.textContent); next = next[NEXT]; } diff --git a/esm/interface/element.js b/esm/interface/element.js index 31274dc1..e7f927e1 100644 --- a/esm/interface/element.js +++ b/esm/interface/element.js @@ -184,7 +184,8 @@ export class Element extends ParentNode { const text = []; let {[NEXT]: next, [END]: end} = this; while (next !== end) { - if (next.nodeType === TEXT_NODE) + const nodeType = next.nodeType; + if (nodeType === TEXT_NODE || nodeType === CDATA_SECTION_NODE) text.push(next.textContent); next = next[NEXT]; } diff --git a/test/interface/cdata-section.js b/test/interface/cdata-section.js index 4299cb1f..4aa8e76c 100644 --- a/test/interface/cdata-section.js +++ b/test/interface/cdata-section.js @@ -8,9 +8,10 @@ let document = (new DOMParser).parseFromString('text const [cdata, text] = document.documentElement.lastChild.childNodes; assert(JSON.stringify(cdata.cloneNode()), '[4,"test"]'); - assert(JSON.stringify(text.cloneNode()), '[3,"text"]'); +assert(document.documentElement.textContent, 'testtext'); + assert(text.data, 'text'); assert(text.nodeValue, 'text'); assert(text.textContent, 'text'); @@ -34,4 +35,4 @@ document = (new DOMParser).parseFromString(' tag]]>'); document = (new DOMParser).parseFromString('', 'text/xml'); -assert(document.toString(), ''); \ No newline at end of file +assert(document.toString(), ''); diff --git a/worker.js b/worker.js index 555d9919..61fed4ce 100644 --- a/worker.js +++ b/worker.js @@ -7764,7 +7764,8 @@ let Element$1 = class Element extends ParentNode { const text = []; let {[NEXT]: next, [END]: end} = this; while (next !== end) { - if (next.nodeType === TEXT_NODE) + const nodeType = next.nodeType; + if (nodeType === TEXT_NODE || nodeType === CDATA_SECTION_NODE) text.push(next.textContent); next = next[NEXT]; }