happy-dom 7.7.0 → 7.7.1

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.

@@ -6,10 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const DOMException_1 = __importDefault(require("../exception/DOMException"));
7
7
  const ATTRIBUTE_REGEXP = /\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+)([~|^$*]{0,1})[ ]*=[ ]*["']{0,1}([^"']+)["']{0,1}\]/g;
8
8
  const ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/;
9
- const PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g;
10
- const CLASS_REGEXP = /\.([a-zA-Z0-9-_$]+)/g;
9
+ const PSUEDO_REGEXP = /(?<!\\):([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|(?<!\\):not\(([^)]+)\)|(?<!\\):([a-zA-Z-]+)/g;
10
+ const CLASS_REGEXP = /\.(([a-zA-Z0-9-_$]|\\.)+)/g;
11
11
  const TAG_NAME_REGEXP = /^[a-zA-Z0-9-]+/;
12
- const ID_REGEXP = /#[A-Za-z][-A-Za-z0-9_]*/g;
12
+ const ID_REGEXP = /(?<!\\)#[A-Za-z][-A-Za-z0-9_]*/g;
13
+ const CSS_ESCAPE_REGEXP = /(?<!\\):/g;
14
+ const CSS_ESCAPE_CHAR_REGEXP = /\\/g;
13
15
  /**
14
16
  * Selector item.
15
17
  */
@@ -22,8 +24,9 @@ class SelectorItem {
22
24
  constructor(selector) {
23
25
  this.tagName = null;
24
26
  const baseSelector = selector.replace(new RegExp(PSUEDO_REGEXP, 'g'), '');
27
+ const idMatch = !this.isAll && selector.includes('#') ? baseSelector.match(ID_REGEXP) : null;
25
28
  this.isAll = baseSelector === '*';
26
- this.isID = !this.isAll ? selector.indexOf('#') !== -1 : false;
29
+ this.isID = !!idMatch;
27
30
  this.isAttribute = !this.isAll && baseSelector.includes('[');
28
31
  // If baseSelector !== selector then some psuedo selector was replaced above
29
32
  this.isPseudo = !this.isAll && baseSelector !== selector;
@@ -32,13 +35,7 @@ class SelectorItem {
32
35
  this.tagName = this.tagName ? this.tagName[0].toUpperCase() : null;
33
36
  this.isTagName = this.tagName !== null;
34
37
  this.selector = selector;
35
- this.id = null;
36
- if (!this.isAll && this.isID) {
37
- const idMatches = baseSelector.match(ID_REGEXP);
38
- if (idMatches) {
39
- this.id = idMatches[0].replace('#', '');
40
- }
41
- }
38
+ this.id = idMatch ? idMatch[0].replace('#', '') : null;
42
39
  }
43
40
  /**
44
41
  * Matches a selector against an element.
@@ -247,12 +244,12 @@ class SelectorItem {
247
244
  matchesClass(element, selector) {
248
245
  const regexp = new RegExp(CLASS_REGEXP, 'g');
249
246
  const classList = element.className.split(' ');
250
- const classSelector = selector.split(':')[0];
247
+ const classSelector = selector.split(CSS_ESCAPE_REGEXP)[0];
251
248
  let priorityWeight = 0;
252
249
  let match;
253
250
  while ((match = regexp.exec(classSelector))) {
254
251
  priorityWeight += 10;
255
- if (!classList.includes(match[1])) {
252
+ if (!classList.includes(match[1].replace(CSS_ESCAPE_CHAR_REGEXP, ''))) {
256
253
  return { priorityWeight: 0, matches: false };
257
254
  }
258
255
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "7.7.0",
3
+ "version": "7.7.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -75,5 +75,5 @@
75
75
  "ts-jest": "^27.1.3",
76
76
  "typescript": "^4.6.2"
77
77
  },
78
- "gitHead": "9eb21a6f922278fe17ff2d4b99f2a2898fe2053f"
78
+ "gitHead": "f9e61f10ae1a1d9e1d05d6a2f1b4896dc9e2434a"
79
79
  }
@@ -5,10 +5,13 @@ import Element from '../nodes/element/Element';
5
5
  const ATTRIBUTE_REGEXP =
6
6
  /\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+)([~|^$*]{0,1})[ ]*=[ ]*["']{0,1}([^"']+)["']{0,1}\]/g;
7
7
  const ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/;
8
- const PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g;
9
- const CLASS_REGEXP = /\.([a-zA-Z0-9-_$]+)/g;
8
+ const PSUEDO_REGEXP =
9
+ /(?<!\\):([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|(?<!\\):not\(([^)]+)\)|(?<!\\):([a-zA-Z-]+)/g;
10
+ const CLASS_REGEXP = /\.(([a-zA-Z0-9-_$]|\\.)+)/g;
10
11
  const TAG_NAME_REGEXP = /^[a-zA-Z0-9-]+/;
11
- const ID_REGEXP = /#[A-Za-z][-A-Za-z0-9_]*/g;
12
+ const ID_REGEXP = /(?<!\\)#[A-Za-z][-A-Za-z0-9_]*/g;
13
+ const CSS_ESCAPE_REGEXP = /(?<!\\):/g;
14
+ const CSS_ESCAPE_CHAR_REGEXP = /\\/g;
12
15
 
13
16
  /**
14
17
  * Selector item.
@@ -31,9 +34,10 @@ export default class SelectorItem {
31
34
  */
32
35
  constructor(selector: string) {
33
36
  const baseSelector = selector.replace(new RegExp(PSUEDO_REGEXP, 'g'), '');
37
+ const idMatch = !this.isAll && selector.includes('#') ? baseSelector.match(ID_REGEXP) : null;
34
38
 
35
39
  this.isAll = baseSelector === '*';
36
- this.isID = !this.isAll ? selector.indexOf('#') !== -1 : false;
40
+ this.isID = !!idMatch;
37
41
  this.isAttribute = !this.isAll && baseSelector.includes('[');
38
42
  // If baseSelector !== selector then some psuedo selector was replaced above
39
43
  this.isPseudo = !this.isAll && baseSelector !== selector;
@@ -42,14 +46,7 @@ export default class SelectorItem {
42
46
  this.tagName = this.tagName ? this.tagName[0].toUpperCase() : null;
43
47
  this.isTagName = this.tagName !== null;
44
48
  this.selector = selector;
45
- this.id = null;
46
-
47
- if (!this.isAll && this.isID) {
48
- const idMatches = baseSelector.match(ID_REGEXP);
49
- if (idMatches) {
50
- this.id = idMatches[0].replace('#', '');
51
- }
52
- }
49
+ this.id = idMatch ? idMatch[0].replace('#', '') : null;
53
50
  }
54
51
 
55
52
  /**
@@ -296,13 +293,13 @@ export default class SelectorItem {
296
293
  ): { priorityWeight: number; matches: boolean } {
297
294
  const regexp = new RegExp(CLASS_REGEXP, 'g');
298
295
  const classList = element.className.split(' ');
299
- const classSelector = selector.split(':')[0];
296
+ const classSelector = selector.split(CSS_ESCAPE_REGEXP)[0];
300
297
  let priorityWeight = 0;
301
298
  let match: RegExpMatchArray;
302
299
 
303
300
  while ((match = regexp.exec(classSelector))) {
304
301
  priorityWeight += 10;
305
- if (!classList.includes(match[1])) {
302
+ if (!classList.includes(match[1].replace(CSS_ESCAPE_CHAR_REGEXP, ''))) {
306
303
  return { priorityWeight: 0, matches: false };
307
304
  }
308
305
  }