| Index: third_party/WebKit/LayoutTests/external/wpt/image-decodes/image-decode.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/image-decodes/image-decode.html b/third_party/WebKit/LayoutTests/external/wpt/image-decodes/image-decode.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7ca5750decc6b8cb0f24733ed1bb649e602b00bd
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/image-decodes/image-decode.html
|
| @@ -0,0 +1,188 @@
|
| +<!DOCTYPE html>
|
| +<meta charset=utf-8>
|
| +<meta name="timeout" content="long">
|
| +<title>img.decode()</title>
|
| +<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
|
| +<link rel=help href="">
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +<div id="log"></div>
|
| +
|
| +<script>
|
| +"use strict";
|
| +
|
| +// src tests
|
| +// -------------------
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.src = "/images/green.png";
|
| + return img.decode().then(function(arg) {
|
| + assert_equals(arg, undefined);
|
| + });
|
| +}, "(src) PNG image decodes with undefined.");
|
| +
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.src = "/images/green.svg";
|
| + return img.decode().then(function(arg) {
|
| + assert_equals(arg, undefined);
|
| + });
|
| +}, "(src) SVG image decodes with undefined.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.src = "/non/existent/path.png";
|
| + var promise = img.decode();
|
| + return promise_rejects(t, "EncodingError", promise);
|
| +}, "(src) Non-existent path fails decode.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + var promise = img.decode();
|
| + return promise_rejects(t, "EncodingError", promise);
|
| +}, "(src) Path-less image fails decode.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.src = "/images/green.png";
|
| + var promise = img.decode();
|
| + img.src = "/images/green.svg";
|
| + return promise_rejects(t, "EncodingError", promise);
|
| +}, "(src) Path changes fail decode.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.src = "/images/green.png";
|
| + var first_promise = img.decode();
|
| + img.src = "/images/green.svg";
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + promise_rejects(t, "EncodingError", first_promise),
|
| + second_promise
|
| + ]);
|
| +}, "(src) Path changes fail decode; following good decode succeeds.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.src = "/images/green.png";
|
| + var first_promise = img.decode();
|
| + img.src = "/non/existent/path.png";
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + promise_rejects(t, "EncodingError", first_promise),
|
| + promise_rejects(t, "EncodingError", second_promise)
|
| + ]);
|
| +}, "(src) Path changes fail decode; following bad decode fails.");
|
| +
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.src = "/images/green.png";
|
| + var first_promise = img.decode();
|
| + img.src = "/images/green.png";
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + first_promise,
|
| + second_promise
|
| + ]);
|
| +}, "(src) Path changes to the same path succeed.");
|
| +
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.src = "/images/green.png";
|
| + var first_promise = img.decode();
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + first_promise,
|
| + second_promise
|
| + ]);
|
| +}, "(src) Multiple decodes succeed.");
|
| +
|
| +// srcset tests
|
| +// -------------------
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.png 100w";
|
| + return img.decode().then(function(arg) {
|
| + assert_equals(arg, undefined);
|
| + });
|
| +}, "(srcset) PNG image decodes with undefined.");
|
| +
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.svg 100w";
|
| + return img.decode().then(function(arg) {
|
| + assert_equals(arg, undefined);
|
| + });
|
| +}, "(srcset) SVG image decodes with undefined.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.srcset = "/non/existent/path.png 100w";
|
| + var promise = img.decode();
|
| + return promise_rejects(t, "EncodingError", promise);
|
| +}, "(srcset) Non-existent path fails decode.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.png 100w";
|
| + var promise = img.decode();
|
| + img.srcset = "/images/green.svg 100w";
|
| + return promise_rejects(t, "EncodingError", promise);
|
| +}, "(srcset) Path changes fail decode.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.png 100w";
|
| + var first_promise = img.decode();
|
| + img.srcset = "/images/green.svg 100w";
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + promise_rejects(t, "EncodingError", first_promise),
|
| + second_promise
|
| + ]);
|
| +}, "(srcset) Path changes fail decode; following good decode succeeds.");
|
| +
|
| +promise_test(function(t) {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.png 100w";
|
| + var first_promise = img.decode();
|
| + img.srcset = "/non/existent/path.png 100w";
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + promise_rejects(t, "EncodingError", first_promise),
|
| + promise_rejects(t, "EncodingError", second_promise)
|
| + ]);
|
| +}, "(srcset) Path changes fail decode; following bad decode fails.");
|
| +
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.png 100w";
|
| + var first_promise = img.decode();
|
| + img.srcset = "/images/green.png 100w";
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + first_promise,
|
| + second_promise
|
| + ]);
|
| +}, "(srcset) Path changes to the same path succeed.");
|
| +
|
| +promise_test(function() {
|
| + var img = new Image();
|
| + img.srcset = "/images/green.png 100w";
|
| + var first_promise = img.decode();
|
| + var second_promise = img.decode();
|
| + assert_true(first_promise !== second_promise);
|
| + return Promise.all([
|
| + first_promise,
|
| + second_promise
|
| + ]);
|
| +}, "(srcset) Multiple decodes succeed.");
|
| +
|
| +</script>
|
|
|