From 76cb9c2a39d477a64824a985ade40507e3bbade1 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 21:34:48 -0800 Subject: feat(vanilla): add testing infrastructure and tests (NK-wjnczv) --- .../@acemir/cssom/lib/CSSDocumentRule.js | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 vanilla/node_modules/@acemir/cssom/lib/CSSDocumentRule.js (limited to 'vanilla/node_modules/@acemir/cssom/lib/CSSDocumentRule.js') diff --git a/vanilla/node_modules/@acemir/cssom/lib/CSSDocumentRule.js b/vanilla/node_modules/@acemir/cssom/lib/CSSDocumentRule.js new file mode 100644 index 0000000..06d9872 --- /dev/null +++ b/vanilla/node_modules/@acemir/cssom/lib/CSSDocumentRule.js @@ -0,0 +1,48 @@ +//.CommonJS +var CSSOM = { + CSSRule: require("./CSSRule").CSSRule, + CSSRuleList: require("./CSSRuleList").CSSRuleList, + MatcherList: require("./MatcherList").MatcherList +}; +///CommonJS + + +/** + * @constructor + * @see https://developer.mozilla.org/en/CSS/@-moz-document + * @deprecated This rule is a non-standard Mozilla-specific extension and is not part of any official CSS specification. + */ +CSSOM.CSSDocumentRule = function CSSDocumentRule() { + CSSOM.CSSRule.call(this); + this.matcher = new CSSOM.MatcherList(); + this.cssRules = new CSSOM.CSSRuleList(); +}; + +CSSOM.CSSDocumentRule.prototype = Object.create(CSSOM.CSSRule.prototype); +CSSOM.CSSDocumentRule.prototype.constructor = CSSOM.CSSDocumentRule; + +Object.setPrototypeOf(CSSOM.CSSDocumentRule, CSSOM.CSSRule); + +Object.defineProperty(CSSOM.CSSDocumentRule.prototype, "type", { + value: 10, + writable: false +}); + +//FIXME +//CSSOM.CSSDocumentRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; +//CSSOM.CSSDocumentRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; + +Object.defineProperty(CSSOM.CSSDocumentRule.prototype, "cssText", { + get: function() { + var cssTexts = []; + for (var i=0, length=this.cssRules.length; i < length; i++) { + cssTexts.push(this.cssRules[i].cssText); + } + return "@-moz-document " + this.matcher.matcherText + " {" + (cssTexts.length ? "\n " + cssTexts.join("\n ") : "") + "\n}"; + } +}); + + +//.CommonJS +exports.CSSDocumentRule = CSSOM.CSSDocumentRule; +///CommonJS -- cgit v1.2.3