diff --git a/tests/wpt/mozilla/meta/mozilla/calc.html.ini b/tests/wpt/mozilla/meta/mozilla/calc.html.ini index 6a2e6b9c885..ad1ebaf3617 100644 --- a/tests/wpt/mozilla/meta/mozilla/calc.html.ini +++ b/tests/wpt/mozilla/meta/mozilla/calc.html.ini @@ -6,3 +6,123 @@ [calc(0px + 0pt + 0pc + 0in + 0cm + 0mm + 0rem + 0em + 0ex + 0% + 0vw + 0vh + 0vmin + 0vmax)] expected: FAIL + [calc for border-width] + expected: FAIL + + [calc for border-top-width] + expected: FAIL + + [calc for border-left-width] + expected: FAIL + + [calc for border-right-width] + expected: FAIL + + [calc for border-bottom-width] + expected: FAIL + + [calc for outline-width] + expected: FAIL + + [calc for outline-offset] + expected: FAIL + + [calc for letter-spacing] + expected: FAIL + + [calc for word-spacing] + expected: FAIL + + [calc for border-spacing] + expected: FAIL + + [calc for column-width] + expected: FAIL + + [calc for column-gap] + expected: FAIL + + [calc for perspective] + expected: FAIL + + [calc for border-top-left-radius] + expected: FAIL + + [calc for border-bottom-left-radius] + expected: FAIL + + [calc for border-top-right-radius] + expected: FAIL + + [calc for border-bottom-right-radius] + expected: FAIL + + [calc for top] + expected: FAIL + + [calc for left] + expected: FAIL + + [calc for bottom] + expected: FAIL + + [calc for right] + expected: FAIL + + [calc for width] + expected: FAIL + + [calc for height] + expected: FAIL + + [calc for min-width] + expected: FAIL + + [calc for min-height] + expected: FAIL + + [calc for max-width] + expected: FAIL + + [calc for max-height] + expected: FAIL + + [calc for line-height] + expected: FAIL + + [calc for vertical-align] + expected: FAIL + + [calc for background-position] + expected: FAIL + + [calc for background-size] + expected: FAIL + + [calc for font-size] + expected: FAIL + + [calc for text-indent] + expected: FAIL + + [calc for transform-origin] + expected: FAIL + + [calc for perspective-origin] + expected: FAIL + + [calc for transition-delay] + expected: FAIL + + [calc for z-index] + expected: FAIL + + [calc for column-count] + expected: FAIL + + [calc for opacity] + expected: FAIL + + [calc for transition-duration] + expected: FAIL + diff --git a/tests/wpt/mozilla/tests/mozilla/calc.html b/tests/wpt/mozilla/tests/mozilla/calc.html index 519fa1d88fa..b69c28e67d0 100644 --- a/tests/wpt/mozilla/tests/mozilla/calc.html +++ b/tests/wpt/mozilla/tests/mozilla/calc.html @@ -57,6 +57,97 @@ widthTests.forEach(function(item) { assert_equals(window.getComputedStyle(div).getPropertyValue('width'), item[2]); }, item[0]); }); + +var lengthProperties = [ + 'border-width', + 'border-top-width', + 'border-left-width', + 'border-right-width', + 'border-bottom-width', + 'outline-width', + 'outline-offset', + 'letter-spacing', + 'word-spacing', + 'border-spacing', + 'column-width', + 'column-gap', + 'perspective', +]; + +lengthProperties.forEach(function(prop) { + test(function() { + div.style.setProperty(prop, 'calc(1px)'); + assert_equals(div.style.getPropertyValue(prop), '1px'); + assert_equals(window.getComputedStyle(div).getPropertyValue(prop), '1px'); + }, 'calc for ' + prop); +}); + +var lengthOrPercentageProperties = [ + 'border-top-left-radius', + 'border-bottom-left-radius', + 'border-top-right-radius', + 'border-bottom-right-radius', + 'top', + 'left', + 'bottom', + 'right', + 'width', + 'height', + 'min-width', + 'min-height', + 'max-width', + 'max-height', + 'line-height', + 'vertical-align', + 'background-position', + 'background-size', + 'font-size', + 'text-indent', + 'transform-origin', + 'perspective-origin', +]; + +lengthOrPercentageProperties.forEach(function(prop) { + test(function() { + div.style.setProperty(prop, 'calc(1px + 0%)'); + assert_equals(div.style.getPropertyValue(prop), 'calc(1px + 0%)'); + assert_equals(window.getComputedStyle(div).getPropertyValue(prop), '1px'); + }, 'calc for ' + prop); +}); + +var timeProperties = [ + 'transition-delay', +]; + +timeProperties.forEach(function(prop) { + test(function() { + div.style.setProperty(prop, 'calc(1s)'); + assert_equals(div.style.getPropertyValue(prop), '1s'); + assert_equals(window.getComputedStyle(div).getPropertyValue(prop), '1s'); + }, 'calc for ' + prop); +}); + +var numberProperties = [ + 'z-index', + 'column-count', + 'opacity', + 'transition-duration', +]; + +numberProperties.forEach(function(prop) { + test(function() { + div.style.setProperty(prop, 'calc(1)'); + assert_equals(div.style.getPropertyValue(prop), '1'); + assert_equals(window.getComputedStyle(div).getPropertyValue(prop), '1'); + }, 'calc for ' + prop); +}); + + +/* TODO: test these: + counter-increment, counter-reset, + color, box-shadow, clip, text-shadow, transform + transition-timing-function + */