Changeset 160978 in webkit
- Timestamp:
- Dec 22, 2013 10:03:03 AM (10 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r160945 r160978 1 2013-12-22 Mihnea Ovidenie <mihnea@adobe.com> 2 3 [CSSRegions] Clean-up selection tests a bit 4 https://bugs.webkit.org/show_bug.cgi?id=126135 5 6 Reviewed by Dirk Schulze. 7 8 Move function clearSelection in helper.js. Combine checkResult() from position-for-point* and position-for-point-1* 9 into a single function, checkSelectionResult() and move it into helper.js too. 10 11 * fast/regions/resources/helper.js: 12 * fast/regions/selection/position-for-point-1-vert-lr.html: 13 * fast/regions/selection/position-for-point-1-vert-rl.html: 14 * fast/regions/selection/position-for-point-1.html: 15 * fast/regions/selection/position-for-point-vert-lr.html: 16 * fast/regions/selection/position-for-point-vert-rl.html: 17 * fast/regions/selection/position-for-point.html: 18 * fast/regions/selection/selecting-text-through-different-region-flows.html: 19 1 20 2013-12-09 Myles C. Maxfield <mmaxfield@apple.com> 2 21 -
trunk/LayoutTests/fast/regions/resources/helper.js
r159057 r160978 268 268 function onMouseUpLogSelectionAndFocus(contentId, nodeId, offsetId) { 269 269 document.onmouseup = function() { 270 var selectedContent = document.getElementById(contentId);271 var focusNode = document.getElementById(nodeId);272 var focusOffset = document.getElementById(offsetId);273 270 var sel = window.getSelection(); 271 274 272 var node = sel['focusNode']; 275 var id = " (id: " + node.id + ")";276 if (node.nodeType == 3)277 id = " (parent id: " + node.parentNode.id + ")"; 278 focusNode.innerHTML = id + " " + sel['focusNode'] + " " + sel['focusNode'].nodeValue;279 focusOffset.innerHTML = sel['focusOffset'];280 selectedContent.innerHTML = sel.getRangeAt(0);273 // nodeType == 3 for textNode 274 var id = (node.nodeType != 3) ? " (id: " + node.id + ")" : " (parent id: " + node.parentNode.id + ")"; 275 276 document.getElementById(nodeId).innerHTML = id + " " + node + " " + node.nodeValue; 277 document.getElementById(offsetId).innerHTML = sel['focusOffset']; 278 document.getElementById(contentId).innerHTML = sel.getRangeAt(0); 281 279 } 282 280 } … … 288 286 } 289 287 } 288 289 function clearSelection() { 290 mouseClick(0, 0); 291 } 292 293 function checkSelectionResult(id, expectedSelection, expectedFocusNodeId, expectedFocusOffset) { 294 var sel = window.getSelection(); 295 296 // Check actual and expected selection 297 var actualSelectedContent = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, ""); 298 var expectedSelectedContent = expectedSelection.replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, ""); 299 var selectionComparison = (actualSelectedContent == expectedSelectedContent); 300 301 // Check actual and expected focus node 302 var focusNodeComparison = true; 303 var actualFocusNodeId; 304 if (expectedFocusNodeId != undefined) { 305 var node = sel['focusNode']; 306 // nodeType == 3 for textNode 307 actualFocusNodeId = (node.nodeType != 3) ? node.id : node.parentNode.id; 308 focusNodeComparison = (actualFocusNodeId == expectedFocusNodeId); 309 } 310 311 // Check actual and expected focus offset 312 var focusOffsetComparison = true; 313 var actualFocusOffset; 314 if (expectedFocusOffset != undefined) { 315 actualFocusOffset = sel['focusOffset']; 316 focusOffsetComparison = (actualFocusOffset == expectedFocusOffset); 317 } 318 319 var result = selectionComparison && focusNodeComparison && focusOffsetComparison; 320 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL"; 321 322 if (!result) { 323 var errorMessage = ""; 324 if (!selectionComparison) 325 errorMessage += "\nExpected selection: " + expectedSelection + "\nActual selection: " + sel.getRangeAt(0).toString(); 326 if (!focusNodeComparison) 327 errorMessage += "\nExpected focus node: " + expectedFocusNodeId + "\nActual focus node: " + actualFocusNodeId; 328 if (!focusOffsetComparison) 329 errorMessage += "\nExpected focus offset: " + expectedFocusOffset + "\nActual focus offset: " + actualFocusOffset; 330 console.log(errorMessage); 331 } 332 } -
trunk/LayoutTests/fast/regions/selection/position-for-point-1-vert-lr.html
r159057 r160978 29 29 </script> 30 30 <script> 31 function clearSelection() {32 mouseClick(0, 0);33 }34 35 function checkResult(id, content) {36 var sel = window.getSelection();37 var node = sel['focusNode'];38 var focusId = node.id;39 var selected = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");40 var result = (selected == content);41 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL";42 if (!result) {43 console.log("Selection: " + selected + "\n");44 console.log("Should be: " + content + "\n");45 }46 }47 48 31 function selectText() { 49 32 if (window.testRunner) { … … 61 44 var region2Rect = region2.getBoundingClientRect(); 62 45 63 var region1Data = region1.webkitGetRegionFlowRanges()[0].toString() .replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");64 var region2Data = region2.webkitGetRegionFlowRanges()[0].toString() .replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");46 var region1Data = region1.webkitGetRegionFlowRanges()[0].toString(); 47 var region2Data = region2.webkitGetRegionFlowRanges()[0].toString(); 65 48 66 49 clearSelection(); 67 50 68 51 selectContentByRange(region1Rect.left, region1Rect.top, region1Rect.right - 10, region1Rect.bottom); 69 check Result("result1", region1Data);52 checkSelectionResult("result1", region1Data); 70 53 71 54 clearSelection(); 72 55 73 56 selectContentByRange(region1Rect.left, region1Rect.top, region1Rect.right - 2 , region1Rect.bottom); 74 check Result("result2", region1Data);57 checkSelectionResult("result2", region1Data); 75 58 76 59 clearSelection(); 77 60 78 61 selectContentByRange(region1Rect.left, region1Rect.top, region1Rect.right, region1Rect.bottom); 79 check Result("result3", region1Data + region2Data);62 checkSelectionResult("result3", region1Data + region2Data); 80 63 81 64 clearSelection(); 82 65 83 66 selectContentByRange(outsideRect.left, outsideRect.top, outsideRect.right + 20 , outsideRect.bottom); 84 check Result("result4", region2Data);67 checkSelectionResult("result4", region2Data); 85 68 86 69 clearSelection(); 87 70 88 71 selectContentByRange(region2Rect.left, region2Rect.top, region2Rect.right - 10, region2Rect.bottom); 89 check Result("result5", region2Data);72 checkSelectionResult("result5", region2Data); 90 73 } 91 74 } -
trunk/LayoutTests/fast/regions/selection/position-for-point-1-vert-rl.html
r159057 r160978 29 29 </script> 30 30 <script> 31 function clearSelection() {32 mouseClick(0, 0);33 }34 35 function checkResult(id, content) {36 var sel = window.getSelection();37 var node = sel['focusNode'];38 var focusId = node.id;39 var selected = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");40 var result = (selected == content);41 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL";42 if (!result) {43 console.log("Selection: " + selected + "\n");44 console.log("Should be: " + content + "\n");45 }46 }47 48 31 function selectText() { 49 32 if (window.testRunner) { … … 61 44 var region2Rect = region2.getBoundingClientRect(); 62 45 63 var region1Data = region1.webkitGetRegionFlowRanges()[0].toString() .replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");64 var region2Data = region2.webkitGetRegionFlowRanges()[0].toString() .replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");46 var region1Data = region1.webkitGetRegionFlowRanges()[0].toString(); 47 var region2Data = region2.webkitGetRegionFlowRanges()[0].toString(); 65 48 66 49 clearSelection(); 67 50 68 51 selectContentByRange(region1Rect.right, region1Rect.top, region1Rect.left + 10, region1Rect.bottom); 69 check Result("result1", region1Data);52 checkSelectionResult("result1", region1Data); 70 53 71 54 clearSelection(); 72 55 73 56 selectContentByRange(region1Rect.right, region1Rect.top, region1Rect.left, region1Rect.bottom); 74 check Result("result2", region1Data);57 checkSelectionResult("result2", region1Data); 75 58 76 59 clearSelection(); 77 60 78 61 selectContentByRange(region1Rect.right, region1Rect.top, region1Rect.left - 1, region1Rect.bottom); 79 check Result("result3", region1Data + region2Data);62 checkSelectionResult("result3", region1Data + region2Data); 80 63 81 64 clearSelection(); 82 65 83 66 selectContentByRange(outsideRect.right, outsideRect.top, outsideRect.left - 20 , outsideRect.bottom); 84 check Result("result4", region2Data);67 checkSelectionResult("result4", region2Data); 85 68 86 69 clearSelection(); 87 70 88 71 selectContentByRange(region2Rect.right, region2Rect.top, region2Rect.left + 10, region2Rect.bottom); 89 check Result("result5", region2Data);72 checkSelectionResult("result5", region2Data); 90 73 } 91 74 } -
trunk/LayoutTests/fast/regions/selection/position-for-point-1.html
r159057 r160978 27 27 </script> 28 28 <script> 29 function clearSelection() {30 mouseClick(0, 0);31 }32 33 function checkResult(id, content) {34 var sel = window.getSelection();35 var node = sel['focusNode'];36 var focusId = node.id;37 var selected = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");38 var result = (selected == content);39 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL";40 if (!result) {41 console.log("Selection: " + selected + "\n");42 console.log("Should be: " + content + "\n");43 }44 }45 46 29 function selectText() { 47 30 if (window.testRunner) { … … 59 42 var region2Rect = region2.getBoundingClientRect(); 60 43 61 var region1Data = region1.webkitGetRegionFlowRanges()[0].toString() .replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");62 var region2Data = region2.webkitGetRegionFlowRanges()[0].toString() .replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, "");44 var region1Data = region1.webkitGetRegionFlowRanges()[0].toString(); 45 var region2Data = region2.webkitGetRegionFlowRanges()[0].toString(); 63 46 64 47 clearSelection(); 65 48 66 49 selectContentByRange(region1Rect.left, region1Rect.top, region1Rect.right, region1Rect.bottom - 10); 67 check Result("result1", region1Data);50 checkSelectionResult("result1", region1Data); 68 51 69 52 clearSelection(); 70 53 71 54 selectContentByRange(region1Rect.left, region1Rect.top, region1Rect.right, region1Rect.bottom - 2); 72 check Result("result2", region1Data);55 checkSelectionResult("result2", region1Data); 73 56 74 57 clearSelection(); 75 58 76 59 selectContentByRange(region1Rect.left, region1Rect.top, region1Rect.right, region1Rect.bottom); 77 check Result("result3", region1Data + region2Data);60 checkSelectionResult("result3", region1Data + region2Data); 78 61 79 62 clearSelection(); 80 63 81 64 selectContentByRange(outsideRect.left, outsideRect.top, outsideRect.right , outsideRect.bottom + 20); 82 check Result("result4", region2Data);65 checkSelectionResult("result4", region2Data); 83 66 84 67 clearSelection(); 85 68 86 69 selectContentByRange(region2Rect.left, region2Rect.top, region2Rect.right, region2Rect.bottom - 10); 87 check Result("result5", region2Data);70 checkSelectionResult("result5", region2Data); 88 71 } 89 72 } -
trunk/LayoutTests/fast/regions/selection/position-for-point-vert-lr.html
r159057 r160978 26 26 </script> 27 27 <script> 28 function clearSelection() {29 mouseClick(0, 0);30 }31 32 function checkResult(id, nodeId, offset, content) {33 var sel = window.getSelection();34 var node = sel['focusNode'];35 var focusId = node.id;36 var selected = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, " ");;37 if (node.nodeType == 3)38 focusId = node.parentNode.id;39 var result = (focusId == nodeId) && (sel['focusOffset'] == offset) && (selected == content);40 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL";41 if (!result)42 console.log("Focus: " + focusId + " offset: " + sel['focusOffset'] + " selected: " + selected);43 }44 45 28 function selectText() { 46 29 if (window.testRunner) { … … 61 44 62 45 selectContentFromIdToPosVert("word1", region1Rect.right - 10 , region1Rect.bottom); 63 check Result("result1", "word2", "5", "word1 inside region inside region inside region inside region word2");46 checkSelectionResult("result1", "word1 inside region inside region inside region inside region word2", "word2", "5"); 64 47 65 48 clearSelection(); 66 49 67 50 selectContentFromIdToPosVert("word1", region1Rect.right - 2, region1Rect.bottom); 68 check Result("result2", "word2", "5", "word1 inside region inside region inside region inside region word2");51 checkSelectionResult("result2", "word1 inside region inside region inside region inside region word2", "word2", "5"); 69 52 70 53 clearSelection(); 71 54 72 55 selectContentFromIdToPosVert("word1", region1Rect.right, region1Rect.bottom); 73 check Result("result3", "outside", "0", "word1 inside region inside region inside region inside region word2 word5 inside region inside region inside region inside region word6");56 checkSelectionResult("result3", "word1 inside region inside region inside region inside region word2 word5 inside region inside region inside region inside region word6 ", "outside", "0"); 74 57 75 58 clearSelection(); 76 59 77 60 selectContentFromIdToPosVert("word3", outsideRect.right + 20 , outsideRect.bottom); 78 check Result("result4", "word5", "0", "word5 inside region inside region inside region inside region word6");61 checkSelectionResult("result4", "word5 inside region inside region inside region inside region word6 ", "word5", "0"); 79 62 80 63 clearSelection(); 81 64 82 65 selectContentFromIdToPosVert("word5", region2Rect.right - 10, region2Rect.bottom); 83 check Result("result5", "word6", "5", "word5 inside region inside region inside region inside region word6");66 checkSelectionResult("result5", "word5 inside region inside region inside region inside region word6", "word6", "5"); 84 67 } 85 68 } -
trunk/LayoutTests/fast/regions/selection/position-for-point-vert-rl.html
r159057 r160978 26 26 </script> 27 27 <script> 28 function clearSelection() {29 mouseClick(0, 0);30 }31 32 function checkResult(id, nodeId, offset, content) {33 var sel = window.getSelection();34 var node = sel['focusNode'];35 var focusId = node.id;36 var selected = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, " ");;37 if (node.nodeType == 3)38 focusId = node.parentNode.id;39 var result = (focusId == nodeId) && (sel['focusOffset'] == offset) && (selected == content);40 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL";41 if (!result)42 console.log("Focus: " + focusId + " offset: " + sel['focusOffset'] + " selected: " + selected);43 }44 45 28 function selectText() { 46 29 if (window.testRunner) { … … 61 44 62 45 selectContentFromIdToPosVert("word1", region1Rect.left + 10, region1Rect.bottom); 63 check Result("result1", "word2", "5", "word1 inside region inside region inside region inside region word2");46 checkSelectionResult("result1", "word1 inside region inside region inside region inside region word2", "word2", "5"); 64 47 65 48 clearSelection(); 66 49 67 50 selectContentFromIdToPosVert("word1", region1Rect.left, region1Rect.bottom); 68 check Result("result2", "word2", "5", "word1 inside region inside region inside region inside region word2");51 checkSelectionResult("result2", "word1 inside region inside region inside region inside region word2", "word2", "5"); 69 52 70 53 clearSelection(); 71 54 72 55 selectContentFromIdToPosVert("word1", region1Rect.left - 1, region1Rect.bottom); 73 check Result("result3", "outside", "0", "word1 inside region inside region inside region inside region word2 word5 inside region inside region inside region inside region word6");56 checkSelectionResult("result3", "word1 inside region inside region inside region inside region word2 word5 inside region inside region inside region inside region word6 ", "outside", "0"); 74 57 75 58 clearSelection(); 76 59 77 60 selectContentFromIdToPosVert("word3", outsideRect.left - 20, outsideRect.bottom); 78 check Result("result4", "word5", "0", "word5 inside region inside region inside region inside region word6");61 checkSelectionResult("result4", "word5 inside region inside region inside region inside region word6 ", "word5", "0"); 79 62 80 63 clearSelection(); 81 64 82 65 selectContentFromIdToPosVert("word5", region2Rect.left, region2Rect.bottom); 83 check Result("result5", "word6", "5", "word5 inside region inside region inside region inside region word6");66 checkSelectionResult("result5", "word5 inside region inside region inside region inside region word6", "word6", "5"); 84 67 } 85 68 } -
trunk/LayoutTests/fast/regions/selection/position-for-point.html
r159057 r160978 25 25 </script> 26 26 <script> 27 function clearSelection() {28 mouseClick(0, 0);29 }30 31 function checkResult(id, nodeId, offset, content) {32 var sel = window.getSelection();33 var node = sel['focusNode'];34 var focusId = node.id;35 var selected = sel.getRangeAt(0).toString().replace(/(\r\n|\n|\r)/gm,"").replace(/\s+/gm, " ");;36 if (node.nodeType == 3)37 focusId = node.parentNode.id;38 var result = (focusId == nodeId) && (sel['focusOffset'] == offset) && (selected == content);39 document.getElementById(id).innerHTML = result ? "PASS" : "FAIL";40 if (!result) {41 console.log("Focus: " + focusId + " offset: " + sel['focusOffset'] + " selected: " + selected + "\n");42 }43 }44 45 27 function selectText() { 46 28 if (window.testRunner) { … … 61 43 62 44 selectContentFromIdToPos("word1", region1Rect.right, region1Rect.bottom - 10); 63 check Result("result1", "word2", "5", "word1 inside region inside region inside region inside region word2");45 checkSelectionResult("result1", "word1 inside region inside region inside region inside region word2", "word2", "5"); 64 46 65 47 clearSelection(); 66 48 67 49 selectContentFromIdToPos("word1", region1Rect.right, region1Rect.bottom - 2); 68 check Result("result2", "word2", "5", "word1 inside region inside region inside region inside region word2");50 checkSelectionResult("result2", "word1 inside region inside region inside region inside region word2", "word2", "5"); 69 51 70 52 clearSelection(); 71 53 72 54 selectContentFromIdToPos("word1", region1Rect.right, region1Rect.bottom); 73 check Result("result3", "outside", "0", "word1 inside region inside region inside region inside region word2 word5 inside region inside region inside region inside region word6");55 checkSelectionResult("result3", "word1 inside region inside region inside region inside region word2 word5 inside region inside region inside region inside region word6 ", "outside", "0"); 74 56 75 57 clearSelection(); 76 58 77 59 selectContentFromIdToPos("word3", outsideRect.right , outsideRect.bottom + 20); 78 check Result("result4", "word5", "0", "word5 inside region inside region inside region inside region word6");60 checkSelectionResult("result4", "word5 inside region inside region inside region inside region word6 ", "word5", "0"); 79 61 80 62 clearSelection(); 81 63 82 64 selectContentFromIdToPos("word5", region2Rect.right, region2Rect.bottom - 10); 83 check Result("result5", "word6", "5", "word5 inside region inside region inside region inside region word6");65 checkSelectionResult("result5", "word5 inside region inside region inside region inside region word6", "word6", "5"); 84 66 } 85 67 } -
trunk/LayoutTests/fast/regions/selection/selecting-text-through-different-region-flows.html
r156807 r160978 40 40 eventSender.mouseDown(); 41 41 42 // We are pos otioning the mouse to the center of the footNote (what is a different region flow) and release the button42 // We are positioning the mouse to the center of the footNote (what is a different region flow) and release the button 43 43 var end = document.getElementById("footNoteRegion"); 44 44 var xEndPosition = end.offsetLeft + end.offsetWidth / 2;
Note: See TracChangeset
for help on using the changeset viewer.