happy-dom 7.0.3 → 7.0.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.
- package/lib/query-selector/SelectorItem.js +16 -7
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/xml-parser/XMLParser.js +1 -1
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/package.json +2 -2
- package/src/query-selector/SelectorItem.ts +16 -7
- package/src/xml-parser/XMLParser.ts +1 -1
@@ -9,6 +9,7 @@ const ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/;
|
|
9
9
|
const PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g;
|
10
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
13
|
/**
|
13
14
|
* Selector item.
|
14
15
|
*/
|
@@ -22,16 +23,22 @@ class SelectorItem {
|
|
22
23
|
this.tagName = null;
|
23
24
|
const baseSelector = selector.replace(new RegExp(PSUEDO_REGEXP, 'g'), '');
|
24
25
|
this.isAll = baseSelector === '*';
|
25
|
-
this.isID = !this.isAll ? selector.
|
26
|
-
this.isAttribute = !this.isAll &&
|
26
|
+
this.isID = !this.isAll ? selector.indexOf('#') !== -1 : false;
|
27
|
+
this.isAttribute = !this.isAll && baseSelector.includes('[');
|
27
28
|
// If baseSelector !== selector then some psuedo selector was replaced above
|
28
|
-
this.isPseudo = !this.isAll &&
|
29
|
-
this.isClass = !this.isAll &&
|
30
|
-
this.tagName = !this.isAll
|
29
|
+
this.isPseudo = !this.isAll && baseSelector !== selector;
|
30
|
+
this.isClass = !this.isAll && new RegExp(CLASS_REGEXP, 'g').test(baseSelector);
|
31
|
+
this.tagName = !this.isAll ? baseSelector.match(TAG_NAME_REGEXP) : null;
|
31
32
|
this.tagName = this.tagName ? this.tagName[0].toUpperCase() : null;
|
32
33
|
this.isTagName = this.tagName !== null;
|
33
34
|
this.selector = selector;
|
34
|
-
this.id =
|
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
|
+
}
|
35
42
|
}
|
36
43
|
/**
|
37
44
|
* Matches a selector against an element.
|
@@ -47,7 +54,9 @@ class SelectorItem {
|
|
47
54
|
}
|
48
55
|
// ID Match
|
49
56
|
if (this.isID) {
|
50
|
-
|
57
|
+
if (this.id !== element.id) {
|
58
|
+
return false;
|
59
|
+
}
|
51
60
|
}
|
52
61
|
// Tag name match
|
53
62
|
if (this.isTagName) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AAGrD,MAAM,gBAAgB,GACrB,6FAA6F,CAAC;AAC/F,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAChD,MAAM,aAAa,GAAG,sEAAsE,CAAC;AAC7F,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAC5C,MAAM,eAAe,GAAG,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
@@ -75,7 +75,7 @@ class XMLParser {
|
|
75
75
|
if (ChildLessElements_1.default.includes(tagName)) {
|
76
76
|
let childLessMatch = null;
|
77
77
|
while ((childLessMatch = markupRegexp.exec(data))) {
|
78
|
-
if (childLessMatch[2] ===
|
78
|
+
if (childLessMatch[2].toLowerCase() === tagName && childLessMatch[1]) {
|
79
79
|
markupRegexp.lastIndex -= childLessMatch[0].length;
|
80
80
|
break;
|
81
81
|
}
|
@@ -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": "7.0.
|
3
|
+
"version": "7.0.5",
|
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": "
|
78
|
+
"gitHead": "f3a0699d2ec6093407fc87194d7422be43cc0939"
|
79
79
|
}
|
@@ -7,6 +7,7 @@ const ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/;
|
|
7
7
|
const PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g;
|
8
8
|
const CLASS_REGEXP = /\.([a-zA-Z0-9-_$]+)/g;
|
9
9
|
const TAG_NAME_REGEXP = /^[a-zA-Z0-9-]+/;
|
10
|
+
const ID_REGEXP = /#[A-Za-z][-A-Za-z0-9_]*/g;
|
10
11
|
|
11
12
|
/**
|
12
13
|
* Selector item.
|
@@ -31,16 +32,22 @@ export default class SelectorItem {
|
|
31
32
|
const baseSelector = selector.replace(new RegExp(PSUEDO_REGEXP, 'g'), '');
|
32
33
|
|
33
34
|
this.isAll = baseSelector === '*';
|
34
|
-
this.isID = !this.isAll ? selector.
|
35
|
-
this.isAttribute = !this.isAll &&
|
35
|
+
this.isID = !this.isAll ? selector.indexOf('#') !== -1 : false;
|
36
|
+
this.isAttribute = !this.isAll && baseSelector.includes('[');
|
36
37
|
// If baseSelector !== selector then some psuedo selector was replaced above
|
37
|
-
this.isPseudo = !this.isAll &&
|
38
|
-
this.isClass = !this.isAll &&
|
39
|
-
this.tagName = !this.isAll
|
38
|
+
this.isPseudo = !this.isAll && baseSelector !== selector;
|
39
|
+
this.isClass = !this.isAll && new RegExp(CLASS_REGEXP, 'g').test(baseSelector);
|
40
|
+
this.tagName = !this.isAll ? baseSelector.match(TAG_NAME_REGEXP) : null;
|
40
41
|
this.tagName = this.tagName ? this.tagName[0].toUpperCase() : null;
|
41
42
|
this.isTagName = this.tagName !== null;
|
42
43
|
this.selector = selector;
|
43
|
-
this.id =
|
44
|
+
this.id = null;
|
45
|
+
if (!this.isAll && this.isID) {
|
46
|
+
const idMatches = baseSelector.match(ID_REGEXP);
|
47
|
+
if (idMatches) {
|
48
|
+
this.id = idMatches[0].replace('#', '');
|
49
|
+
}
|
50
|
+
}
|
44
51
|
}
|
45
52
|
|
46
53
|
/**
|
@@ -59,7 +66,9 @@ export default class SelectorItem {
|
|
59
66
|
|
60
67
|
// ID Match
|
61
68
|
if (this.isID) {
|
62
|
-
|
69
|
+
if (this.id !== element.id) {
|
70
|
+
return false;
|
71
|
+
}
|
63
72
|
}
|
64
73
|
|
65
74
|
// Tag name match
|
@@ -93,7 +93,7 @@ export default class XMLParser {
|
|
93
93
|
if (ChildLessElements.includes(tagName)) {
|
94
94
|
let childLessMatch = null;
|
95
95
|
while ((childLessMatch = markupRegexp.exec(data))) {
|
96
|
-
if (childLessMatch[2] ===
|
96
|
+
if (childLessMatch[2].toLowerCase() === tagName && childLessMatch[1]) {
|
97
97
|
markupRegexp.lastIndex -= childLessMatch[0].length;
|
98
98
|
break;
|
99
99
|
}
|