Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/css/fontfaceset-add-remove.html

Issue 2629543004: Convert some fontfaceset tests to use jsharness (Closed)
Patch Set: fix minor formatting issue Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <html> 1 <script src='../../resources/testharness.js'></script>
2 <head> 2 <script src='../../resources/testharnessreport.js'></script>
3 <script src="../../resources/js-test.js"></script> 3
4 <style> 4 <style>
5 @font-face { 5 @font-face {
6 font-family: TestFont; 6 font-family: TestFont;
7 src: local(Arial); 7 src: local(Arial);
8 } 8 }
9 @font-face { 9 @font-face {
10 font-family: Ahem; 10 font-family: Ahem;
11 src: url(../../resources/Ahem.ttf); 11 src: url(../../resources/Ahem.ttf);
12 } 12 }
13 #test { 13 #test {
14 font-family: TestFont; 14 font-family: TestFont;
15 } 15 }
16 #arial { 16 #arial {
17 font-family: Arial; 17 font-family: Arial;
18 } 18 }
19 #ahem { 19 #ahem {
20 font-family: Ahem; 20 font-family: Ahem;
21 } 21 }
22 </style> 22 </style>
23 <script> 23 <script>
24 description('Tests that adding/removing a FontFace to/from FontFaceSet trigger f ont update.');
25 24
26 window.jsTestIsAsync = true; 25 promise_test(() => {
26 let ahemFace = new FontFace('TestFont', 'url(../../resources/Ahem.ttf)', {});
27 assert_equals(ahemFace.status, 'unloaded');
27 28
28 function runTest() { 29 return ahemFace.load().then(() => {
29 ahemFace = new FontFace('TestFont', 'url(../../resources/Ahem.ttf)', {}); 30 let testElement = document.getElementById('test');
30 ahemFace.load().then(verify); 31 let arialElement = document.getElementById('arial');
31 } 32 let ahemElement = document.getElementById('ahem');
32 33
33 function verify() { 34 assert_equals(testElement.offsetWidth, arialElement.offsetWidth);
34 testElement = document.getElementById('test');
35 arialElement = document.getElementById('arial');
36 ahemElement = document.getElementById('ahem');
37 35
38 shouldBe('testElement.offsetWidth', 'arialElement.offsetWidth');
39 addResult = document.fonts.add(ahemFace); 36 addResult = document.fonts.add(ahemFace);
40 shouldBeTrue('addResult === document.fonts'); 37 assert_equals(addResult, document.fonts);
41 shouldBe('testElement.offsetWidth', 'ahemElement.offsetWidth'); 38 assert_equals(testElement.offsetWidth, ahemElement.offsetWidth);
39
42 document.fonts.delete(ahemFace); 40 document.fonts.delete(ahemFace);
meade_UTC10 2017/01/13 03:12:45 These all work here because document.fonts.add/del
Kunihiko Sakamoto 2017/02/07 10:13:15 Yes these operations are synchronous.
43 shouldBe('testElement.offsetWidth', 'arialElement.offsetWidth'); 41 assert_equals(testElement.offsetWidth, arialElement.offsetWidth);
42
44 document.fonts.add(ahemFace); 43 document.fonts.add(ahemFace);
45 shouldBe('testElement.offsetWidth', 'ahemElement.offsetWidth'); 44 assert_equals(testElement.offsetWidth, ahemElement.offsetWidth);
45
46 document.fonts.clear(); 46 document.fonts.clear();
47 shouldBe('testElement.offsetWidth', 'arialElement.offsetWidth'); 47 assert_equals(testElement.offsetWidth, arialElement.offsetWidth);
48 });
49 }, 'Tests that adding/removing a FontFace to/from a FontFaceSet triggers a ' +
50 'font update');
48 51
49 finishJSTest();
50 }
51 </script> 52 </script>
52 </head> 53
53 <body onload="runTest()">
54 <br><span id="test">abcdefg</span> 54 <br><span id="test">abcdefg</span>
55 <br><span id="arial">abcdefg</span> 55 <br><span id="arial">abcdefg</span>
56 <br><span id="ahem">abcdefg</span> 56 <br><span id="ahem">abcdefg</span>
57 </body>
58 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698