happy-dom 2.24.1 → 2.24.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

@@ -2,6 +2,9 @@ import CSSRule from './CSSRule';
2
2
  import MediaList from './MediaList';
3
3
  /**
4
4
  * Attr node interface.
5
+ *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.
5
8
  */
6
9
  export default class CSSStyleSheet {
7
10
  value: string;
@@ -38,8 +41,9 @@ export default class CSSStyleSheet {
38
41
  *
39
42
  * @param rule Rule.
40
43
  * @param [index] Index.
44
+ * @returns The newly inserterted rule's index.
41
45
  */
42
- insertRule(rule: string, index?: number): void;
46
+ insertRule(rule: string, index?: number): number;
43
47
  /**
44
48
  * Removes a rule.
45
49
  *
@@ -35,18 +35,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
39
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
40
- to[j] = from[i];
41
- return to;
42
- };
43
38
  var __importDefault = (this && this.__importDefault) || function (mod) {
44
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
45
40
  };
46
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
+ var DOMException_1 = __importDefault(require("../exception/DOMException"));
43
+ var DOMExceptionNameEnum_1 = __importDefault(require("../exception/DOMExceptionNameEnum"));
47
44
  var CSSParser_1 = __importDefault(require("./CSSParser"));
48
45
  /**
49
46
  * Attr node interface.
47
+ *
48
+ * Reference:
49
+ * https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.
50
50
  */
51
51
  var CSSStyleSheet = /** @class */ (function () {
52
52
  /**
@@ -79,16 +79,27 @@ var CSSStyleSheet = /** @class */ (function () {
79
79
  *
80
80
  * @param rule Rule.
81
81
  * @param [index] Index.
82
+ * @returns The newly inserterted rule's index.
82
83
  */
83
84
  CSSStyleSheet.prototype.insertRule = function (rule, index) {
84
- var _a, _b;
85
85
  var rules = CSSParser_1.default.parseFromString(this, rule);
86
- if (index !== undefined) {
87
- (_a = this.cssRules).splice.apply(_a, __spreadArray([index, 0], rules));
86
+ if (rules.length === 0) {
87
+ throw new DOMException_1.default('Invalid CSS rule.', DOMExceptionNameEnum_1.default.hierarchyRequestError);
88
+ }
89
+ if (rules.length > 1) {
90
+ throw new DOMException_1.default('Only one rule is allowed to be added.', DOMExceptionNameEnum_1.default.syntaxError);
88
91
  }
89
- else {
90
- (_b = this.cssRules).push.apply(_b, rules);
92
+ if (index !== undefined) {
93
+ if (index > this.cssRules.length) {
94
+ throw new DOMException_1.default('Index is more than the length of CSSRuleList.', DOMExceptionNameEnum_1.default.indexSizeError);
95
+ }
96
+ this.cssRules.splice(index, 0);
97
+ this.cssRules.push(rules[0]);
98
+ return index;
91
99
  }
100
+ var newIndex = this.cssRules.length;
101
+ this.cssRules.push(rules[0]);
102
+ return newIndex;
92
103
  };
93
104
  /**
94
105
  * Removes a rule.
@@ -1 +1 @@
1
- {"version":3,"file":"CSSStyleSheet.js","sourceRoot":"","sources":["../../src/css/CSSStyleSheet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAoC;AAIpC;;GAEG;AACH;IAcC;;;;;;;;;;;OAWG;IACH,uBAAY,OAKX;QA9BM,UAAK,GAAW,IAAI,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,iBAAY,GAAW,IAAI,CAAC;QACnB,aAAQ,GAAc,EAAE,CAAC;QA4BxC,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,CAAC;IAED;;;;;;;;OAQG;IACI,kCAAU,GAAjB,UAAkB,IAAY,EAAE,KAAc;;QAC7C,IAAM,KAAK,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,MAAM,0BAAC,KAAK,EAAE,CAAC,GAAK,KAAK,GAAE;SACzC;aAAM;YACN,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,IAAI,WAAI,KAAK,EAAE;SAC7B;IACF,CAAC;IAED;;;;;;;OAOG;IACI,kCAAU,GAAjB,UAAkB,KAAa;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACU,+BAAO,GAApB,UAAqB,IAAY;;;gBAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;;;KACvB;IAED;;;;;;;OAOG;IACI,mCAAW,GAAlB,UAAmB,IAAY;QAClB,IAAI,CAAC,QAAS,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IACF,oBAAC;AAAD,CAAC,AA7FD,IA6FC"}
1
+ {"version":3,"file":"CSSStyleSheet.js","sourceRoot":"","sources":["../../src/css/CSSStyleSheet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAqD;AACrD,2FAAqE;AACrE,0DAAoC;AAIpC;;;;;GAKG;AACH;IAcC;;;;;;;;;;;OAWG;IACH,uBAAY,OAKX;QA9BM,UAAK,GAAW,IAAI,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,iBAAY,GAAW,IAAI,CAAC;QACnB,aAAQ,GAAc,EAAE,CAAC;QA4BxC,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACI,kCAAU,GAAjB,UAAkB,IAAY,EAAE,KAAc;QAC7C,IAAM,KAAK,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,IAAI,sBAAY,CAAC,mBAAmB,EAAE,8BAAoB,CAAC,qBAAqB,CAAC,CAAC;SACxF;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,sBAAY,CACrB,uCAAuC,EACvC,8BAAoB,CAAC,WAAW,CAChC,CAAC;SACF;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACjC,MAAM,IAAI,sBAAY,CACrB,+CAA+C,EAC/C,8BAAoB,CAAC,cAAc,CACnC,CAAC;aACF;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,KAAK,CAAC;SACb;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7B,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACI,kCAAU,GAAjB,UAAkB,KAAa;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACU,+BAAO,GAApB,UAAqB,IAAY;;;gBAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;;;KACvB;IAED;;;;;;;OAOG;IACI,mCAAW,GAAlB,UAAmB,IAAY;QAClB,IAAI,CAAC,QAAS,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IACF,oBAAC;AAAD,CAAC,AArHD,IAqHC"}
@@ -1,4 +1,7 @@
1
1
  declare enum DOMExceptionNameEnum {
2
- invalidStateError = "InvalidStateError"
2
+ invalidStateError = "InvalidStateError",
3
+ indexSizeError = "IndexSizeError",
4
+ syntaxError = "SyntaxError",
5
+ hierarchyRequestError = "HierarchyRequestError"
3
6
  }
4
7
  export default DOMExceptionNameEnum;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var DOMExceptionNameEnum;
4
4
  (function (DOMExceptionNameEnum) {
5
5
  DOMExceptionNameEnum["invalidStateError"] = "InvalidStateError";
6
+ DOMExceptionNameEnum["indexSizeError"] = "IndexSizeError";
7
+ DOMExceptionNameEnum["syntaxError"] = "SyntaxError";
8
+ DOMExceptionNameEnum["hierarchyRequestError"] = "HierarchyRequestError";
6
9
  })(DOMExceptionNameEnum || (DOMExceptionNameEnum = {}));
7
10
  exports.default = DOMExceptionNameEnum;
8
11
  //# sourceMappingURL=DOMExceptionNameEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,oBAEJ;AAFD,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;AACxC,CAAC,EAFI,oBAAoB,KAApB,oBAAoB,QAExB;AACD,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,oBAKJ;AALD,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;IACvC,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;AAChD,CAAC,EALI,oBAAoB,KAApB,oBAAoB,QAKxB;AACD,kBAAe,oBAAoB,CAAC"}
@@ -23,6 +23,7 @@ export default interface INode extends IEventTarget {
23
23
  cloneNode(deep: boolean): INode;
24
24
  appendChild(node: INode): INode;
25
25
  removeChild(node: INode): INode;
26
+ hasChildNodes(): boolean;
26
27
  insertBefore(newNode: INode, referenceNode?: INode | null): INode;
27
28
  replaceChild(newChild: INode, oldChild: INode): INode;
28
29
  toString(): string;
@@ -100,6 +100,12 @@ export default class Node extends EventTarget implements INode {
100
100
  * Disconnected callback.
101
101
  */
102
102
  disconnectedCallback?(): void;
103
+ /**
104
+ * Returns "true" if the node has child nodes.
105
+ *
106
+ * @returns "true" if the node has child nodes.
107
+ */
108
+ hasChildNodes(): boolean;
103
109
  /**
104
110
  * Returns closest root node (Document or ShadowRoot).
105
111
  *
@@ -199,13 +199,21 @@ var Node = /** @class */ (function (_super) {
199
199
  get: function () {
200
200
  var parent = this.parentNode;
201
201
  while (parent && parent.nodeType !== Node.ELEMENT_NODE) {
202
- parent = this.parentNode;
202
+ parent = parent.parentNode;
203
203
  }
204
204
  return parent;
205
205
  },
206
206
  enumerable: false,
207
207
  configurable: true
208
208
  });
209
+ /**
210
+ * Returns "true" if the node has child nodes.
211
+ *
212
+ * @returns "true" if the node has child nodes.
213
+ */
214
+ Node.prototype.hasChildNodes = function () {
215
+ return this.childNodes.length > 0;
216
+ };
209
217
  /**
210
218
  * Returns closest root node (Document or ShadowRoot).
211
219
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,17 @@ declare const _default: {
3
3
  FILTER_REJECT: number;
4
4
  FILTER_SKIP: number;
5
5
  SHOW_ALL: number;
6
+ SHOW_ELEMENT: number;
6
7
  SHOW_ATTRIBUTE: number;
8
+ SHOW_TEXT: number;
7
9
  SHOW_CDATA_SECTION: number;
10
+ SHOW_ENTITY_REFERENCE: number;
11
+ SHOW_ENTITY: number;
12
+ SHOW_PROCESSING_INSTRUCTION: number;
8
13
  SHOW_COMMENT: number;
9
14
  SHOW_DOCUMENT: number;
10
- SHOW_DOCUMENT_FRAGMENT: number;
11
15
  SHOW_DOCUMENT_TYPE: number;
12
- SHOW_ELEMENT: number;
13
- SHOW_ENTITY: number;
14
- SHOW_ENTITY_REFERENCE: number;
16
+ SHOW_DOCUMENT_FRAGMENT: number;
15
17
  SHOW_NOTATION: number;
16
- SHOW_PROCESSING_INSTRUCTION: number;
17
- SHOW_TEXT: number;
18
18
  };
19
19
  export default _default;
@@ -5,17 +5,17 @@ exports.default = {
5
5
  FILTER_REJECT: 2,
6
6
  FILTER_SKIP: 3,
7
7
  SHOW_ALL: -1,
8
+ SHOW_ELEMENT: 1,
8
9
  SHOW_ATTRIBUTE: 2,
10
+ SHOW_TEXT: 4,
9
11
  SHOW_CDATA_SECTION: 8,
12
+ SHOW_ENTITY_REFERENCE: 16,
13
+ SHOW_ENTITY: 32,
14
+ SHOW_PROCESSING_INSTRUCTION: 64,
10
15
  SHOW_COMMENT: 128,
11
16
  SHOW_DOCUMENT: 256,
12
- SHOW_DOCUMENT_FRAGMENT: 1024,
13
17
  SHOW_DOCUMENT_TYPE: 512,
14
- SHOW_ELEMENT: 1,
15
- SHOW_ENTITY: 32,
16
- SHOW_ENTITY_REFERENCE: 16,
17
- SHOW_NOTATION: 2048,
18
- SHOW_PROCESSING_INSTRUCTION: 64,
19
- SHOW_TEXT: 4
18
+ SHOW_DOCUMENT_FRAGMENT: 1024,
19
+ SHOW_NOTATION: 2048
20
20
  };
21
21
  //# sourceMappingURL=NodeFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFilter.js","sourceRoot":"","sources":["../../src/tree-walker/NodeFilter.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,sBAAsB,EAAE,IAAI;IAC5B,kBAAkB,EAAE,GAAG;IACvB,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,EAAE;IACf,qBAAqB,EAAE,EAAE;IACzB,aAAa,EAAE,IAAI;IACnB,2BAA2B,EAAE,EAAE;IAC/B,SAAS,EAAE,CAAC;CACZ,CAAC"}
1
+ {"version":3,"file":"NodeFilter.js","sourceRoot":"","sources":["../../src/tree-walker/NodeFilter.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC;IACZ,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,kBAAkB,EAAE,CAAC;IACrB,qBAAqB,EAAE,EAAE;IACzB,WAAW,EAAE,EAAE;IACf,2BAA2B,EAAE,EAAE;IAC/B,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,IAAI;IAC5B,aAAa,EAAE,IAAI;CACnB,CAAC"}
@@ -68,6 +68,7 @@ var TreeWalker = /** @class */ (function () {
68
68
  }
69
69
  this.parentNode();
70
70
  }
71
+ this.currentNode = null;
71
72
  return null;
72
73
  };
73
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TreeWalker.js","sourceRoot":"","sources":["../../src/tree-walker/TreeWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeWalker.js","sourceRoot":"","sources":["../../src/tree-walker/TreeWalker.ts"],"names":[],"mappings":"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"}
@@ -88,18 +88,18 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
88
88
  FILTER_REJECT: number;
89
89
  FILTER_SKIP: number;
90
90
  SHOW_ALL: number;
91
+ SHOW_ELEMENT: number;
91
92
  SHOW_ATTRIBUTE: number;
93
+ SHOW_TEXT: number;
92
94
  SHOW_CDATA_SECTION: number;
95
+ SHOW_ENTITY_REFERENCE: number;
96
+ SHOW_ENTITY: number;
97
+ SHOW_PROCESSING_INSTRUCTION: number;
93
98
  SHOW_COMMENT: number;
94
99
  SHOW_DOCUMENT: number;
95
- SHOW_DOCUMENT_FRAGMENT: number;
96
100
  SHOW_DOCUMENT_TYPE: number;
97
- SHOW_ELEMENT: number;
98
- SHOW_ENTITY: number;
99
- SHOW_ENTITY_REFERENCE: number;
101
+ SHOW_DOCUMENT_FRAGMENT: number;
100
102
  SHOW_NOTATION: number;
101
- SHOW_PROCESSING_INSTRUCTION: number;
102
- SHOW_TEXT: number;
103
103
  };
104
104
  readonly TreeWalker: typeof TreeWalker;
105
105
  readonly DOMParser: typeof DOMParser;
@@ -8,8 +8,7 @@ var UnnestableElements_1 = __importDefault(require("../config/UnnestableElements
8
8
  var he_1 = require("he");
9
9
  var NamespaceURI_1 = __importDefault(require("../config/NamespaceURI"));
10
10
  var MARKUP_REGEXP = /<(\/?)([a-z][-.0-9_a-z]*)\s*([^>]*?)(\/?)>/gi;
11
- var COMMENT_REGEXP = /<!--(.*?)-->/gi;
12
- var DOCUMENT_TYPE_REGEXP = /<!DOCTYPE[\s]([a-zA-Z]+)([^>]*)>/gm;
11
+ var COMMENT_REGEXP = /<!--(.*?)-->|<([!?])([^>]*)>/gi;
13
12
  var DOCUMENT_TYPE_ATTRIBUTE_REGEXP = /"([^"]+)"/gm;
14
13
  var ATTRIBUTE_REGEXP = /([^\s=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))/gms;
15
14
  var XMLNS_ATTRIBUTE_REGEXP = /xmlns[ ]*=[ ]*"([^"]+)"/;
@@ -128,7 +127,6 @@ var XMLParser = /** @class */ (function () {
128
127
  XMLParser.getTextAndCommentNodes = function (document, text) {
129
128
  var nodes = [];
130
129
  var commentRegExp = new RegExp(COMMENT_REGEXP, 'gms');
131
- var documentTypeRegExp = new RegExp(DOCUMENT_TYPE_REGEXP, 'gm');
132
130
  var hasDocumentType = false;
133
131
  var lastIndex = 0;
134
132
  var match;
@@ -137,27 +135,30 @@ var XMLParser = /** @class */ (function () {
137
135
  var textNode = document.createTextNode(text.substring(lastIndex, match.index));
138
136
  nodes.push(textNode);
139
137
  }
140
- var commentNode = document.createComment(match[1]);
141
- nodes.push(commentNode);
142
- lastIndex = match.index + match[0].length;
143
- }
144
- while ((match = documentTypeRegExp.exec(text))) {
145
- var publicId = '';
146
- var systemId = '';
147
- if (match[2]) {
148
- var attributes = [];
149
- var attributeRegExp = new RegExp(DOCUMENT_TYPE_ATTRIBUTE_REGEXP, 'gm');
150
- var isPublic = match[2].includes('PUBLIC');
151
- var attributeMatch = void 0;
152
- while ((attributeMatch = attributeRegExp.exec(match[2]))) {
153
- attributes.push(attributeMatch[1]);
138
+ if (match[3] && match[3].toUpperCase().startsWith('DOCTYPE')) {
139
+ var docTypeSplit = match[3].split(' ');
140
+ if (docTypeSplit.length > 1) {
141
+ var docTypeString = docTypeSplit.slice(1).join(' ');
142
+ var attributes = [];
143
+ var attributeRegExp = new RegExp(DOCUMENT_TYPE_ATTRIBUTE_REGEXP, 'gm');
144
+ var isPublic = docTypeString.includes('PUBLIC');
145
+ var attributeMatch = void 0;
146
+ while ((attributeMatch = attributeRegExp.exec(docTypeString))) {
147
+ attributes.push(attributeMatch[1]);
148
+ }
149
+ var publicId = isPublic ? attributes[0] || '' : '';
150
+ var systemId = isPublic ? attributes[1] || '' : attributes[0] || '';
151
+ var documentTypeNode = document.implementation.createDocumentType(docTypeSplit[1], publicId, systemId);
152
+ nodes.push(documentTypeNode);
153
+ hasDocumentType = true;
154
154
  }
155
- publicId = isPublic ? attributes[0] || '' : '';
156
- systemId = isPublic ? attributes[1] || '' : attributes[0] || '';
157
155
  }
158
- var documentTypeNode = document.implementation.createDocumentType(match[1], publicId, systemId);
159
- nodes.push(documentTypeNode);
160
- hasDocumentType = true;
156
+ else {
157
+ var comment = match[1] ? match[1] : match[2] === '?' ? '?' + match[3] : match[3];
158
+ var commentNode = document.createComment(comment);
159
+ nodes.push(commentNode);
160
+ lastIndex = match.index + match[0].length;
161
+ }
161
162
  }
162
163
  if (!hasDocumentType && lastIndex < text.length) {
163
164
  var textNode = document.createTextNode(text.substring(lastIndex));
@@ -1 +1 @@
1
- {"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "2.24.1",
3
+ "version": "2.24.5",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -51,6 +51,7 @@
51
51
  "he": "^1.1.1",
52
52
  "node-fetch": "^2.6.1",
53
53
  "sync-request": "^6.1.0",
54
+ "webidl-conversions": "^7.0.0",
54
55
  "whatwg-encoding": "^1.0.5",
55
56
  "whatwg-mimetype": "^2.3.0"
56
57
  },
@@ -73,5 +74,5 @@
73
74
  "ts-jest": "^26.5.6",
74
75
  "typescript": "^4.2.4"
75
76
  },
76
- "gitHead": "402854e5e7ad9ce96e93b33c6d58f83df7f72653"
77
+ "gitHead": "e0f4f0203b1a258596eff7d2ae322f4947381df7"
77
78
  }
@@ -1,9 +1,14 @@
1
+ import DOMException from '../exception/DOMException';
2
+ import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum';
1
3
  import CSSParser from './CSSParser';
2
4
  import CSSRule from './CSSRule';
3
5
  import MediaList from './MediaList';
4
6
 
5
7
  /**
6
8
  * Attr node interface.
9
+ *
10
+ * Reference:
11
+ * https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.
7
12
  */
8
13
  export default class CSSStyleSheet {
9
14
  public value: string = null;
@@ -51,15 +56,39 @@ export default class CSSStyleSheet {
51
56
  *
52
57
  * @param rule Rule.
53
58
  * @param [index] Index.
59
+ * @returns The newly inserterted rule's index.
54
60
  */
55
- public insertRule(rule: string, index?: number): void {
61
+ public insertRule(rule: string, index?: number): number {
56
62
  const rules = CSSParser.parseFromString(this, rule);
57
63
 
64
+ if (rules.length === 0) {
65
+ throw new DOMException('Invalid CSS rule.', DOMExceptionNameEnum.hierarchyRequestError);
66
+ }
67
+
68
+ if (rules.length > 1) {
69
+ throw new DOMException(
70
+ 'Only one rule is allowed to be added.',
71
+ DOMExceptionNameEnum.syntaxError
72
+ );
73
+ }
74
+
58
75
  if (index !== undefined) {
59
- this.cssRules.splice(index, 0, ...rules);
60
- } else {
61
- this.cssRules.push(...rules);
76
+ if (index > this.cssRules.length) {
77
+ throw new DOMException(
78
+ 'Index is more than the length of CSSRuleList.',
79
+ DOMExceptionNameEnum.indexSizeError
80
+ );
81
+ }
82
+ this.cssRules.splice(index, 0);
83
+ this.cssRules.push(rules[0]);
84
+ return index;
62
85
  }
86
+
87
+ const newIndex = this.cssRules.length;
88
+
89
+ this.cssRules.push(rules[0]);
90
+
91
+ return newIndex;
63
92
  }
64
93
 
65
94
  /**
@@ -1,4 +1,7 @@
1
1
  enum DOMExceptionNameEnum {
2
- invalidStateError = 'InvalidStateError'
2
+ invalidStateError = 'InvalidStateError',
3
+ indexSizeError = 'IndexSizeError',
4
+ syntaxError = 'SyntaxError',
5
+ hierarchyRequestError = 'HierarchyRequestError'
3
6
  }
4
7
  export default DOMExceptionNameEnum;
@@ -22,6 +22,7 @@ export default interface INode extends IEventTarget {
22
22
  cloneNode(deep: boolean): INode;
23
23
  appendChild(node: INode): INode;
24
24
  removeChild(node: INode): INode;
25
+ hasChildNodes(): boolean;
25
26
  insertBefore(newNode: INode, referenceNode?: INode | null): INode;
26
27
  replaceChild(newChild: INode, oldChild: INode): INode;
27
28
  toString(): string;
@@ -176,7 +176,7 @@ export default class Node extends EventTarget implements INode {
176
176
  public get parentElement(): IElement {
177
177
  let parent = this.parentNode;
178
178
  while (parent && parent.nodeType !== Node.ELEMENT_NODE) {
179
- parent = this.parentNode;
179
+ parent = parent.parentNode;
180
180
  }
181
181
  return <IElement>parent;
182
182
  }
@@ -191,6 +191,15 @@ export default class Node extends EventTarget implements INode {
191
191
  */
192
192
  public disconnectedCallback?(): void;
193
193
 
194
+ /**
195
+ * Returns "true" if the node has child nodes.
196
+ *
197
+ * @returns "true" if the node has child nodes.
198
+ */
199
+ public hasChildNodes(): boolean {
200
+ return this.childNodes.length > 0;
201
+ }
202
+
194
203
  /**
195
204
  * Returns closest root node (Document or ShadowRoot).
196
205
  *
@@ -3,16 +3,16 @@ export default {
3
3
  FILTER_REJECT: 2,
4
4
  FILTER_SKIP: 3,
5
5
  SHOW_ALL: -1,
6
+ SHOW_ELEMENT: 1,
6
7
  SHOW_ATTRIBUTE: 2,
8
+ SHOW_TEXT: 4,
7
9
  SHOW_CDATA_SECTION: 8,
10
+ SHOW_ENTITY_REFERENCE: 16,
11
+ SHOW_ENTITY: 32,
12
+ SHOW_PROCESSING_INSTRUCTION: 64,
8
13
  SHOW_COMMENT: 128,
9
14
  SHOW_DOCUMENT: 256,
10
- SHOW_DOCUMENT_FRAGMENT: 1024,
11
15
  SHOW_DOCUMENT_TYPE: 512,
12
- SHOW_ELEMENT: 1,
13
- SHOW_ENTITY: 32,
14
- SHOW_ENTITY_REFERENCE: 16,
15
- SHOW_NOTATION: 2048,
16
- SHOW_PROCESSING_INSTRUCTION: 64,
17
- SHOW_TEXT: 4
16
+ SHOW_DOCUMENT_FRAGMENT: 1024,
17
+ SHOW_NOTATION: 2048
18
18
  };
@@ -72,6 +72,8 @@ export default class TreeWalker {
72
72
  this.parentNode();
73
73
  }
74
74
 
75
+ this.currentNode = null;
76
+
75
77
  return null;
76
78
  }
77
79
 
@@ -11,8 +11,7 @@ import IElement from '../nodes/element/IElement';
11
11
  import HTMLLinkElement from '../nodes/html-link-element/HTMLLinkElement';
12
12
 
13
13
  const MARKUP_REGEXP = /<(\/?)([a-z][-.0-9_a-z]*)\s*([^>]*?)(\/?)>/gi;
14
- const COMMENT_REGEXP = /<!--(.*?)-->/gi;
15
- const DOCUMENT_TYPE_REGEXP = /<!DOCTYPE[\s]([a-zA-Z]+)([^>]*)>/gm;
14
+ const COMMENT_REGEXP = /<!--(.*?)-->|<([!?])([^>]*)>/gi;
16
15
  const DOCUMENT_TYPE_ATTRIBUTE_REGEXP = /"([^"]+)"/gm;
17
16
  const ATTRIBUTE_REGEXP = /([^\s=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))/gms;
18
17
  const XMLNS_ATTRIBUTE_REGEXP = /xmlns[ ]*=[ ]*"([^"]+)"/;
@@ -141,7 +140,6 @@ export default class XMLParser {
141
140
  private static getTextAndCommentNodes(document: IDocument, text: string): Node[] {
142
141
  const nodes = [];
143
142
  const commentRegExp = new RegExp(COMMENT_REGEXP, 'gms');
144
- const documentTypeRegExp = new RegExp(DOCUMENT_TYPE_REGEXP, 'gm');
145
143
  let hasDocumentType = false;
146
144
  let lastIndex = 0;
147
145
  let match;
@@ -151,35 +149,38 @@ export default class XMLParser {
151
149
  const textNode = document.createTextNode(text.substring(lastIndex, match.index));
152
150
  nodes.push(textNode);
153
151
  }
154
- const commentNode = document.createComment(match[1]);
155
- nodes.push(commentNode);
156
- lastIndex = match.index + match[0].length;
157
- }
152
+ if (match[3] && match[3].toUpperCase().startsWith('DOCTYPE')) {
153
+ const docTypeSplit = match[3].split(' ');
158
154
 
159
- while ((match = documentTypeRegExp.exec(text))) {
160
- let publicId = '';
161
- let systemId = '';
155
+ if (docTypeSplit.length > 1) {
156
+ const docTypeString = docTypeSplit.slice(1).join(' ');
157
+ const attributes = [];
158
+ const attributeRegExp = new RegExp(DOCUMENT_TYPE_ATTRIBUTE_REGEXP, 'gm');
159
+ const isPublic = docTypeString.includes('PUBLIC');
160
+ let attributeMatch;
162
161
 
163
- if (match[2]) {
164
- const attributes = [];
165
- const attributeRegExp = new RegExp(DOCUMENT_TYPE_ATTRIBUTE_REGEXP, 'gm');
166
- const isPublic = match[2].includes('PUBLIC');
167
- let attributeMatch;
168
- while ((attributeMatch = attributeRegExp.exec(match[2]))) {
169
- attributes.push(attributeMatch[1]);
170
- }
171
- publicId = isPublic ? attributes[0] || '' : '';
172
- systemId = isPublic ? attributes[1] || '' : attributes[0] || '';
173
- }
162
+ while ((attributeMatch = attributeRegExp.exec(docTypeString))) {
163
+ attributes.push(attributeMatch[1]);
164
+ }
174
165
 
175
- const documentTypeNode = document.implementation.createDocumentType(
176
- match[1],
177
- publicId,
178
- systemId
179
- );
166
+ const publicId = isPublic ? attributes[0] || '' : '';
167
+ const systemId = isPublic ? attributes[1] || '' : attributes[0] || '';
180
168
 
181
- nodes.push(documentTypeNode);
182
- hasDocumentType = true;
169
+ const documentTypeNode = document.implementation.createDocumentType(
170
+ docTypeSplit[1],
171
+ publicId,
172
+ systemId
173
+ );
174
+
175
+ nodes.push(documentTypeNode);
176
+ hasDocumentType = true;
177
+ }
178
+ } else {
179
+ const comment = match[1] ? match[1] : match[2] === '?' ? '?' + match[3] : match[3];
180
+ const commentNode = document.createComment(comment);
181
+ nodes.push(commentNode);
182
+ lastIndex = match.index + match[0].length;
183
+ }
183
184
  }
184
185
 
185
186
  if (!hasDocumentType && lastIndex < text.length) {