mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +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
2a78fae601
commit
18dbfced52
3 changed files with 22 additions and 6 deletions
|
@ -553764,7 +553764,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"cssom/CSSStyleRule.html": [
|
||||
"b7cfe3da8454d5c64a25c440e0776c80d8c3a751",
|
||||
"83a876458ba609b81c86354160549ab11b018d38",
|
||||
"testharness"
|
||||
],
|
||||
"cssom/CSSStyleSheet.html": [
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
[Values of CSSRule attributes]
|
||||
expected: FAIL
|
||||
|
||||
[Existence, writability and type of CSSStyleRule attributes]
|
||||
expected: FAIL
|
||||
|
||||
[Values of CSSStyleRule attributes]
|
||||
expected: FAIL
|
||||
|
||||
[Existence and type of CSSStyleRule attributes]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -67,8 +67,24 @@
|
|||
assert_idl_attribute(rule, "selectorText");
|
||||
assert_equals(typeof rule.selectorText, "string");
|
||||
assert_idl_attribute(rule, "style");
|
||||
assert_readonly(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() {
|
||||
assert_equals(rule.selectorText, "div");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue