Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/selection/collapse-30-expected.txt

Issue 2642393002: Import wpt@40665266227e475bc4a56884247d8c09d78dfb6a (Closed)
Patch Set: rebaseline-cl Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/selection/collapse-30-expected.txt
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/collapse-30-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/collapse-30-expected.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1bb2ff2d453200249bc2a9ba9f1b644375c62a4c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/selection/collapse-30-expected.txt
@@ -0,0 +1,4097 @@
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+This is a testharness.js-based test.
+PASS Set up range 30 [paras[0], 0, paras[0].firstChild, 7]
+PASS Set up range 31 [testDiv, 2, paras[4], 1]
+PASS Set up range 32 [testDiv, 1, paras[2].firstChild, 5]
+PASS Set up range 33 [document.documentElement, 1, document.body, 0]
+PASS Set up range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0]
+PASS Set up range 35 [document, 0, document, 1]
+PASS Set up range 36 [document, 0, document, 2]
+PASS Set up range 37 [document, 1, document, 2]
+PASS Set up range 38 [testDiv, 0, comment, 5]
+PASS Set up range 39 [paras[2].firstChild, 4, comment, 2]
+PASS Set up range 40 [paras[3], 1, comment, 8]
+PASS Set up range 41 [foreignDoc, 0, foreignDoc, 0]
+PASS Set up range 42 [foreignDoc, 1, foreignComment, 2]
+PASS Set up range 43 [foreignDoc.body, 0, foreignTextNode, 36]
+PASS Set up range 44 [xmlDoc, 0, xmlDoc, 0]
+PASS Set up range 45 [xmlDoc, 1, xmlComment, 0]
+PASS Set up range 46 [detachedTextNode, 0, detachedTextNode, 8]
+PASS Set up range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]
+PASS Set up range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]
+PASS Set up range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]
+PASS Set up range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]
+PASS Set up range 51 [detachedComment, 3, detachedComment, 4]
+PASS Set up range 52 [detachedComment, 5, detachedComment, 5]
+PASS Set up range 53 [detachedForeignComment, 0, detachedForeignComment, 1]
+PASS Set up range 54 [detachedForeignComment, 4, detachedForeignComment, 4]
+PASS Set up range 55 [detachedXmlComment, 2, detachedXmlComment, 6]
+PASS Set up range 56 [docfrag, 0, docfrag, 0]
+PASS Set up range 57 [foreignDocfrag, 0, foreignDocfrag, 0]
+PASS Set up range 58 [xmlDocfrag, 0, xmlDocfrag, 0]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 0 [paras[0].firstChild, -1]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 1 [paras[0].firstChild, 0]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 3 [paras[0].firstChild, 2]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 4 [paras[0].firstChild, 8]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 6 [paras[0].firstChild, 10]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 7 [paras[0].firstChild, 65535]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 8 [paras[1].firstChild, -1]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 14 [paras[1].firstChild, 10]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 15 [paras[1].firstChild, 65535]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 24 [document.documentElement, -1]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 28 [document.documentElement, 7]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 37 [paras[0], 2]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 40 [paras[1], 2]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 45 [document, -1]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 49 [document, 3]
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 50 [comment, -1]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 53 [comment, 96]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 59 [xmlDoc, -1]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 83 [doctype, 0]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 30 [paras[0], 0, paras[0].firstChild, 7], point 85 [doctype, 1]
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 30 [paras[0], 0, paras[0].firstChild, 7], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 31 [testDiv, 2, paras[4], 1], point 0 [paras[0].firstChild, -1]
+PASS Range 31 [testDiv, 2, paras[4], 1], point 1 [paras[0].firstChild, 0]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 31 [testDiv, 2, paras[4], 1], point 3 [paras[0].firstChild, 2]
+PASS Range 31 [testDiv, 2, paras[4], 1], point 4 [paras[0].firstChild, 8]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 31 [testDiv, 2, paras[4], 1], point 6 [paras[0].firstChild, 10]
+PASS Range 31 [testDiv, 2, paras[4], 1], point 7 [paras[0].firstChild, 65535]
+PASS Range 31 [testDiv, 2, paras[4], 1], point 8 [paras[1].firstChild, -1]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 14 [paras[1].firstChild, 10]
+PASS Range 31 [testDiv, 2, paras[4], 1], point 15 [paras[1].firstChild, 65535]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 31 [testDiv, 2, paras[4], 1], point 24 [document.documentElement, -1]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 28 [document.documentElement, 7]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 37 [paras[0], 2]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 40 [paras[1], 2]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 45 [document, -1]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 49 [document, 3]
+PASS Range 31 [testDiv, 2, paras[4], 1], point 50 [comment, -1]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 53 [comment, 96]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 59 [xmlDoc, -1]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 31 [testDiv, 2, paras[4], 1], point 83 [doctype, 0]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 31 [testDiv, 2, paras[4], 1], point 85 [doctype, 1]
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 31 [testDiv, 2, paras[4], 1], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 0 [paras[0].firstChild, -1]
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 1 [paras[0].firstChild, 0]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 3 [paras[0].firstChild, 2]
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 4 [paras[0].firstChild, 8]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 6 [paras[0].firstChild, 10]
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 7 [paras[0].firstChild, 65535]
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 8 [paras[1].firstChild, -1]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 14 [paras[1].firstChild, 10]
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 15 [paras[1].firstChild, 65535]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 24 [document.documentElement, -1]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 28 [document.documentElement, 7]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 37 [paras[0], 2]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 40 [paras[1], 2]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 45 [document, -1]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 49 [document, 3]
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 50 [comment, -1]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 53 [comment, 96]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 59 [xmlDoc, -1]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 83 [doctype, 0]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 32 [testDiv, 1, paras[2].firstChild, 5], point 85 [doctype, 1]
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 32 [testDiv, 1, paras[2].firstChild, 5], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 24 [document.documentElement, -1]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 28 [document.documentElement, 7]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 37 [paras[0], 2]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 40 [paras[1], 2]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 45 [document, -1]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 49 [document, 3]
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 50 [comment, -1]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 53 [comment, 96]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 59 [xmlDoc, -1]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 83 [doctype, 0]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 33 [document.documentElement, 1, document.body, 0], point 85 [doctype, 1]
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 33 [document.documentElement, 1, document.body, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 24 [document.documentElement, -1]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 28 [document.documentElement, 7]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 37 [paras[0], 2]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 40 [paras[1], 2]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 45 [document, -1]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 49 [document, 3]
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 50 [comment, -1]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 53 [comment, 96]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 59 [xmlDoc, -1]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 83 [doctype, 0]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 85 [doctype, 1]
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 35 [document, 0, document, 1], point 0 [paras[0].firstChild, -1]
+PASS Range 35 [document, 0, document, 1], point 1 [paras[0].firstChild, 0]
+FAIL Range 35 [document, 0, document, 1], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 35 [document, 0, document, 1], point 3 [paras[0].firstChild, 2]
+PASS Range 35 [document, 0, document, 1], point 4 [paras[0].firstChild, 8]
+FAIL Range 35 [document, 0, document, 1], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 35 [document, 0, document, 1], point 6 [paras[0].firstChild, 10]
+PASS Range 35 [document, 0, document, 1], point 7 [paras[0].firstChild, 65535]
+PASS Range 35 [document, 0, document, 1], point 8 [paras[1].firstChild, -1]
+FAIL Range 35 [document, 0, document, 1], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 35 [document, 0, document, 1], point 14 [paras[1].firstChild, 10]
+PASS Range 35 [document, 0, document, 1], point 15 [paras[1].firstChild, 65535]
+FAIL Range 35 [document, 0, document, 1], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 35 [document, 0, document, 1], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 35 [document, 0, document, 1], point 24 [document.documentElement, -1]
+FAIL Range 35 [document, 0, document, 1], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 35 [document, 0, document, 1], point 28 [document.documentElement, 7]
+FAIL Range 35 [document, 0, document, 1], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 35 [document, 0, document, 1], point 37 [paras[0], 2]
+FAIL Range 35 [document, 0, document, 1], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 35 [document, 0, document, 1], point 40 [paras[1], 2]
+FAIL Range 35 [document, 0, document, 1], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 35 [document, 0, document, 1], point 45 [document, -1]
+FAIL Range 35 [document, 0, document, 1], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 35 [document, 0, document, 1], point 49 [document, 3]
+PASS Range 35 [document, 0, document, 1], point 50 [comment, -1]
+FAIL Range 35 [document, 0, document, 1], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 35 [document, 0, document, 1], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 35 [document, 0, document, 1], point 53 [comment, 96]
+FAIL Range 35 [document, 0, document, 1], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 35 [document, 0, document, 1], point 59 [xmlDoc, -1]
+FAIL Range 35 [document, 0, document, 1], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 35 [document, 0, document, 1], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 35 [document, 0, document, 1], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 35 [document, 0, document, 1], point 83 [doctype, 0]
+FAIL Range 35 [document, 0, document, 1], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 35 [document, 0, document, 1], point 85 [doctype, 1]
+FAIL Range 35 [document, 0, document, 1], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 35 [document, 0, document, 1], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 36 [document, 0, document, 2], point 0 [paras[0].firstChild, -1]
+PASS Range 36 [document, 0, document, 2], point 1 [paras[0].firstChild, 0]
+FAIL Range 36 [document, 0, document, 2], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 36 [document, 0, document, 2], point 3 [paras[0].firstChild, 2]
+PASS Range 36 [document, 0, document, 2], point 4 [paras[0].firstChild, 8]
+FAIL Range 36 [document, 0, document, 2], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 36 [document, 0, document, 2], point 6 [paras[0].firstChild, 10]
+PASS Range 36 [document, 0, document, 2], point 7 [paras[0].firstChild, 65535]
+PASS Range 36 [document, 0, document, 2], point 8 [paras[1].firstChild, -1]
+FAIL Range 36 [document, 0, document, 2], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 14 [paras[1].firstChild, 10]
+PASS Range 36 [document, 0, document, 2], point 15 [paras[1].firstChild, 65535]
+FAIL Range 36 [document, 0, document, 2], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 36 [document, 0, document, 2], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 36 [document, 0, document, 2], point 24 [document.documentElement, -1]
+FAIL Range 36 [document, 0, document, 2], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 28 [document.documentElement, 7]
+FAIL Range 36 [document, 0, document, 2], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 36 [document, 0, document, 2], point 37 [paras[0], 2]
+FAIL Range 36 [document, 0, document, 2], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 40 [paras[1], 2]
+FAIL Range 36 [document, 0, document, 2], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 45 [document, -1]
+FAIL Range 36 [document, 0, document, 2], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 36 [document, 0, document, 2], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 49 [document, 3]
+PASS Range 36 [document, 0, document, 2], point 50 [comment, -1]
+FAIL Range 36 [document, 0, document, 2], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 53 [comment, 96]
+FAIL Range 36 [document, 0, document, 2], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 59 [xmlDoc, -1]
+FAIL Range 36 [document, 0, document, 2], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 36 [document, 0, document, 2], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 36 [document, 0, document, 2], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 36 [document, 0, document, 2], point 83 [doctype, 0]
+FAIL Range 36 [document, 0, document, 2], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 36 [document, 0, document, 2], point 85 [doctype, 1]
+FAIL Range 36 [document, 0, document, 2], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 36 [document, 0, document, 2], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 37 [document, 1, document, 2], point 0 [paras[0].firstChild, -1]
+PASS Range 37 [document, 1, document, 2], point 1 [paras[0].firstChild, 0]
+FAIL Range 37 [document, 1, document, 2], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 37 [document, 1, document, 2], point 3 [paras[0].firstChild, 2]
+PASS Range 37 [document, 1, document, 2], point 4 [paras[0].firstChild, 8]
+FAIL Range 37 [document, 1, document, 2], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 37 [document, 1, document, 2], point 6 [paras[0].firstChild, 10]
+PASS Range 37 [document, 1, document, 2], point 7 [paras[0].firstChild, 65535]
+PASS Range 37 [document, 1, document, 2], point 8 [paras[1].firstChild, -1]
+FAIL Range 37 [document, 1, document, 2], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 14 [paras[1].firstChild, 10]
+PASS Range 37 [document, 1, document, 2], point 15 [paras[1].firstChild, 65535]
+FAIL Range 37 [document, 1, document, 2], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 37 [document, 1, document, 2], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 37 [document, 1, document, 2], point 24 [document.documentElement, -1]
+FAIL Range 37 [document, 1, document, 2], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 28 [document.documentElement, 7]
+FAIL Range 37 [document, 1, document, 2], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 37 [document, 1, document, 2], point 37 [paras[0], 2]
+FAIL Range 37 [document, 1, document, 2], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 40 [paras[1], 2]
+FAIL Range 37 [document, 1, document, 2], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 45 [document, -1]
+FAIL Range 37 [document, 1, document, 2], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 37 [document, 1, document, 2], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 49 [document, 3]
+PASS Range 37 [document, 1, document, 2], point 50 [comment, -1]
+FAIL Range 37 [document, 1, document, 2], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 53 [comment, 96]
+FAIL Range 37 [document, 1, document, 2], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 59 [xmlDoc, -1]
+FAIL Range 37 [document, 1, document, 2], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 37 [document, 1, document, 2], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 37 [document, 1, document, 2], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 37 [document, 1, document, 2], point 83 [doctype, 0]
+FAIL Range 37 [document, 1, document, 2], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 37 [document, 1, document, 2], point 85 [doctype, 1]
+FAIL Range 37 [document, 1, document, 2], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 37 [document, 1, document, 2], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 38 [testDiv, 0, comment, 5], point 0 [paras[0].firstChild, -1]
+PASS Range 38 [testDiv, 0, comment, 5], point 1 [paras[0].firstChild, 0]
+FAIL Range 38 [testDiv, 0, comment, 5], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 38 [testDiv, 0, comment, 5], point 3 [paras[0].firstChild, 2]
+PASS Range 38 [testDiv, 0, comment, 5], point 4 [paras[0].firstChild, 8]
+FAIL Range 38 [testDiv, 0, comment, 5], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 38 [testDiv, 0, comment, 5], point 6 [paras[0].firstChild, 10]
+PASS Range 38 [testDiv, 0, comment, 5], point 7 [paras[0].firstChild, 65535]
+PASS Range 38 [testDiv, 0, comment, 5], point 8 [paras[1].firstChild, -1]
+FAIL Range 38 [testDiv, 0, comment, 5], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 14 [paras[1].firstChild, 10]
+PASS Range 38 [testDiv, 0, comment, 5], point 15 [paras[1].firstChild, 65535]
+FAIL Range 38 [testDiv, 0, comment, 5], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 38 [testDiv, 0, comment, 5], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 38 [testDiv, 0, comment, 5], point 24 [document.documentElement, -1]
+FAIL Range 38 [testDiv, 0, comment, 5], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 28 [document.documentElement, 7]
+FAIL Range 38 [testDiv, 0, comment, 5], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 38 [testDiv, 0, comment, 5], point 37 [paras[0], 2]
+FAIL Range 38 [testDiv, 0, comment, 5], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 40 [paras[1], 2]
+FAIL Range 38 [testDiv, 0, comment, 5], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 45 [document, -1]
+FAIL Range 38 [testDiv, 0, comment, 5], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 38 [testDiv, 0, comment, 5], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 49 [document, 3]
+PASS Range 38 [testDiv, 0, comment, 5], point 50 [comment, -1]
+FAIL Range 38 [testDiv, 0, comment, 5], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 53 [comment, 96]
+FAIL Range 38 [testDiv, 0, comment, 5], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 59 [xmlDoc, -1]
+FAIL Range 38 [testDiv, 0, comment, 5], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 38 [testDiv, 0, comment, 5], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 38 [testDiv, 0, comment, 5], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 38 [testDiv, 0, comment, 5], point 83 [doctype, 0]
+FAIL Range 38 [testDiv, 0, comment, 5], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 38 [testDiv, 0, comment, 5], point 85 [doctype, 1]
+FAIL Range 38 [testDiv, 0, comment, 5], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 38 [testDiv, 0, comment, 5], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 0 [paras[0].firstChild, -1]
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 1 [paras[0].firstChild, 0]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 3 [paras[0].firstChild, 2]
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 4 [paras[0].firstChild, 8]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 6 [paras[0].firstChild, 10]
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 7 [paras[0].firstChild, 65535]
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 8 [paras[1].firstChild, -1]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 14 [paras[1].firstChild, 10]
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 15 [paras[1].firstChild, 65535]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 24 [document.documentElement, -1]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 28 [document.documentElement, 7]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 37 [paras[0], 2]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 40 [paras[1], 2]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 45 [document, -1]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 49 [document, 3]
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 50 [comment, -1]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 53 [comment, 96]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 59 [xmlDoc, -1]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 83 [doctype, 0]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 39 [paras[2].firstChild, 4, comment, 2], point 85 [doctype, 1]
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 39 [paras[2].firstChild, 4, comment, 2], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 40 [paras[3], 1, comment, 8], point 0 [paras[0].firstChild, -1]
+PASS Range 40 [paras[3], 1, comment, 8], point 1 [paras[0].firstChild, 0]
+FAIL Range 40 [paras[3], 1, comment, 8], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 40 [paras[3], 1, comment, 8], point 3 [paras[0].firstChild, 2]
+PASS Range 40 [paras[3], 1, comment, 8], point 4 [paras[0].firstChild, 8]
+FAIL Range 40 [paras[3], 1, comment, 8], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 40 [paras[3], 1, comment, 8], point 6 [paras[0].firstChild, 10]
+PASS Range 40 [paras[3], 1, comment, 8], point 7 [paras[0].firstChild, 65535]
+PASS Range 40 [paras[3], 1, comment, 8], point 8 [paras[1].firstChild, -1]
+FAIL Range 40 [paras[3], 1, comment, 8], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 14 [paras[1].firstChild, 10]
+PASS Range 40 [paras[3], 1, comment, 8], point 15 [paras[1].firstChild, 65535]
+FAIL Range 40 [paras[3], 1, comment, 8], point 16 [detachedPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 17 [detachedPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 18 [detachedPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Opqrstuv" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 40 [paras[3], 1, comment, 8], point 20 [foreignPara1.firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 21 [foreignPara1.firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 22 [foreignPara1.firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Efghijkl" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 40 [paras[3], 1, comment, 8], point 24 [document.documentElement, -1]
+FAIL Range 40 [paras[3], 1, comment, 8], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 28 [document.documentElement, 7]
+FAIL Range 40 [paras[3], 1, comment, 8], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 31 [foreignDoc.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 32 [foreignDoc.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 33 [foreignDoc.head, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title></title></head> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 34 [foreignDoc.body, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 40 [paras[3], 1, comment, 8], point 37 [paras[0], 2]
+FAIL Range 40 [paras[3], 1, comment, 8], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 40 [paras[1], 2]
+FAIL Range 40 [paras[3], 1, comment, 8], point 41 [detachedPara1, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 42 [detachedPara1, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 45 [document, -1]
+FAIL Range 40 [paras[3], 1, comment, 8], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 40 [paras[3], 1, comment, 8], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 49 [document, 3]
+PASS Range 40 [paras[3], 1, comment, 8], point 50 [comment, -1]
+FAIL Range 40 [paras[3], 1, comment, 8], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 53 [comment, 96]
+FAIL Range 40 [paras[3], 1, comment, 8], point 54 [foreignDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 55 [foreignDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 3 children but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 56 [foreignComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 57 [foreignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 58 [foreignTextNode, 36] assert_equals: focusNode must equal the node we collapse()d to expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 59 [xmlDoc, -1]
+FAIL Range 40 [paras[3], 1, comment, 8], point 60 [xmlDoc, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 61 [xmlDoc, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 4 children but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 40 [paras[3], 1, comment, 8], point 63 [xmlComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 64 [xmlComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 65 [processingInstruction, 0] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 66 [processingInstruction, 5] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 67 [processingInstruction, 9] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 68 [detachedTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 69 [detachedTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Uvwxyzab" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 70 [detachedForeignTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 71 [detachedForeignTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Cdefghij" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 72 [detachedXmlTextNode, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 73 [detachedXmlTextNode, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Klmnopqr" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 74 [detachedProcessingInstruction, 12] assert_equals: focusNode must equal the node we collapse()d to expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 75 [detachedComment, 3] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 76 [detachedComment, 5] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 77 [detachedForeignComment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 78 [detachedForeignComment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 79 [detachedXmlComment, 2] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 80 [docfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 81 [foreignDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+FAIL Range 40 [paras[3], 1, comment, 8], point 82 [xmlDocfrag, 0] assert_equals: focusNode must equal the node we collapse()d to expected DocumentFragment node with 0 children but got Text node "Qrstuvwx"
+PASS Range 40 [paras[3], 1, comment, 8], point 83 [doctype, 0]
+FAIL Range 40 [paras[3], 1, comment, 8], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 40 [paras[3], 1, comment, 8], point 85 [doctype, 1]
+FAIL Range 40 [paras[3], 1, comment, 8], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 40 [paras[3], 1, comment, 8], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 24 [document.documentElement, -1]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 28 [document.documentElement, 7]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 37 [paras[0], 2]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 40 [paras[1], 2]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 45 [document, -1]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 49 [document, 3]
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 50 [comment, -1]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 53 [comment, 96]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 59 [xmlDoc, -1]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 83 [doctype, 0]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 41 [foreignDoc, 0, foreignDoc, 0], point 85 [doctype, 1]
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 41 [foreignDoc, 0, foreignDoc, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 0 [paras[0].firstChild, -1]
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 1 [paras[0].firstChild, 0]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 3 [paras[0].firstChild, 2]
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 4 [paras[0].firstChild, 8]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 6 [paras[0].firstChild, 10]
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 7 [paras[0].firstChild, 65535]
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 8 [paras[1].firstChild, -1]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 14 [paras[1].firstChild, 10]
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 15 [paras[1].firstChild, 65535]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 24 [document.documentElement, -1]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 28 [document.documentElement, 7]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 37 [paras[0], 2]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 40 [paras[1], 2]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 45 [document, -1]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 49 [document, 3]
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 50 [comment, -1]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 53 [comment, 96]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 59 [xmlDoc, -1]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 83 [doctype, 0]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 42 [foreignDoc, 1, foreignComment, 2], point 85 [doctype, 1]
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 42 [foreignDoc, 1, foreignComment, 2], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 0 [paras[0].firstChild, -1]
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 1 [paras[0].firstChild, 0]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 3 [paras[0].firstChild, 2]
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 4 [paras[0].firstChild, 8]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 6 [paras[0].firstChild, 10]
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 7 [paras[0].firstChild, 65535]
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 8 [paras[1].firstChild, -1]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 14 [paras[1].firstChild, 10]
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 15 [paras[1].firstChild, 65535]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 24 [document.documentElement, -1]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 28 [document.documentElement, 7]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 37 [paras[0], 2]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 40 [paras[1], 2]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 45 [document, -1]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 49 [document, 3]
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 50 [comment, -1]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 53 [comment, 96]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 59 [xmlDoc, -1]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 83 [doctype, 0]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 85 [doctype, 1]
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 43 [foreignDoc.body, 0, foreignTextNode, 36], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 24 [document.documentElement, -1]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 28 [document.documentElement, 7]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 37 [paras[0], 2]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 40 [paras[1], 2]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 45 [document, -1]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 49 [document, 3]
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 50 [comment, -1]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 53 [comment, 96]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 59 [xmlDoc, -1]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 83 [doctype, 0]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 44 [xmlDoc, 0, xmlDoc, 0], point 85 [doctype, 1]
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 44 [xmlDoc, 0, xmlDoc, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 24 [document.documentElement, -1]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 28 [document.documentElement, 7]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 37 [paras[0], 2]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 40 [paras[1], 2]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 45 [document, -1]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 49 [document, 3]
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 50 [comment, -1]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 53 [comment, 96]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 59 [xmlDoc, -1]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 83 [doctype, 0]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 45 [xmlDoc, 1, xmlComment, 0], point 85 [doctype, 1]
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 45 [xmlDoc, 1, xmlComment, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 0 [paras[0].firstChild, -1]
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 1 [paras[0].firstChild, 0]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 3 [paras[0].firstChild, 2]
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 4 [paras[0].firstChild, 8]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 6 [paras[0].firstChild, 10]
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 7 [paras[0].firstChild, 65535]
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 8 [paras[1].firstChild, -1]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 14 [paras[1].firstChild, 10]
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 15 [paras[1].firstChild, 65535]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 24 [document.documentElement, -1]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 28 [document.documentElement, 7]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 37 [paras[0], 2]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 40 [paras[1], 2]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 45 [document, -1]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 49 [document, 3]
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 50 [comment, -1]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 53 [comment, 96]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 59 [xmlDoc, -1]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 83 [doctype, 0]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 85 [doctype, 1]
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 46 [detachedTextNode, 0, detachedTextNode, 8], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 0 [paras[0].firstChild, -1]
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 1 [paras[0].firstChild, 0]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 3 [paras[0].firstChild, 2]
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 4 [paras[0].firstChild, 8]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 6 [paras[0].firstChild, 10]
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 7 [paras[0].firstChild, 65535]
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 8 [paras[1].firstChild, -1]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 14 [paras[1].firstChild, 10]
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 15 [paras[1].firstChild, 65535]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 24 [document.documentElement, -1]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 28 [document.documentElement, 7]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 37 [paras[0], 2]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 40 [paras[1], 2]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 45 [document, -1]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 49 [document, 3]
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 50 [comment, -1]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 53 [comment, 96]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 59 [xmlDoc, -1]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 83 [doctype, 0]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 85 [doctype, 1]
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 47 [detachedForeignTextNode, 7, detachedForeignTextNode, 7], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 0 [paras[0].firstChild, -1]
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 1 [paras[0].firstChild, 0]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 3 [paras[0].firstChild, 2]
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 4 [paras[0].firstChild, 8]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 6 [paras[0].firstChild, 10]
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 7 [paras[0].firstChild, 65535]
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 8 [paras[1].firstChild, -1]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 14 [paras[1].firstChild, 10]
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 15 [paras[1].firstChild, 65535]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 24 [document.documentElement, -1]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 28 [document.documentElement, 7]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 37 [paras[0], 2]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 40 [paras[1], 2]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 45 [document, -1]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 49 [document, 3]
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 50 [comment, -1]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 53 [comment, 96]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 59 [xmlDoc, -1]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 83 [doctype, 0]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 85 [doctype, 1]
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 48 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 0 [paras[0].firstChild, -1]
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 1 [paras[0].firstChild, 0]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 3 [paras[0].firstChild, 2]
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 4 [paras[0].firstChild, 8]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 6 [paras[0].firstChild, 10]
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 7 [paras[0].firstChild, 65535]
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 8 [paras[1].firstChild, -1]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 14 [paras[1].firstChild, 10]
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 15 [paras[1].firstChild, 65535]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 24 [document.documentElement, -1]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 28 [document.documentElement, 7]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 37 [paras[0], 2]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 40 [paras[1], 2]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 45 [document, -1]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 49 [document, 3]
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 50 [comment, -1]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 53 [comment, 96]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 59 [xmlDoc, -1]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 83 [doctype, 0]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 85 [doctype, 1]
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 49 [detachedXmlTextNode, 7, detachedXmlTextNode, 7], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 0 [paras[0].firstChild, -1]
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 1 [paras[0].firstChild, 0]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 3 [paras[0].firstChild, 2]
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 4 [paras[0].firstChild, 8]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 6 [paras[0].firstChild, 10]
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 7 [paras[0].firstChild, 65535]
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 8 [paras[1].firstChild, -1]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 14 [paras[1].firstChild, 10]
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 15 [paras[1].firstChild, 65535]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 24 [document.documentElement, -1]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 28 [document.documentElement, 7]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 37 [paras[0], 2]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 40 [paras[1], 2]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 45 [document, -1]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 49 [document, 3]
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 50 [comment, -1]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 53 [comment, 96]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 59 [xmlDoc, -1]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 83 [doctype, 0]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 85 [doctype, 1]
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 50 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 0 [paras[0].firstChild, -1]
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 1 [paras[0].firstChild, 0]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 3 [paras[0].firstChild, 2]
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 4 [paras[0].firstChild, 8]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 6 [paras[0].firstChild, 10]
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 7 [paras[0].firstChild, 65535]
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 8 [paras[1].firstChild, -1]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 14 [paras[1].firstChild, 10]
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 15 [paras[1].firstChild, 65535]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 24 [document.documentElement, -1]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 28 [document.documentElement, 7]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 37 [paras[0], 2]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 40 [paras[1], 2]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 45 [document, -1]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 49 [document, 3]
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 50 [comment, -1]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 53 [comment, 96]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 59 [xmlDoc, -1]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 83 [doctype, 0]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 51 [detachedComment, 3, detachedComment, 4], point 85 [doctype, 1]
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 51 [detachedComment, 3, detachedComment, 4], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 0 [paras[0].firstChild, -1]
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 1 [paras[0].firstChild, 0]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 3 [paras[0].firstChild, 2]
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 4 [paras[0].firstChild, 8]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 6 [paras[0].firstChild, 10]
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 7 [paras[0].firstChild, 65535]
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 8 [paras[1].firstChild, -1]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 14 [paras[1].firstChild, 10]
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 15 [paras[1].firstChild, 65535]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 24 [document.documentElement, -1]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 28 [document.documentElement, 7]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 37 [paras[0], 2]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 40 [paras[1], 2]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 45 [document, -1]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 49 [document, 3]
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 50 [comment, -1]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 53 [comment, 96]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 59 [xmlDoc, -1]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 83 [doctype, 0]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 52 [detachedComment, 5, detachedComment, 5], point 85 [doctype, 1]
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 52 [detachedComment, 5, detachedComment, 5], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 0 [paras[0].firstChild, -1]
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 1 [paras[0].firstChild, 0]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 3 [paras[0].firstChild, 2]
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 4 [paras[0].firstChild, 8]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 6 [paras[0].firstChild, 10]
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 7 [paras[0].firstChild, 65535]
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 8 [paras[1].firstChild, -1]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 14 [paras[1].firstChild, 10]
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 15 [paras[1].firstChild, 65535]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 24 [document.documentElement, -1]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 28 [document.documentElement, 7]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 37 [paras[0], 2]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 40 [paras[1], 2]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 45 [document, -1]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 49 [document, 3]
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 50 [comment, -1]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 53 [comment, 96]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 59 [xmlDoc, -1]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 83 [doctype, 0]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 85 [doctype, 1]
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 53 [detachedForeignComment, 0, detachedForeignComment, 1], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 0 [paras[0].firstChild, -1]
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 1 [paras[0].firstChild, 0]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 3 [paras[0].firstChild, 2]
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 4 [paras[0].firstChild, 8]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 6 [paras[0].firstChild, 10]
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 7 [paras[0].firstChild, 65535]
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 8 [paras[1].firstChild, -1]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 14 [paras[1].firstChild, 10]
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 15 [paras[1].firstChild, 65535]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 24 [document.documentElement, -1]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 28 [document.documentElement, 7]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 37 [paras[0], 2]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 40 [paras[1], 2]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 45 [document, -1]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 49 [document, 3]
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 50 [comment, -1]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 53 [comment, 96]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 59 [xmlDoc, -1]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 83 [doctype, 0]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 85 [doctype, 1]
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 54 [detachedForeignComment, 4, detachedForeignComment, 4], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 0 [paras[0].firstChild, -1]
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 1 [paras[0].firstChild, 0]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 3 [paras[0].firstChild, 2]
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 4 [paras[0].firstChild, 8]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 6 [paras[0].firstChild, 10]
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 7 [paras[0].firstChild, 65535]
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 8 [paras[1].firstChild, -1]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 14 [paras[1].firstChild, 10]
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 15 [paras[1].firstChild, 65535]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 24 [document.documentElement, -1]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 28 [document.documentElement, 7]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 37 [paras[0], 2]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 40 [paras[1], 2]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 45 [document, -1]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 49 [document, 3]
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 50 [comment, -1]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 53 [comment, 96]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 59 [xmlDoc, -1]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 83 [doctype, 0]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 85 [doctype, 1]
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 55 [detachedXmlComment, 2, detachedXmlComment, 6], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 56 [docfrag, 0, docfrag, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 56 [docfrag, 0, docfrag, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 56 [docfrag, 0, docfrag, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 56 [docfrag, 0, docfrag, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 56 [docfrag, 0, docfrag, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 56 [docfrag, 0, docfrag, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 56 [docfrag, 0, docfrag, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 56 [docfrag, 0, docfrag, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 56 [docfrag, 0, docfrag, 0], point 24 [document.documentElement, -1]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 28 [document.documentElement, 7]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 37 [paras[0], 2]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 40 [paras[1], 2]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 45 [document, -1]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 49 [document, 3]
+PASS Range 56 [docfrag, 0, docfrag, 0], point 50 [comment, -1]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 56 [docfrag, 0, docfrag, 0], point 53 [comment, 96]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 56 [docfrag, 0, docfrag, 0], point 59 [xmlDoc, -1]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 56 [docfrag, 0, docfrag, 0], point 83 [doctype, 0]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 56 [docfrag, 0, docfrag, 0], point 85 [doctype, 1]
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 56 [docfrag, 0, docfrag, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 24 [document.documentElement, -1]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 28 [document.documentElement, 7]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 37 [paras[0], 2]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 40 [paras[1], 2]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 45 [document, -1]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 49 [document, 3]
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 50 [comment, -1]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 53 [comment, 96]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 59 [xmlDoc, -1]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 83 [doctype, 0]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 85 [doctype, 1]
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 57 [foreignDocfrag, 0, foreignDocfrag, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 0 [paras[0].firstChild, -1]
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 1 [paras[0].firstChild, 0]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must equal the offset we collapse()d to expected 1 but got 2
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 3 [paras[0].firstChild, 2]
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 4 [paras[0].firstChild, 8]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must equal the offset we collapse()d to expected 9 but got 10
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 6 [paras[0].firstChild, 10]
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 7 [paras[0].firstChild, 65535]
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 8 [paras[1].firstChild, -1]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 9 [paras[1].firstChild, 0] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 10 [paras[1].firstChild, 1] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 11 [paras[1].firstChild, 2] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 12 [paras[1].firstChild, 8] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 13 [paras[1].firstChild, 9] assert_equals: focusNode must equal the node we collapse()d to expected Text node "Ijklmnop
+" but got Text node "Qrstuvwx"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 14 [paras[1].firstChild, 10]
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 15 [paras[1].firstChild, 65535]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 16 [detachedPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 17 [detachedPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 18 [detachedPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 19 [detachedPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 20 [foreignPara1.firstChild, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 21 [foreignPara1.firstChild, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 22 [foreignPara1.firstChild, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 23 [foreignPara1.firstChild, 9] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 24 [document.documentElement, -1]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 25 [document.documentElement, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 26 [document.documentElement, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 27 [document.documentElement, 2] assert_equals: focusNode must equal the node we collapse()d to expected Element node <html><head><title>Selection.collapse() tests</title>
+<me... but got Text node "Qrstuvwx"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 28 [document.documentElement, 7]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 29 [document.head, 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <head><title>Selection.collapse() tests</title>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 30 [document.body, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id... but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 31 [foreignDoc.documentElement, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 32 [foreignDoc.documentElement, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 33 [foreignDoc.head, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 34 [foreignDoc.body, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 35 [paras[0], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 36 [paras[0], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 37 [paras[0], 2]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 38 [paras[1], 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 39 [paras[1], 1] assert_equals: focusNode must equal the node we collapse()d to expected Element node <p id="b" style="display:none">Ijklmnop
+</p> but got Text node "Qrstuvwx"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 40 [paras[1], 2]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 41 [detachedPara1, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 42 [detachedPara1, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 43 [testDiv, 0] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 44 [testDiv, 3] assert_equals: focusNode must equal the node we collapse()d to expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Qrstuvwx"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 45 [document, -1]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 46 [document, 0] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 47 [document, 1] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 48 [document, 2] assert_equals: focusNode must equal the node we collapse()d to expected Document node with 2 children but got Text node "Qrstuvwx"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 49 [document, 3]
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 50 [comment, -1]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 51 [comment, 0] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 52 [comment, 4] assert_equals: focusNode must equal the node we collapse()d to expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 53 [comment, 96]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 54 [foreignDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 55 [foreignDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 56 [foreignComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 57 [foreignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 58 [foreignTextNode, 36] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 59 [xmlDoc, -1]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 60 [xmlDoc, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 61 [xmlDoc, 1] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 62 [xmlDoc, 5] assert_throws: Must throw INDEX_SIZE_ERR when collapse()ing if the offset is negative or greater than the node's length function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 63 [xmlComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 64 [xmlComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 65 [processingInstruction, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 66 [processingInstruction, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 67 [processingInstruction, 9] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 68 [detachedTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 69 [detachedTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 70 [detachedForeignTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 71 [detachedForeignTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 72 [detachedXmlTextNode, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 73 [detachedXmlTextNode, 8] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 74 [detachedProcessingInstruction, 12] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 75 [detachedComment, 3] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 76 [detachedComment, 5] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 77 [detachedForeignComment, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 78 [detachedForeignComment, 4] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 79 [detachedXmlComment, 2] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 80 [docfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 81 [foreignDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 82 [xmlDocfrag, 0] assert_equals: selection.rangeCount must equal 1 after collapse() expected 1 but got 0
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 83 [doctype, 0]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 84 [doctype, -17] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" threw object "IndexSizeError: Failed to execute 'collapse' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24
+PASS Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 85 [doctype, 1]
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 86 [foreignDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+FAIL Range 58 [xmlDocfrag, 0, xmlDocfrag, 0], point 87 [xmlDoctype, 0] assert_throws: Must throw INVALID_NODE_TYPE_ERR when collapse()ing if the node is a DocumentType function "function () {
+ selection.collapse(point[0], point[1]);
+ }" did not throw
+Harness: the test ran to completion.
+

Powered by Google App Engine
This is Rietveld 408576698