function runtest(f,t,nosplit) { // create content
let doc = f.contentDocument; for (let i = 2; i < t.length; ++i) {
c = doc.createTextNode(t[i]);
doc.body.appendChild(c);
}
// setup selection
let sel = t[0]
let startNode = sel.startNode === undefined ? doc.body.firstChild : doc.body.childNodes[sel.startNode];
let startOffset = sel.startOffset === undefined ? 0 : sel.startOffset;
let endNode = sel.endNode === undefined ? startNode : doc.body.childNodes[sel.endNode];
let endOffset = sel.endOffset === undefined ? endNode.length : sel.endOffset;
let selection = f.contentWindow.getSelection();
let r = doc.createRange();
r.setStart(startNode, startOffset);
r.setEnd(endNode, endOffset);
selection.addRange(r);
// splitText
let split = t[1] if (!nosplit)
doc.body.childNodes[split[0]].splitText(split[1])
} function test_ref(f,t,nosplit) {
runtest(f,t,true);
} function test_split(f,t) {
runtest(f,t);
} function test_split_insert(f,t) {
runtest(f,t);
let doc = f.contentDocument;
doc.body.firstChild;
let split = t[1]
let text1 = doc.body.childNodes[split[0]]
let text2 = doc.body.childNodes[split[0]+1] if (text2.textContent.length==0) return;
let c = doc.createTextNode(text2.textContent[0]);
doc.body.insertBefore(c,text2);
let r = doc.createRange();
r.setStart(text2, 0);
r.setEnd(text2, 1);
r.deleteContents();
} function test_split_merge(f,t) {
runtest(f,t);
f.contentDocument.body.normalize();
} function test_merge(f,t) {
runtest(f,t,true);
f.contentDocument.body.normalize();
}
function createFrame(run,t) {
let f = document.createElement('iframe');
f.setAttribute('height','22');
f.setAttribute('frameborder','0');
f.setAttribute('width','200');
f.src = 'data:text/html,';
f.onload = function () { try { run(f, t); } finally { ++tests_done; } } return f;
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.