happy-dom 13.1.2 → 13.1.3

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.

@@ -31,6 +31,10 @@ const NodeList_js_1 = __importDefault(require("../nodes/node/NodeList.cjs"));
31
31
  const NodeTypeEnum_js_1 = __importDefault(require("../nodes/node/NodeTypeEnum.cjs"));
32
32
  const SelectorCombinatorEnum_js_1 = __importDefault(require("./SelectorCombinatorEnum.cjs"));
33
33
  const SelectorParser_js_1 = __importDefault(require("./SelectorParser.cjs"));
34
+ /**
35
+ * Invalid Selector RegExp.
36
+ */
37
+ const INVALID_SELECTOR_REGEXP = /^[.#\[]?\d/;
34
38
  /**
35
39
  * Utility for query selection in an HTML element.
36
40
  *
@@ -46,11 +50,14 @@ class QuerySelector {
46
50
  */
47
51
  static querySelectorAll(node, selector) {
48
52
  if (selector === '') {
49
- throw new Error("Failed to execute 'querySelectorAll' on 'Element': The provided selector is empty.");
53
+ throw new Error(`Failed to execute 'querySelectorAll' on '${node.constructor.name}': The provided selector is empty.`);
50
54
  }
51
55
  if (selector === null || selector === undefined) {
52
56
  return new NodeList_js_1.default();
53
57
  }
58
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
59
+ throw new Error(`Failed to execute 'querySelectorAll' on '${node.constructor.name}': '${selector}' is not a valid selector.`);
60
+ }
54
61
  const groups = SelectorParser_js_1.default.getSelectorGroups(selector);
55
62
  let matches = [];
56
63
  for (const items of groups) {
@@ -78,11 +85,14 @@ class QuerySelector {
78
85
  */
79
86
  static querySelector(node, selector) {
80
87
  if (selector === '') {
81
- throw new Error("Failed to execute 'querySelector' on 'Element': The provided selector is empty.");
88
+ throw new Error(`Failed to execute 'querySelector' on '${node.constructor.name}': The provided selector is empty.`);
82
89
  }
83
90
  if (selector === null || selector === undefined) {
84
91
  return null;
85
92
  }
93
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
94
+ throw new Error(`Failed to execute 'querySelector' on '${node.constructor.name}': '${selector}' is not a valid selector.`);
95
+ }
86
96
  for (const items of SelectorParser_js_1.default.getSelectorGroups(selector)) {
87
97
  const match = node[PropertySymbol.nodeType] === NodeTypeEnum_js_1.default.elementNode
88
98
  ? this.findFirst(node, [node], items)
@@ -101,11 +111,17 @@ class QuerySelector {
101
111
  * @returns Result.
102
112
  */
103
113
  static match(element, selector) {
114
+ if (!selector) {
115
+ return null;
116
+ }
104
117
  if (selector === '*') {
105
118
  return {
106
119
  priorityWeight: 1
107
120
  };
108
121
  }
122
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
123
+ throw new Error(`Failed to execute 'match' on '${element.constructor.name}': '${selector}' is not a valid selector.`);
124
+ }
109
125
  for (const items of SelectorParser_js_1.default.getSelectorGroups(selector)) {
110
126
  const result = this.matchSelector(element, element, items.reverse());
111
127
  if (result) {
@@ -1 +1 @@
1
- {"version":3,"file":"QuerySelector.cjs","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuerySelector.cjs","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export default class QuerySelector {
24
24
  * @param selector Selector.
25
25
  * @returns HTML element.
26
26
  */
27
- static querySelector(node: IElement | IDocument | IDocumentFragment, selector: string): IElement;
27
+ static querySelector(node: IElement | IDocument | IDocumentFragment, selector: string): IElement | null;
28
28
  /**
29
29
  * Checks if an element matches a selector and returns priority weight.
30
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAKnD,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AAEhF,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAQjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,SAAS,CAAC,QAAQ,CAAC;IAqCtB;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,QAAQ;IAyBX;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAkB/E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgE5B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAqEtB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6DxB"}
1
+ {"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAKnD,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AAEhF,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAajD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,SAAS,CAAC,QAAQ,CAAC;IA2CtB;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,QAAQ,GAAG,IAAI;IA+BlB;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IA4B/E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgE5B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAqEtB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6DxB"}
package/cjs/version.cjs CHANGED
@@ -1 +1 @@
1
- module.exports = { default: { version: '13.1.2' } };
1
+ module.exports = { default: { version: '13.1.3' } };
@@ -24,7 +24,7 @@ export default class QuerySelector {
24
24
  * @param selector Selector.
25
25
  * @returns HTML element.
26
26
  */
27
- static querySelector(node: IElement | IDocument | IDocumentFragment, selector: string): IElement;
27
+ static querySelector(node: IElement | IDocument | IDocumentFragment, selector: string): IElement | null;
28
28
  /**
29
29
  * Checks if an element matches a selector and returns priority weight.
30
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAKnD,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AAEhF,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAQjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,SAAS,CAAC,QAAQ,CAAC;IAqCtB;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,QAAQ;IAyBX;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAkB/E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgE5B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAqEtB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6DxB"}
1
+ {"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAKnD,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AAEhF,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAajD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,SAAS,CAAC,QAAQ,CAAC;IA2CtB;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,QAAQ,GAAG,IAAI;IA+BlB;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IA4B/E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgE5B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAqEtB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6DxB"}
@@ -3,6 +3,10 @@ import NodeList from '../nodes/node/NodeList.js';
3
3
  import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
4
4
  import SelectorCombinatorEnum from './SelectorCombinatorEnum.js';
5
5
  import SelectorParser from './SelectorParser.js';
6
+ /**
7
+ * Invalid Selector RegExp.
8
+ */
9
+ const INVALID_SELECTOR_REGEXP = /^[.#\[]?\d/;
6
10
  /**
7
11
  * Utility for query selection in an HTML element.
8
12
  *
@@ -18,11 +22,14 @@ export default class QuerySelector {
18
22
  */
19
23
  static querySelectorAll(node, selector) {
20
24
  if (selector === '') {
21
- throw new Error("Failed to execute 'querySelectorAll' on 'Element': The provided selector is empty.");
25
+ throw new Error(`Failed to execute 'querySelectorAll' on '${node.constructor.name}': The provided selector is empty.`);
22
26
  }
23
27
  if (selector === null || selector === undefined) {
24
28
  return new NodeList();
25
29
  }
30
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
31
+ throw new Error(`Failed to execute 'querySelectorAll' on '${node.constructor.name}': '${selector}' is not a valid selector.`);
32
+ }
26
33
  const groups = SelectorParser.getSelectorGroups(selector);
27
34
  let matches = [];
28
35
  for (const items of groups) {
@@ -50,11 +57,14 @@ export default class QuerySelector {
50
57
  */
51
58
  static querySelector(node, selector) {
52
59
  if (selector === '') {
53
- throw new Error("Failed to execute 'querySelector' on 'Element': The provided selector is empty.");
60
+ throw new Error(`Failed to execute 'querySelector' on '${node.constructor.name}': The provided selector is empty.`);
54
61
  }
55
62
  if (selector === null || selector === undefined) {
56
63
  return null;
57
64
  }
65
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
66
+ throw new Error(`Failed to execute 'querySelector' on '${node.constructor.name}': '${selector}' is not a valid selector.`);
67
+ }
58
68
  for (const items of SelectorParser.getSelectorGroups(selector)) {
59
69
  const match = node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode
60
70
  ? this.findFirst(node, [node], items)
@@ -73,11 +83,17 @@ export default class QuerySelector {
73
83
  * @returns Result.
74
84
  */
75
85
  static match(element, selector) {
86
+ if (!selector) {
87
+ return null;
88
+ }
76
89
  if (selector === '*') {
77
90
  return {
78
91
  priorityWeight: 1
79
92
  };
80
93
  }
94
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
95
+ throw new Error(`Failed to execute 'match' on '${element.constructor.name}': '${selector}' is not a valid selector.`);
96
+ }
81
97
  for (const items of SelectorParser.getSelectorGroups(selector)) {
82
98
  const result = this.matchSelector(element, element, items.reverse());
83
99
  if (result) {
@@ -1 +1 @@
1
- {"version":3,"file":"QuerySelector.js","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuerySelector.js","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAGjE,OAAO,cAAc,MAAM,qBAAqB,CAAC;AASjD;;GAEG;AACH,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;IACI,MAAM,CAAC,gBAAgB,CAC7B,IAA8C,EAC9C,QAAgB;QAEhB,IAAI,QAAQ,KAAK,EAAE,EAAE;YACpB,MAAM,IAAI,KAAK,CACd,4CAA4C,IAAI,CAAC,WAAW,CAAC,IAAI,oCAAoC,CACrG,CAAC;SACF;QAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;YAChD,OAAO,IAAI,QAAQ,EAAY,CAAC;SAChC;QAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CACd,4CAA4C,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,QAAQ,4BAA4B,CAC5G,CAAC;SACF;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,OAAO,GAAkC,EAAE,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,WAAW;gBACzD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAW,IAAI,EAAE,CAAW,IAAI,CAAC,EAAE,KAAK,CAAC;gBACvD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAY,IAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CACtE,CAAC;SACF;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAY,CAAC;QAC1C,MAAM,UAAU,GAAqC,EAAE,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACnD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7D;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAChD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAC1B,IAA8C,EAC9C,QAAgB;QAEhB,IAAI,QAAQ,KAAK,EAAE,EAAE;YACpB,MAAM,IAAI,KAAK,CACd,yCAAyC,IAAI,CAAC,WAAW,CAAC,IAAI,oCAAoC,CAClG,CAAC;SACF;QAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;YAChD,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CACd,yCAAyC,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,QAAQ,4BAA4B,CACzG,CAAC;SACF;QAED,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAC/D,MAAM,KAAK,GACV,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,WAAW;gBACzD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAW,IAAI,EAAE,CAAW,IAAI,CAAC,EAAE,KAAK,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAY,IAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1E,IAAI,KAAK,EAAE;gBACV,OAAO,KAAK,CAAC;aACb;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAiB,EAAE,QAAgB;QACtD,IAAI,CAAC,QAAQ,EAAE;YACd,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,QAAQ,KAAK,GAAG,EAAE;YACrB,OAAO;gBACN,cAAc,EAAE,CAAC;aACjB,CAAC;SACF;QAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CACd,iCAAiC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,QAAQ,4BAA4B,CACpG,CAAC;SACF;QAED,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAErE,IAAI,MAAM,EAAE;gBACX,OAAO,MAAM,CAAC;aACd;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,aAAa,CAC3B,aAAuB,EACvB,cAAwB,EACxB,aAA6B,EAC7B,cAAc,GAAG,CAAC;QAElB,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,MAAM,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO;oBACN,cAAc,EAAE,cAAc,GAAG,MAAM,CAAC,cAAc;iBACtD,CAAC;aACF;YAED,QAAQ,YAAY,CAAC,UAAU,EAAE;gBAChC,KAAK,sBAAsB,CAAC,eAAe;oBAC1C,IAAI,cAAc,CAAC,sBAAsB,EAAE;wBAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAC/B,aAAa,EACb,cAAc,CAAC,sBAAsB,EACrC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,cAAc,GAAG,MAAM,CAAC,cAAc,CACtC,CAAC;wBAEF,IAAI,KAAK,EAAE;4BACV,OAAO,KAAK,CAAC;yBACb;qBACD;oBACD,MAAM;gBACP,KAAK,sBAAsB,CAAC,KAAK,CAAC;gBAClC,KAAK,sBAAsB,CAAC,UAAU;oBACrC,IAAI,cAAc,CAAC,aAAa,EAAE;wBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAC/B,aAAa,EACb,cAAc,CAAC,aAAa,EAC5B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,cAAc,GAAG,MAAM,CAAC,cAAc,CACtC,CAAC;wBACF,IAAI,KAAK,EAAE;4BACV,OAAO,KAAK,CAAC;yBACb;qBACD;oBACD,MAAM;aACP;SACD;QAED,IACC,YAAY,CAAC,UAAU,KAAK,sBAAsB,CAAC,UAAU;YAC7D,aAAa,KAAK,cAAc;YAChC,cAAc,CAAC,aAAa,EAC3B;YACD,OAAO,IAAI,CAAC,aAAa,CACxB,aAAa,EACb,cAAc,CAAC,aAAa,EAC5B,aAAa,EACb,cAAc,CACd,CAAC;SACF;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,OAAO,CACrB,WAAqB,EACrB,QAAoB,EACpB,aAA6B,EAC7B,gBAAyB;QAEzB,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAkC,EAAE,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE3F,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,gBAAgB,EAAE;oBACtB,IAAI,WAAW,KAAK,KAAK,EAAE;wBAC1B,OAAO,CAAC,IAAI,CAAC;4BACZ,gBAAgB,EAAE,QAAQ;4BAC1B,OAAO,EAAE,KAAK;yBACd,CAAC,CAAC;qBACH;iBACD;qBAAM;oBACN,QAAQ,gBAAgB,CAAC,UAAU,EAAE;wBACpC,KAAK,sBAAsB,CAAC,eAAe;4BAC1C,IAAI,KAAK,CAAC,kBAAkB,EAAE;gCAC7B,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,IAAI,CAAC,OAAO,CACX,WAAW,EACX,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC1B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,QAAQ,CACR,CACD,CAAC;6BACF;4BACD,MAAM;wBACP,KAAK,sBAAsB,CAAC,UAAU,CAAC;wBACvC,KAAK,sBAAsB,CAAC,KAAK;4BAChC,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,IAAI,CAAC,OAAO,CACX,WAAW,EACD,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EACzC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,QAAQ,CACR,CACD,CAAC;4BACF,MAAM;qBACP;iBACD;aACD;YAED,IACC,YAAY,CAAC,UAAU,KAAK,sBAAsB,CAAC,UAAU;gBACnD,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,EAC/C;gBACD,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,IAAI,CAAC,OAAO,CACX,WAAW,EACD,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EACzC,aAAa,EACb,QAAQ,CACR,CACD,CAAC;aACF;SACD;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,SAAS,CACvB,WAAqB,EACrB,QAAoB,EACpB,aAA6B;QAE7B,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC7B,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,gBAAgB,EAAE;oBACtB,IAAI,WAAW,KAAK,KAAK,EAAE;wBAC1B,OAAO,KAAK,CAAC;qBACb;iBACD;qBAAM;oBACN,QAAQ,gBAAgB,CAAC,UAAU,EAAE;wBACpC,KAAK,sBAAsB,CAAC,eAAe;4BAC1C,IAAI,KAAK,CAAC,kBAAkB,EAAE;gCAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC3B,WAAW,EACX,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC1B,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CACtB,CAAC;gCACF,IAAI,KAAK,EAAE;oCACV,OAAO,KAAK,CAAC;iCACb;6BACD;4BACD,MAAM;wBACP,KAAK,sBAAsB,CAAC,UAAU,CAAC;wBACvC,KAAK,sBAAsB,CAAC,KAAK;4BAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC3B,WAAW,EACD,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EACzC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CACtB,CAAC;4BACF,IAAI,KAAK,EAAE;gCACV,OAAO,KAAK,CAAC;6BACb;4BACD,MAAM;qBACP;iBACD;aACD;YAED,IACC,YAAY,CAAC,UAAU,KAAK,sBAAsB,CAAC,UAAU;gBACnD,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,EAC/C;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC3B,WAAW,EACD,KAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EACzC,aAAa,CACb,CAAC;gBAEF,IAAI,KAAK,EAAE;oBACV,OAAO,KAAK,CAAC;iBACb;aACD;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
package/lib/version.js CHANGED
@@ -1 +1 @@
1
- export default { version: '13.1.2' };
1
+ export default { version: '13.1.3' };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "13.1.2",
3
+ "version": "13.1.3",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -16,6 +16,11 @@ type IDocumentPositionAndElement = {
16
16
  element: IElement;
17
17
  };
18
18
 
19
+ /**
20
+ * Invalid Selector RegExp.
21
+ */
22
+ const INVALID_SELECTOR_REGEXP = /^[.#\[]?\d/;
23
+
19
24
  /**
20
25
  * Utility for query selection in an HTML element.
21
26
  *
@@ -35,7 +40,7 @@ export default class QuerySelector {
35
40
  ): INodeList<IElement> {
36
41
  if (selector === '') {
37
42
  throw new Error(
38
- "Failed to execute 'querySelectorAll' on 'Element': The provided selector is empty."
43
+ `Failed to execute 'querySelectorAll' on '${node.constructor.name}': The provided selector is empty.`
39
44
  );
40
45
  }
41
46
 
@@ -43,6 +48,12 @@ export default class QuerySelector {
43
48
  return new NodeList<IElement>();
44
49
  }
45
50
 
51
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
52
+ throw new Error(
53
+ `Failed to execute 'querySelectorAll' on '${node.constructor.name}': '${selector}' is not a valid selector.`
54
+ );
55
+ }
56
+
46
57
  const groups = SelectorParser.getSelectorGroups(selector);
47
58
  let matches: IDocumentPositionAndElement[] = [];
48
59
 
@@ -79,10 +90,10 @@ export default class QuerySelector {
79
90
  public static querySelector(
80
91
  node: IElement | IDocument | IDocumentFragment,
81
92
  selector: string
82
- ): IElement {
93
+ ): IElement | null {
83
94
  if (selector === '') {
84
95
  throw new Error(
85
- "Failed to execute 'querySelector' on 'Element': The provided selector is empty."
96
+ `Failed to execute 'querySelector' on '${node.constructor.name}': The provided selector is empty.`
86
97
  );
87
98
  }
88
99
 
@@ -90,6 +101,12 @@ export default class QuerySelector {
90
101
  return null;
91
102
  }
92
103
 
104
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
105
+ throw new Error(
106
+ `Failed to execute 'querySelector' on '${node.constructor.name}': '${selector}' is not a valid selector.`
107
+ );
108
+ }
109
+
93
110
  for (const items of SelectorParser.getSelectorGroups(selector)) {
94
111
  const match =
95
112
  node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode
@@ -112,12 +129,22 @@ export default class QuerySelector {
112
129
  * @returns Result.
113
130
  */
114
131
  public static match(element: IElement, selector: string): ISelectorMatch | null {
132
+ if (!selector) {
133
+ return null;
134
+ }
135
+
115
136
  if (selector === '*') {
116
137
  return {
117
138
  priorityWeight: 1
118
139
  };
119
140
  }
120
141
 
142
+ if (INVALID_SELECTOR_REGEXP.test(selector)) {
143
+ throw new Error(
144
+ `Failed to execute 'match' on '${element.constructor.name}': '${selector}' is not a valid selector.`
145
+ );
146
+ }
147
+
121
148
  for (const items of SelectorParser.getSelectorGroups(selector)) {
122
149
  const result = this.matchSelector(element, element, items.reverse());
123
150