blob: a6bffc787c92ffc6776829c53fed8e676d7bcd0e [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that you can click and hover on links in attributes.\n`);
await TestRunner.loadModule('elements_test_runner');
await TestRunner.showPanel('elements');
await TestRunner.loadHTML(`
<img id="linkify-1" srcset="./1x/googlelogo_color_272x92dp.png 1x, ./2x/googlelogo_color_272x92dp.png 2x">
<img id="linkify-2" srcset="./1x/googlelogo_color_272x92dp.png">
<picture>
<source id="linkify-3" media="(min-width: 650px)" srcset="./kitten-large.png">
<source id="linkify-4" media="(min-width: 465px)" srcset="./kitten-medium.png">
<source id="linkify-5" media="(min-width: 400px)" srcset="./kitten-large.png 2x">
<img id="linkify-6" src="./kitten-small.png">
<img id="linkify-7" srcset="./kitten-medium.png, ./kitten-large.png 2x">
<img id="linkify-8" srcset="./kitten-medium.png 1x, ./kitten-large.png 2x">
<img id="linkify-9" srcset="./kitten-medium.png 1x,./kitten-large.png 2x">
<img id="linkify-10" srcset="data:,abc">
<img id="linkify-11" srcset="data:,abc 1x">
<img id="linkify-12" srcset="data:,abc 1x, data:,def 2x">
<img id="linkify-13" srcset="data:,abc 1x,data:,def 2x">
</picture>
<a id="linkify-14" href="http://www.google.com">a link</a>
<svg width="200" height="200"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<image id="linkify-15" xlink:href="./kitten-small.png" height="200" width="200"/>
<image id="linkify-16" href="./kitten-small.png" height="200" width="200"/>
</svg>
`);
var i = 0;
var last = 16;
function check() {
i++;
if (i > last)
return TestRunner.completeTest();
ElementsTestRunner.selectNodeWithId('linkify-' + i, function() {
var treeElement = ElementsTestRunner.firstElementsTreeOutline().selectedTreeElement;
TestRunner.addResult('\nRendered text: ' + treeElement.title.textContent);
// Print the embedded links.
var links = treeElement.title.querySelectorAll('.devtools-link');
links.forEach(link => {
var offset = 0;
var node = treeElement.title;
while ((node = node.traverseNextTextNode(treeElement.title)) && !node.isSelfOrDescendant(link))
offset += node.textContent.length;
TestRunner.addResult('Link at offset: ' + offset + ': ' + link.textContent);
});
check();
});
}
check();
})();