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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/ranges/Range-collapse.html

Issue 1529523002: Import dom/ from web-platform-tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tweak W3CImportExpectations Created 5 years 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 unified diff | Download patch
OLDNEW
(Empty)
1 <!doctype html>
2 <title>Range.collapse() and .collapsed tests</title>
3 <link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name>
4 <meta name=timeout content=long>
5 <div id=log></div>
6 <script src=../../../../resources/testharness.js></script>
7 <script src=../../../../resources/testharnessreport.js></script>
8 <script src=../common.js></script>
9 <script>
10 "use strict";
11
12 function testCollapse(rangeEndpoints, toStart) {
13 var range;
14 if (rangeEndpoints == "detached") {
15 range = document.createRange();
16 range.detach(); // should be a no-op and therefore the following should not throw
17 range.collapse(toStart);
18 assert_equals(true, range.collapsed);
19 }
20
21 // Have to account for Ranges involving Documents!
22 var ownerDoc = rangeEndpoints[0].nodeType == Node.DOCUMENT_NODE
23 ? rangeEndpoints[0]
24 : rangeEndpoints[0].ownerDocument;
25 range = ownerDoc.createRange();
26 range.setStart(rangeEndpoints[0], rangeEndpoints[1]);
27 range.setEnd(rangeEndpoints[2], rangeEndpoints[3]);
28
29 var expectedContainer = toStart ? range.startContainer : range.endContainer;
30 var expectedOffset = toStart ? range.startOffset : range.endOffset;
31
32 assert_equals(range.collapsed, range.startContainer == range.endContainer
33 && range.startOffset == range.endOffset,
34 "collapsed must be true if and only if the start and end are equal");
35
36 if (toStart === undefined) {
37 range.collapse();
38 } else {
39 range.collapse(toStart);
40 }
41
42 assert_equals(range.startContainer, expectedContainer,
43 "Wrong startContainer");
44 assert_equals(range.endContainer, expectedContainer,
45 "Wrong endContainer");
46 assert_equals(range.startOffset, expectedOffset,
47 "Wrong startOffset");
48 assert_equals(range.endOffset, expectedOffset,
49 "Wrong endOffset");
50 assert_true(range.collapsed,
51 ".collapsed must be set after .collapsed()");
52 }
53
54 var tests = [];
55 for (var i = 0; i < testRanges.length; i++) {
56 tests.push([
57 "Range " + i + " " + testRanges[i] + ", toStart true",
58 eval(testRanges[i]),
59 true
60 ]);
61 tests.push([
62 "Range " + i + " " + testRanges[i] + ", toStart false",
63 eval(testRanges[i]),
64 false
65 ]);
66 tests.push([
67 "Range " + i + " " + testRanges[i] + ", toStart omitted",
68 eval(testRanges[i]),
69 undefined
70 ]);
71 }
72 generate_tests(testCollapse, tests);
73
74 testDiv.style.display = "none";
75 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698