diff --git a/css/css-shapes/shape-outside/values/shape-margin-001.html b/css/css-shapes/shape-outside/values/shape-margin-001.html index 39dea7efe81eee..28eca1a6bafc39 100644 --- a/css/css-shapes/shape-outside/values/shape-margin-001.html +++ b/css/css-shapes/shape-outside/values/shape-margin-001.html @@ -10,10 +10,12 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-circle-004.html b/css/css-shapes/shape-outside/values/shape-outside-circle-004.html index 01f3fc1bffe243..289861ee1502f0 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-circle-004.html +++ b/css/css-shapes/shape-outside/values/shape-outside-circle-004.html @@ -13,14 +13,21 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-circle-005.html b/css/css-shapes/shape-outside/values/shape-outside-circle-005.html index 7d90318ec7365a..46cae045c5d0c8 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-circle-005.html +++ b/css/css-shapes/shape-outside/values/shape-outside-circle-005.html @@ -12,12 +12,19 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html b/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html index 7617a34bce0c7f..1d4aa85a07c304 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html +++ b/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html @@ -13,14 +13,21 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html b/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html index fe5af3b682c8cd..5acb994191258c 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html +++ b/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html @@ -12,12 +12,20 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-inset-003.html b/css/css-shapes/shape-outside/values/shape-outside-inset-003.html index 9b420707fe2e29..3ffc2af981672a 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-inset-003.html +++ b/css/css-shapes/shape-outside/values/shape-outside-inset-003.html @@ -13,15 +13,22 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html b/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html index c9623a2e5bd4f2..e9ecf2df599b02 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html +++ b/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html @@ -13,10 +13,12 @@ +
diff --git a/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html b/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html index 02d5bc78d9a509..08d5d471de6b93 100644 --- a/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html +++ b/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html @@ -13,6 +13,7 @@ +
@@ -21,6 +22,7 @@ // fixed units: cm, mm, in, px, pt, pc // percentage unit: % // zero length: 0 + setup({explicit_done: true}); var basic_shape_args_tests = [ { "name": "0-valued", @@ -53,10 +55,17 @@ "expected_computed": "polygon(1% 2%)" } ]; + generate_tests( ParsingUtils.testInlineStyle, ParsingUtils.buildTestCases(basic_shape_args_tests, "inline") ); - generate_tests( ParsingUtils.testComputedStyle, - ParsingUtils.buildTestCases(basic_shape_args_tests, "computed") ); + ParsingUtils.setupFonts(); + document.fonts.ready.then(()=> { + generate_tests( ParsingUtils.testComputedStyle, + ParsingUtils.buildTestCases(basic_shape_args_tests, "computed") ); + ParsingUtils.restoreFonts(); + done(); + }); + diff --git a/css/css-shapes/shape-outside/values/support/parsing-utils.js b/css/css-shapes/shape-outside/values/support/parsing-utils.js index 118a1145333773..abadbf7066695a 100644 --- a/css/css-shapes/shape-outside/values/support/parsing-utils.js +++ b/css/css-shapes/shape-outside/values/support/parsing-utils.js @@ -446,31 +446,32 @@ function each(object, func) { } } -function setupFonts(func) { - return function () { - var fontProperties = { - 'font-family': 'Ahem', - 'font-size': '16px', - 'line-height': '1' - }; - var savedValues = { }; - each(fontProperties, function (key, value) { - savedValues[key] = document.body.style.getPropertyValue(key); +/// For saving and restoring font properties +var savedFontValues = { }; + +function setupFonts() { + var fontProperties = { + 'font-family': 'Ahem', + 'font-size': '16px', + 'line-height': '1' + }; + savedFontValues = { }; + each(fontProperties, function (key, value) { + savedFontValues[key] = document.body.style.getPropertyValue(key); + document.body.style.setProperty(key, value); + }); +} + +function restoreFonts() { + each(savedFontValues, function (key, value) { + if (value) { document.body.style.setProperty(key, value); - }); - try { - func.apply(this, arguments); - } finally { - each(savedValues, function (key, value) { - if (value) { - document.body.style.setProperty(key, value); - } - else { - document.body.style.removeProperty(key); - } - }); } - }; + else { + document.body.style.removeProperty(key); + } + }); + savedFontValues = { }; } var validUnits = [ @@ -819,11 +820,11 @@ var calcTestValues = [ return { testInlineStyle: testInlineStyle, - testComputedStyle: setupFonts(testComputedStyle), + testComputedStyle: testComputedStyle, testShapeMarginInlineStyle: testShapeMarginInlineStyle, - testShapeMarginComputedStyle: setupFonts(testShapeMarginComputedStyle), + testShapeMarginComputedStyle: testShapeMarginComputedStyle, testShapeThresholdInlineStyle: testShapeThresholdInlineStyle, - testShapeThresholdComputedStyle: setupFonts(testShapeThresholdComputedStyle), + testShapeThresholdComputedStyle: testShapeThresholdComputedStyle, buildTestCases: buildTestCases, buildRadiiTests: buildRadiiTests, buildPositionTests: buildPositionTests, @@ -834,6 +835,7 @@ return { validUnits: validUnits, calcTestValues: calcTestValues, roundResultStr: roundResultStr, - setupFonts: setupFonts + setupFonts: setupFonts, + restoreFonts: restoreFonts, } })();