mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision e8bfc205e36ad699601212cd50083870bad9a75d
This commit is contained in:
parent
65dd6d4340
commit
ccdb0a3458
1428 changed files with 118036 additions and 9786 deletions
|
@ -0,0 +1,22 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<title>data URL image</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
var c = document.createElement("canvas"),
|
||||
con = c.getContext("2d"),
|
||||
img = document.createElement("img")
|
||||
img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAA+UlEQVR4nO3RoRHAQBDEsOu/6YR+B2sgIO4Z3919pMwDMCRtHoAhafMADEmbB2BI2jwAQ9LmARiSNg/AkLR5AIakzQMwJG0egCFp8wAMSZsHYEjaPABD0uYBGJI2D8CQtHkAhqTNAzAkbR6AIWnzAAxJmwdgSNo8AEPS5gEYkjYPwJC0eQCGpM0DMCRtHoAhafMADEmbB2BI2jwAQ9LmARiSNg/AkLR5AIakzQMwJG0egCFp8wAMSZsHYEjaPABD0uYBGJI2D8CQtHkAhqTNAzAkbR6AIWnzAAxJmwdgSNo8AEPS5gEYkjYPwJC0eQCGpM0DMCRtHsDjB5K06yueJFXJAAAAAElFTkSuQmCC"
|
||||
img.onload = () => {
|
||||
con.drawImage(img, 0, 0)
|
||||
var data = con.getImageData(0, 0, 10, 10) // should not throw as data URLs are same-origin
|
||||
for(var i = 0; i < data.data.length; i++) {
|
||||
var expected = ((i+1) % 4 == 0) ? 255 : 0
|
||||
assert_equals(data.data[i], expected)
|
||||
}
|
||||
c.toDataURL() // shouldn't throw either
|
||||
done()
|
||||
}
|
||||
</script>
|
|
@ -3,10 +3,11 @@
|
|||
<title>Loading a non-parsing URL as an image should silently fail; triggering appropriate events</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<img id=myimg />
|
||||
<img id=brokenurl />
|
||||
<img id=emptysrc />
|
||||
<script>
|
||||
async_test(function(t) {
|
||||
var img = document.getElementById("myimg");
|
||||
var img = document.getElementById("brokenurl");
|
||||
img.src = "http://also a broken url";
|
||||
var errorevent = false;
|
||||
|
||||
|
@ -16,6 +17,26 @@ async_test(function(t) {
|
|||
img.addEventListener('loadend', t.step_func_done(function() {
|
||||
assert_true(errorevent, "error event fired");
|
||||
}));
|
||||
});
|
||||
}, 'src="http://also a broken url"');
|
||||
|
||||
async_test(function(t) {
|
||||
var img = document.getElementById("emptysrc");
|
||||
img.src = "";
|
||||
var loadendevent = false;
|
||||
|
||||
// Setting src to empty string triggers only error event.
|
||||
// The errors should be queued in the event loop, so they should only trigger
|
||||
// after this block of code finishes, not during the img.src setter itself
|
||||
img.addEventListener('error', t.step_func(function() {
|
||||
// Queue this check in the event loop to check there is no loadend event
|
||||
// fired.
|
||||
t.step_timeout(t.step_func_done(function() {
|
||||
assert_false(loadendevent, "loadend event should not fired");
|
||||
}), 0)
|
||||
}));
|
||||
img.addEventListener('loadend', t.step_func(function() {
|
||||
loadendevent = true;
|
||||
}));
|
||||
}, 'src=""');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>img usemap case-sensitive</title>
|
||||
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/infrastructure.html#rules-for-parsing-a-hash-name-reference">
|
||||
<!-- See also: https://github.com/whatwg/html/issues/1666 -->
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#sanityCheck" width="300" height="300">
|
||||
<map name="sanityCheck"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#sImPlE" width="300" height="300">
|
||||
<map name="simple"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="SIMPLE"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#paSSfield-killroyß" width="300" height="300">
|
||||
<map name="passfield-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="PASSFIELD-KILLROYß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="paſſfield-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="passfield-Killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="paßfield-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="paẞfield-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="passfield-killroyẞ"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="passfield-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="passfıeld-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="passfİeld-killroyß"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#глупый" width="300" height="300">
|
||||
<map name="глупый"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="ГЛУПЫЙ"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="ГЛУПЫЙ"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#åωk" width="300" height="300">
|
||||
<map name="ÅΩK"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="Åωk"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="åΩk"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="åωK"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#blah1" width="300" height="300">
|
||||
<map name="blah①"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="blⒶh1"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="blⓐh1"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#tÉdz5アパートFi" width="300" height="300">
|
||||
<map name="TÉDZ5アパートFi"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="TéDZ⁵アパートFi"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="tÉdz5㌀Fi"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="tÉdz5アパートFi"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="TÉDZ⁵アパートFi"><area shape="rect" coords="0,0,300,300"></map>
|
||||
<map name="TÉDZ5アパートfi"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<img src="/images/threecolors.png" usemap="#ΣΣ" width="300" height="300">
|
||||
<map name="σς"><area shape="rect" coords="0,0,300,300"></map>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
setup({ explicit_done: true });
|
||||
|
||||
onload = () => {
|
||||
test(() => {
|
||||
const image = document.querySelector(`img[usemap="#sanityCheck"]`);
|
||||
const imageRect = image.getBoundingClientRect();
|
||||
const x = imageRect.left + imageRect.width / 2;
|
||||
const y = imageRect.top + imageRect.height / 2;
|
||||
const element = document.elementFromPoint(x, y);
|
||||
const area = document.querySelector(`map[name="sanityCheck"] > area`);
|
||||
|
||||
assert_equals(element, area);
|
||||
}, `Image with usemap of #sanityCheck should match the area with map named sanityCheck`);
|
||||
|
||||
const images = Array.from(document.querySelectorAll(`img:not([usemap="#sanityCheck"])`));
|
||||
|
||||
for (let image of images) {
|
||||
test(() => {
|
||||
const imageRect = image.getBoundingClientRect();
|
||||
const x = imageRect.left + imageRect.width / 2;
|
||||
const y = imageRect.top + imageRect.height / 2;
|
||||
const element = document.elementFromPoint(x, y);
|
||||
|
||||
const name = element.parentElement.getAttribute("name");
|
||||
const messageSuffix = name ? `; used <map> with name "${name}"` : "";
|
||||
|
||||
assert_equals(element, image, "The element retrieved must be the image, not an area" + messageSuffix);
|
||||
}, `Image with usemap of ${image.useMap} should not match any of the areas`);
|
||||
}
|
||||
|
||||
done();
|
||||
};
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue