servo/tests/wpt/web-platform-tests/css/support/inheritance-testcommon.js

54 lines
2 KiB
JavaScript

'use strict';
function assert_initial(property, initial) {
test(() => {
if (!getComputedStyle(target)[property])
return;
target.style[property] = 'initial';
assert_equals(getComputedStyle(target)[property], initial);
target.style[property] = '';
}, 'Property ' + property + ' has initial value ' + initial);
}
function assert_inherited(property, initial, other) {
assert_initial(property, initial);
test(() => {
if (!getComputedStyle(target)[property])
return;
container.style[property] = 'initial';
target.style[property] = 'unset';
assert_not_equals(getComputedStyle(container)[property], other);
assert_not_equals(getComputedStyle(target)[property], other);
container.style[property] = other;
assert_equals(getComputedStyle(container)[property], other);
assert_equals(getComputedStyle(target)[property], other);
target.style[property] = 'initial';
assert_not_equals(getComputedStyle(container)[property], other);
assert_not_equals(getComputedStyle(target)[property], other);
target.style[property] = 'inherit';
assert_equals(getComputedStyle(container)[property], other);
container.style[property] = '';
target.style[property] = '';
}, 'Property ' + property + ' inherits');
}
function assert_not_inherited(property, initial, other) {
assert_initial(property, initial);
test(() => {
if (!getComputedStyle(target)[property])
return;
container.style[property] = 'initial';
target.style[property] = 'unset';
assert_not_equals(getComputedStyle(container)[property], other);
assert_not_equals(getComputedStyle(target)[property], other);
container.style[property] = other;
assert_equals(getComputedStyle(container)[property], other);
assert_not_equals(getComputedStyle(target)[property], other);
target.style[property] = 'inherit';
assert_equals(getComputedStyle(target)[property], other);
container.style[property] = '';
target.style[property] = '';
}, 'Property ' + property + ' does not inherit');
}