diff --git a/lib/CSSStyleSheet.js b/lib/CSSStyleSheet.js index 3ec733f..885b3c5 100644 --- a/lib/CSSStyleSheet.js +++ b/lib/CSSStyleSheet.js @@ -41,6 +41,7 @@ CSSOM.CSSStyleSheet.prototype.insertRule = function(rule, index) { throw new RangeError("INDEX_SIZE_ERR"); } var cssRule = CSSOM.parse(rule).cssRules[0]; + cssRule.parentStyleSheet = this; this.cssRules.splice(index, 0, cssRule); return index; }; diff --git a/spec/CSSStyleSheet.spec.js b/spec/CSSStyleSheet.spec.js index 01f80ab..828bc6c 100644 --- a/spec/CSSStyleSheet.spec.js +++ b/spec/CSSStyleSheet.spec.js @@ -18,5 +18,12 @@ describe('CSSStyleSheet', function() { expect(s.cssRules).toEqual([]); }); + describe('insertRule', function () { + it('should correctly set the parent stylesheet', function () { + var s = new CSSOM.CSSStyleSheet; + s.insertRule("a {color: blue}", 0); + expect(s.cssRules[0].parentStyleSheet).toBe(s); + }); + }); }); });