mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Correctly test CSSStyleRule.style.
Remove the assert_readonly test and add one to verify that assigning to CSSStyleRule.style correctly forwards to CSSStyleRule.style.cssText. We currently test for whether CSSStyleRule.style is read-only by trying to assign to it; however, the spec has it as actually: interface CSSStyleRule : CSSRule { ... [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; }; See: https://drafts.csswg.org/cssom/ The `PutForwards=cssText` means that assigning to CSSStyleRule.style should actually assign to style.cssText.
This commit is contained in:
parent
1f531f66ea
commit
b6667181ee
2 changed files with 19 additions and 2 deletions
|
@ -574763,7 +574763,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"cssom/CSSStyleRule.html": [
|
"cssom/CSSStyleRule.html": [
|
||||||
"e9d0acfc0c9123dcd2295e217bdfc1ac5195c3f0",
|
"9fe62d2e23709b77e9b5cda4522ec1c04d2940cf",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"cssom/CSSStyleSheet.html": [
|
"cssom/CSSStyleSheet.html": [
|
||||||
|
|
|
@ -67,7 +67,24 @@
|
||||||
assert_idl_attribute(rule, "selectorText");
|
assert_idl_attribute(rule, "selectorText");
|
||||||
assert_equals(typeof rule.selectorText, "string");
|
assert_equals(typeof rule.selectorText, "string");
|
||||||
assert_idl_attribute(rule, "style");
|
assert_idl_attribute(rule, "style");
|
||||||
}, "Existence, writability and type of CSSStyleRule attributes");
|
}, "Existence and type of CSSStyleRule attributes");
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
// CSSStyleRule.style has PutForwards=cssText and SameObject.
|
||||||
|
var initial = rule.style.cssText;
|
||||||
|
var style = rule.style;
|
||||||
|
|
||||||
|
rule.style = "";
|
||||||
|
assert_equals(rule.style.cssText, "");
|
||||||
|
assert_equals(rule.style, style);
|
||||||
|
|
||||||
|
rule.style = "margin: 42px;";
|
||||||
|
assert_equals(rule.style.margin, "42px");
|
||||||
|
assert_equals(rule.style, style);
|
||||||
|
|
||||||
|
rule.style = initial;
|
||||||
|
assert_equals(rule.style, style);
|
||||||
|
}, "Assigning to CSSStyleRule.style assigns to cssText; CSSStyleRule.style returns the same object");
|
||||||
|
|
||||||
test(function() {
|
test(function() {
|
||||||
assert_equals(rule.selectorText, "div");
|
assert_equals(rule.selectorText, "div");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue