test('create a html layout', function () { var document = new Document(); var fragment = document.createDocumentFragment(); fragment.appendChild(new Doctype()); var html = document.createElement('html'); fragment.appendChild(html); var head = document.createElement('head'); html.appendChild(head); var body = document.createElement('body'); html.appendChild(body); expect(fragment.innerHTML, '<!DOCTYPE html><html><head></head><body></body></html>'); });
test('create a html layout', () => { let document = new Document(); let fragment = document.createDocumentFragment(); fragment.appendChild(new Doctype()); let html = document.createElement('html'); fragment.appendChild(html); let head = document.createElement('head'); html.appendChild(head); let body = document.createElement('body'); html.appendChild(body); expect(fragment.innerHTML, '<!DOCTYPE html><html><head></head><body></body></html>'); });
test('appendChild DocumentFragment', function () { var parentNode = new ParentNode(); var span1 = document.createElement('span'); var span2 = document.createElement('span'); var fragment = document.createDocumentFragment(); fragment.appendChild(span1); expect(fragment.childNodes.length, 1); expect(fragment.firstChild, span1); expect(fragment.lastChild, span1); fragment.appendChild(span2); expect(fragment.childNodes.length, 2); var result = parentNode.appendChild(fragment); expect(result, fragment); expect(fragment.childNodes.length, 0); expect(parentNode.childNodes.length, 2); expect(parentNode.firstChild, span1); expect(parentNode.lastChild, span2); });
test('insertBefore fragment', function () { var parentNode = new ParentNode(); var span1 = document.createElement('span'); var span2 = document.createElement('span'); parentNode.appendChild(span1); parentNode.appendChild(span2); var fragment = document.createDocumentFragment(); var span3 = document.createElement('span'); var span4 = document.createElement('span'); fragment.appendChild(span3); fragment.appendChild(span4); var result = parentNode.insertBefore(fragment, span1); expect(result, fragment); expect(parentNode.childNodes.length, 4); expect(fragment.childNodes.length, 0); expect(parentNode.childNodes[0], span3); expect(parentNode.childNodes[1], span4); expect(parentNode.childNodes[2], span1); expect(parentNode.childNodes[3], span2); });
test('Clone documentFragment node deep', function () { var fragment = document.createDocumentFragment(); fragment.innerHTML = '<p>some node text</p><span></span>'; var copy = fragment.cloneNode(true); expect(copy.innerHTML, '<p>some node text</p><span></span>'); });