| Index: third_party/WebKit/LayoutTests/inspector/console/console-copy-truncated-text.html
|
| diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-copy-truncated-text.html b/third_party/WebKit/LayoutTests/inspector/console/console-copy-truncated-text.html
|
| deleted file mode 100644
|
| index a20d277fdd8263a804b21746b6fdc83681ba73e2..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/inspector/console/console-copy-truncated-text.html
|
| +++ /dev/null
|
| @@ -1,219 +0,0 @@
|
| -<html>
|
| -<head>
|
| -<script src="../../http/tests/inspector/inspector-test.js"></script>
|
| -<script src="../../http/tests/inspector/console-test.js"></script>
|
| -<script>
|
| -
|
| -function test()
|
| -{
|
| - var longUrl = "www." + "z123456789".repeat(15) + ".com";
|
| - var shortUrl = "www.bar.com";
|
| - var mixedUrl = longUrl + " " + shortUrl + " " + longUrl;
|
| - var shortUrlWithHashes = "www." + "0123456789".repeat(2) + "zfoobarz" + "0123456789".repeat(2);
|
| - var urlWithHashes = "www." + "0123456789".repeat(2) + "z".repeat(150) + "0123456789".repeat(2);
|
| - var highlightedUrl = "www." + "z".repeat(200) + ".com";
|
| - var longUrlInMessageWithNonTextNodePrefix = "www." + "z123456789".repeat(15) + ".com";
|
| - var prepareCode = `
|
| - // Keep this as the first url logged to record the max truncated length.
|
| - console.log("${longUrl}");
|
| -
|
| - console.log("${shortUrl}");
|
| - console.log("${longUrl}");
|
| - console.log("${mixedUrl}");
|
| - console.log("${shortUrlWithHashes}");
|
| - console.log("${urlWithHashes}");
|
| - console.log("${highlightedUrl}");
|
| - console.log("${longUrlInMessageWithNonTextNodePrefix}");
|
| - `;
|
| -
|
| - var expectedMessageCount = 8;
|
| - var consoleView = Console.ConsoleView.instance();
|
| - var viewport = Console.ConsoleView.instance()._viewport;
|
| - var maxLength;
|
| - var halfMaxLength;
|
| - var secondLongUrlIndexInMixedUrl;
|
| -
|
| - var tests = [
|
| - function testSelectWithinTruncatedUrl(next)
|
| - {
|
| - makeSelectionAndDump(0, 0, 0, halfMaxLength);
|
| - makeSelectionAndDump(0, 0, 0, halfMaxLength + 1);
|
| - makeSelectionAndDump(0, 0, 0, maxLength);
|
| - makeSelectionAndDump(0, halfMaxLength, 0, halfMaxLength + 1);
|
| - makeSelectionAndDump(0, halfMaxLength, 0, maxLength);
|
| - makeSelectionAndDump(0, halfMaxLength + 1, 0, maxLength);
|
| - next();
|
| - },
|
| -
|
| - function testSelectAcrossMultipleMessages(next) {
|
| - makeSelectionAndDump(0, 0, 1, shortUrl.length);
|
| - makeSelectionAndDump(0, halfMaxLength, 1, shortUrl.length);
|
| - makeSelectionAndDump(0, halfMaxLength + 1, 1, shortUrl.length);
|
| - next()
|
| - },
|
| -
|
| - function testSelectAcrossMultipleMessagesWithTruncatedUrls(next) {
|
| - makeSelectionAndDump(0, 0, 2, halfMaxLength);
|
| - makeSelectionAndDump(0, 0, 2, halfMaxLength + 1);
|
| - makeSelectionAndDump(0, 0, 2, maxLength);
|
| - next()
|
| - },
|
| -
|
| - function testSelectWithinMessageWithMultipleTruncatedUrls(next) {
|
| - makeSelectionAndDump(3, 0, 3, halfMaxLength);
|
| - makeSelectionAndDump(3, 0, 3, halfMaxLength + 1);
|
| - makeSelectionAndDump(3, 0, 3, secondLongUrlIndexInMixedUrl);
|
| - makeSelectionAndDump(3, 0, 3, secondLongUrlIndexInMixedUrl + halfMaxLength);
|
| - makeSelectionAndDump(3, 0, 3, secondLongUrlIndexInMixedUrl + halfMaxLength + 1);
|
| - makeSelectionAndDump(3, 0, 3, secondLongUrlIndexInMixedUrl + maxLength);
|
| -
|
| - makeSelectionAndDump(3, halfMaxLength, 3, halfMaxLength + 1);
|
| - makeSelectionAndDump(3, halfMaxLength, 3, secondLongUrlIndexInMixedUrl);
|
| - makeSelectionAndDump(3, halfMaxLength, 3, secondLongUrlIndexInMixedUrl + halfMaxLength);
|
| - makeSelectionAndDump(3, halfMaxLength, 3, secondLongUrlIndexInMixedUrl + halfMaxLength + 1);
|
| - makeSelectionAndDump(3, halfMaxLength, 3, secondLongUrlIndexInMixedUrl + maxLength);
|
| -
|
| - makeSelectionAndDump(3, halfMaxLength + 1, 3, secondLongUrlIndexInMixedUrl);
|
| - makeSelectionAndDump(3, halfMaxLength + 1, 3, secondLongUrlIndexInMixedUrl + halfMaxLength);
|
| - makeSelectionAndDump(3, halfMaxLength + 1, 3, secondLongUrlIndexInMixedUrl + halfMaxLength + 1);
|
| - makeSelectionAndDump(3, halfMaxLength + 1, 3, secondLongUrlIndexInMixedUrl + maxLength);
|
| -
|
| - makeSelectionAndDump(3, secondLongUrlIndexInMixedUrl, 3, secondLongUrlIndexInMixedUrl + halfMaxLength);
|
| - makeSelectionAndDump(3, secondLongUrlIndexInMixedUrl, 3, secondLongUrlIndexInMixedUrl + halfMaxLength + 1);
|
| - makeSelectionAndDump(3, secondLongUrlIndexInMixedUrl, 3, secondLongUrlIndexInMixedUrl + maxLength);
|
| -
|
| - makeSelectionAndDump(3, secondLongUrlIndexInMixedUrl + halfMaxLength, 3, secondLongUrlIndexInMixedUrl + halfMaxLength + 1);
|
| - makeSelectionAndDump(3, secondLongUrlIndexInMixedUrl + halfMaxLength, 3, secondLongUrlIndexInMixedUrl + maxLength);
|
| -
|
| - makeSelectionAndDump(3, secondLongUrlIndexInMixedUrl + halfMaxLength + 1, 3, secondLongUrlIndexInMixedUrl + maxLength);
|
| - next()
|
| - },
|
| -
|
| - function testSelectWithinShortUrlWithHashes(next)
|
| - {
|
| - var hashedUrlMaxLength = consoleMessageText(4).length;
|
| - var hashedUrlHalfMaxLength = Math.ceil(hashedUrlMaxLength / 2);
|
| - makeSelectionAndDump(4, 0, 4, hashedUrlHalfMaxLength);
|
| - makeSelectionAndDump(4, 0, 4, hashedUrlMaxLength);
|
| - makeSelectionAndDump(4, hashedUrlHalfMaxLength, 4, hashedUrlMaxLength);
|
| - next();
|
| - },
|
| -
|
| - function testSelectWithinUrlWithHashes(next)
|
| - {
|
| - var hashedUrlMaxLength = consoleMessageText(5).length;
|
| - var hashedUrlHalfMaxLength = Math.ceil(hashedUrlMaxLength / 2);
|
| - makeSelectionAndDump(5, 0, 5, hashedUrlHalfMaxLength);
|
| - makeSelectionAndDump(5, 0, 5, hashedUrlHalfMaxLength + 1);
|
| - makeSelectionAndDump(5, 0, 5, hashedUrlMaxLength);
|
| - makeSelectionAndDump(5, hashedUrlHalfMaxLength, 5, hashedUrlHalfMaxLength + 1);
|
| - makeSelectionAndDump(5, hashedUrlHalfMaxLength, 5, hashedUrlMaxLength);
|
| - makeSelectionAndDump(5, hashedUrlHalfMaxLength + 1, 5, hashedUrlMaxLength);
|
| - next();
|
| - },
|
| -
|
| - function testSelectWithinHighlightedUrlBeginning(next) {
|
| - testHighlightedUrlWithSearchQuery("www.", next);
|
| - },
|
| -
|
| - function testSelectWithinHighlightedUrlMiddle(next) {
|
| - testHighlightedUrlWithSearchQuery("zzzzz", next);
|
| - },
|
| -
|
| - function testSelectWithinHighlightedUrlEnd(next) {
|
| - testHighlightedUrlWithSearchQuery(".com", next);
|
| - },
|
| -
|
| - function testSelectionStartingInNonTextNode(next) {
|
| - var messageElement = consoleView.itemElement(7).element();
|
| -
|
| - // Artificially insert an empty non-text node element in the beginning.
|
| - var artificialEmptyPrefixElement = createElementWithClass('div', 'artificialEmptyPrefixElement');
|
| - messageElement.insertBefore(artificialEmptyPrefixElement, messageElement.firstChild);
|
| -
|
| - // Use .childNodes to ensure we get all nodes.
|
| - InspectorTest.addResult("\nMaking selection from empty prefix to end");
|
| - window.getSelection().setBaseAndExtent(artificialEmptyPrefixElement, 0, messageElement.lastChild, messageElement.childNodes.length - 1);
|
| -
|
| - var selectedText = viewport._selectedText();
|
| - if (selectedText)
|
| - InspectorTest.addResult("Selection length: " + selectedText.length + ", " + "text: " + selectedText.replace(/\bVM\d+/g, "VM"));
|
| - else
|
| - InspectorTest.addResult("No selection");
|
| - next();
|
| - }
|
| - ];
|
| -
|
| - InspectorTest.waitForConsoleMessages(expectedMessageCount, () => {
|
| - viewport.invalidate();
|
| -
|
| - // Get the max truncated length from the first longUrl logged.
|
| - try {
|
| - var longUrlMessageText = consoleMessageText(0);
|
| - maxLength = longUrlMessageText.length;
|
| - halfMaxLength = Math.ceil(maxLength / 2);
|
| - secondLongUrlIndexInMixedUrl = maxLength + 1 + shortUrl.length + 1;
|
| - InspectorTest.addResult("Long url has max length: " + maxLength + ", text: " + longUrlMessageText);
|
| - } catch (e) {
|
| - InspectorTest.addResult("FAIL: Could not get max truncation length from first longUrl message.");
|
| - InspectorTest.completeTest();
|
| - return;
|
| - }
|
| - InspectorTest.runTestSuite(tests);
|
| - });
|
| - InspectorTest.evaluateInPage(prepareCode);
|
| -
|
| - function consoleMessageText(index) {
|
| - var messageElement = consoleView._visibleViewMessages[index].element();
|
| - return messageElement.querySelector('.console-message-text').deepTextContent();
|
| - }
|
| -
|
| - function makeSelectionAndDump(fromMessage, fromTextOffset, toMessage, toTextOffset, includeAnchor, useTextContainer) {
|
| - InspectorTest.addResult("\nMaking selection: " + fromMessage + ", " + fromTextOffset + ", " + toMessage + ", " + toTextOffset);
|
| -
|
| - // Ignore the anchor text on the start/end message, just use their contents.
|
| - if (!includeAnchor) {
|
| - var fromAnchor = consoleView.itemElement(fromMessage).element().querySelector('.console-message-anchor');
|
| - var toAnchor = consoleView.itemElement(toMessage).element().querySelector('.console-message-anchor');
|
| - fromTextOffset += fromAnchor ? fromAnchor.deepTextContent().length : 0;
|
| - toTextOffset += toAnchor ? toAnchor.deepTextContent().length : 0;
|
| - }
|
| - InspectorTest.selectConsoleMessages(fromMessage, fromTextOffset, toMessage, toTextOffset, useTextContainer);
|
| - var selectedText = viewport._selectedText();
|
| - if (selectedText)
|
| - InspectorTest.addResult("Selection length: " + selectedText.length + ", " + "text: " + selectedText.replace(/\bVM\d+/g, "VM"));
|
| - else
|
| - InspectorTest.addResult("No selection");
|
| - }
|
| -
|
| - function testHighlightedUrlWithSearchQuery(query, next) {
|
| - // Clear any existing ranges to avoid using them as the query.
|
| - window.getSelection().removeAllRanges();
|
| - InspectorTest.addSniffer(consoleView, "_searchFinishedForTests", onSearch);
|
| - consoleView._searchableView._searchInputElement.value = query;
|
| - consoleView._searchableView._regexButton.setToggled(false);
|
| - consoleView._searchableView._caseSensitiveButton.setToggled(false);
|
| - consoleView._searchableView.showSearchField();
|
| - InspectorTest.addResult("Searching for text: " + query);
|
| -
|
| - function onSearch() {
|
| - var matches = consoleView.element.childTextNodes().filter(node => node.parentElement.classList.contains("highlighted-search-result")).map(node => node.parentElement);
|
| - InspectorTest.addResult("Highlighted " + matches.length + " matches");
|
| -
|
| - // Use TextNodes for containers to get inside the highlighted match element.
|
| - makeSelectionAndDump(6, 0, 6, halfMaxLength, false, true);
|
| - makeSelectionAndDump(6, 0, 6, halfMaxLength + 1, false, true);
|
| - makeSelectionAndDump(6, 0, 6, maxLength, false, true);
|
| - makeSelectionAndDump(6, halfMaxLength, 6, halfMaxLength + 1);
|
| - makeSelectionAndDump(6, halfMaxLength, 6, maxLength);
|
| - makeSelectionAndDump(6, halfMaxLength + 1, 6, maxLength);
|
| - next();
|
| - }
|
| - }
|
| -}
|
| -</script>
|
| -</head>
|
| -<body onload="runTest()">
|
| -<p>Tests that console copies tree outline messages properly.</p>
|
| -</body>
|
| -</html>
|
|
|