| Index: third_party/WebKit/LayoutTests/fast/css/fontfaceset-set-operations.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/css/fontfaceset-set-operations.html b/third_party/WebKit/LayoutTests/fast/css/fontfaceset-set-operations.html
|
| index 48c2fa090aed9460275d69ec5cde536be9ce6831..8bae1d446b65d764e81ae933db9fef8586688351 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/css/fontfaceset-set-operations.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/css/fontfaceset-set-operations.html
|
| @@ -20,23 +20,10 @@
|
| <script>
|
| description('Tests Set operations of FontFaceSet.');
|
|
|
| -function runTests() {
|
| - nonCssConnectedFace = new FontFace("MyFont", "local(Arial)", {});
|
| -
|
| - shouldBe('document.fonts.size', '3');
|
| +thisArg = {};
|
| +faces = []
|
|
|
| - thisArg = {};
|
| - faces = [];
|
| - document.fonts.forEach(function(face, faceAgain, set) {
|
| - if (faces.length == 0) {
|
| - callbackArgs = arguments;
|
| - thisValue = this;
|
| - shouldBeTrue('callbackArgs[0] === callbackArgs[1]');
|
| - shouldBeTrue('callbackArgs[2] === document.fonts');
|
| - shouldBeTrue('thisValue === thisArg');
|
| - }
|
| - faces.push(face);
|
| - }, thisArg);
|
| +function checkResults() {
|
| shouldBe('faces.length', '3');
|
|
|
| shouldBeEqualToString('faces[0].family', 'Font1');
|
| @@ -51,6 +38,48 @@ function runTests() {
|
|
|
| shouldThrow('document.fonts.add(faces[0])', '"InvalidModificationError: Failed to execute \'add\' on \'FontFaceSet\': Cannot add a CSS-connected FontFace."');
|
| shouldThrow('document.fonts.delete(faces[0])', '"InvalidModificationError: Failed to execute \'delete\' on \'FontFaceSet\': Cannot delete a CSS-connected FontFace."');
|
| +}
|
| +
|
| +function callback(face, index, set) {
|
| + if (faces.length == 0) {
|
| + callbackArgs = arguments;
|
| + thisValue = this;
|
| + shouldBeType('callbackArgs[0]', 'FontFace');
|
| + shouldBeTrue('callbackArgs[1] === faces.length');
|
| + shouldBeTrue('callbackArgs[2] === document.fonts');
|
| + shouldBeTrue('thisValue === thisArg');
|
| + }
|
| + faces.push(face);
|
| +}
|
| +
|
| +function runTests() {
|
| + nonCssConnectedFace = new FontFace("MyFont", "local(Arial)", {});
|
| +
|
| + shouldBe('document.fonts.size', '3');
|
| +
|
| + debug('check forEach');
|
| + document.fonts.forEach(callback, thisArg);
|
| + checkResults();
|
| +
|
| + debug('check keys');
|
| + faces = [];
|
| + for (face of document.fonts.keys())
|
| + faces.push(face);
|
| + checkResults();
|
| +
|
| + debug('check values');
|
| + faces = [];
|
| + for (face of document.fonts.values())
|
| + faces.push(face);
|
| + checkResults();
|
| +
|
| + debug('check entries');
|
| + faces = [];
|
| + for (entry of document.fonts.entries()) {
|
| + shouldBeTrue('entry[0] === entry[1]');
|
| + faces.push(entry[1]);
|
| + }
|
| + checkResults();
|
|
|
| document.fonts.add(nonCssConnectedFace);
|
| shouldBe('document.fonts.size', '4');
|
|
|