Update WPT tests for embedded content
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / html / semantics / embedded-content / the-img-element / decode / image-decode-path-changes-svg.tentative.html
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <meta name="timeout" content="long">
4 <title>SVGImageElement.prototype.decode(), href mutation tests.</title>
5 <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
6 <script src="/resources/testharness.js"></script>
7 <script src="/resources/testharnessreport.js"></script>
8
9 <script>
10 "use strict";
11
12 // src tests
13 // -------------------
14 promise_test(function(t) {
15   var img = document.createElementNS('http://www.w3.org/2000/svg', 'image');
16   img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', "/images/green.png");
17   var promise = img.decode();
18   img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', "/images/green.svg");
19   return promise_rejects(t, "EncodingError", promise);
20 }, document.title + " xlink:href changes fail decode.");
21
22 promise_test(function(t) {
23   var img = document.createElementNS('http://www.w3.org/2000/svg', 'image');
24   img.setAttribute('href', "/images/green.png");
25   var promise = img.decode();
26   img.setAttribute('href', "/images/green.svg");
27   return promise_rejects(t, "EncodingError", promise);
28 }, document.title + " href changes fail decode.");
29
30 promise_test(function(t) {
31   var img = document.createElementNS('http://www.w3.org/2000/svg', 'image');
32   img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', "/images/green.png");
33   var first_promise = img.decode();
34   img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', "/images/green.svg");
35   var second_promise = img.decode();
36   assert_not_equals(first_promise, second_promise);
37   return Promise.all([
38     promise_rejects(t, "EncodingError", first_promise),
39     second_promise
40   ]);
41 }, document.title + " xlink:href changes fail decode; following good decode succeeds.");
42
43 promise_test(function(t) {
44   var img = document.createElementNS('http://www.w3.org/2000/svg', 'image');
45   img.setAttribute('href', "/images/green.png");
46   var first_promise = img.decode();
47   img.setAttribute('href', "/images/green.svg");
48   var second_promise = img.decode();
49   assert_not_equals(first_promise, second_promise);
50   return Promise.all([
51     promise_rejects(t, "EncodingError", first_promise),
52     second_promise
53   ]);
54 }, document.title + " href changes fail decode; following good decode succeeds.");
55
56 promise_test(function(t) {
57   var img = document.createElementNS('http://www.w3.org/2000/svg', 'image');
58   img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', "/images/green.png");
59   var first_promise = img.decode();
60   img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', "/non/existent/path.png");
61   var second_promise = img.decode();
62   assert_not_equals(first_promise, second_promise);
63   return Promise.all([
64     promise_rejects(t, "EncodingError", first_promise),
65     promise_rejects(t, "EncodingError", second_promise)
66   ]);
67 }, document.title + " xlink:href changes fail decode; following bad decode fails.");
68
69 promise_test(function(t) {
70   var img = document.createElementNS('http://www.w3.org/2000/svg', 'image');
71   img.setAttribute('href', "/images/green.png");
72   var first_promise = img.decode();
73   img.setAttribute('href', "/non/existent/path.png");
74   var second_promise = img.decode();
75   assert_not_equals(first_promise, second_promise);
76   return Promise.all([
77     promise_rejects(t, "EncodingError", first_promise),
78     promise_rejects(t, "EncodingError", second_promise)
79   ]);
80 }, document.title + " href changes fail decode; following bad decode fails.");
81
82 </script>