happy-dom 2.40.1 → 2.40.2
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/nodes/html-element/HTMLElement.d.ts +5 -5
- package/lib/nodes/html-element/HTMLElement.js +21 -7
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/xml-parser/XMLParser.js +7 -5
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/package.json +2 -2
- package/src/nodes/html-element/HTMLElement.ts +21 -7
- package/src/xml-parser/XMLParser.ts +7 -5
@@ -33,17 +33,17 @@ export default class HTMLElement extends Element implements IHTMLElement {
|
|
33
33
|
*/
|
34
34
|
set tabIndex(tabIndex: number);
|
35
35
|
/**
|
36
|
-
* Returns inner text.
|
36
|
+
* Returns inner text, which is the rendered appearance of text.
|
37
37
|
*
|
38
|
-
* @returns
|
38
|
+
* @returns Inner text.
|
39
39
|
*/
|
40
40
|
get innerText(): string;
|
41
41
|
/**
|
42
|
-
* Sets inner text.
|
42
|
+
* Sets the inner text, which is the rendered appearance of text.
|
43
43
|
*
|
44
|
-
* @param text
|
44
|
+
* @param innerText Inner text.
|
45
45
|
*/
|
46
|
-
set innerText(
|
46
|
+
set innerText(innerText: string);
|
47
47
|
/**
|
48
48
|
* Returns style.
|
49
49
|
*
|
@@ -22,6 +22,7 @@ var Element_1 = __importDefault(require("../element/Element"));
|
|
22
22
|
var CSSStyleDeclaration_1 = __importDefault(require("../../css/CSSStyleDeclaration"));
|
23
23
|
var FocusEvent_1 = __importDefault(require("../../event/events/FocusEvent"));
|
24
24
|
var PointerEvent_1 = __importDefault(require("../../event/events/PointerEvent"));
|
25
|
+
var Node_1 = __importDefault(require("../node/Node"));
|
25
26
|
/**
|
26
27
|
* HTML Element.
|
27
28
|
*
|
@@ -73,20 +74,33 @@ var HTMLElement = /** @class */ (function (_super) {
|
|
73
74
|
});
|
74
75
|
Object.defineProperty(HTMLElement.prototype, "innerText", {
|
75
76
|
/**
|
76
|
-
* Returns inner text.
|
77
|
+
* Returns inner text, which is the rendered appearance of text.
|
77
78
|
*
|
78
|
-
* @returns
|
79
|
+
* @returns Inner text.
|
79
80
|
*/
|
80
81
|
get: function () {
|
81
|
-
|
82
|
+
var result = '';
|
83
|
+
for (var _i = 0, _a = this.childNodes; _i < _a.length; _i++) {
|
84
|
+
var childNode = _a[_i];
|
85
|
+
if (childNode instanceof HTMLElement) {
|
86
|
+
if (childNode.tagName !== 'SCRIPT' && childNode.tagName !== 'STYLE') {
|
87
|
+
result += childNode.innerText;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
else if (childNode.nodeType === Node_1.default.ELEMENT_NODE ||
|
91
|
+
childNode.nodeType === Node_1.default.TEXT_NODE) {
|
92
|
+
result += childNode.textContent;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
return result;
|
82
96
|
},
|
83
97
|
/**
|
84
|
-
* Sets inner text.
|
98
|
+
* Sets the inner text, which is the rendered appearance of text.
|
85
99
|
*
|
86
|
-
* @param text
|
100
|
+
* @param innerText Inner text.
|
87
101
|
*/
|
88
|
-
set: function (
|
89
|
-
this.textContent =
|
102
|
+
set: function (innerText) {
|
103
|
+
this.textContent = innerText;
|
90
104
|
},
|
91
105
|
enumerable: false,
|
92
106
|
configurable: true
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+DAAyC;AAEzC,sFAAgE;AAEhE,6EAAuD;AACvD,iFAA2D;
|
1
|
+
{"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"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"}
|
@@ -36,7 +36,6 @@ var XMLParser = /** @class */ (function () {
|
|
36
36
|
var parentUnnestableTagName = null;
|
37
37
|
var lastTextIndex = 0;
|
38
38
|
var match;
|
39
|
-
var childLessIndex = 0;
|
40
39
|
while ((match = markupRegexp.exec(data))) {
|
41
40
|
var tagName = match[2].toLowerCase();
|
42
41
|
var isStartTag = !match[1];
|
@@ -80,14 +79,17 @@ var XMLParser = /** @class */ (function () {
|
|
80
79
|
else {
|
81
80
|
parent.appendChild(newElement);
|
82
81
|
}
|
83
|
-
lastTextIndex =
|
82
|
+
lastTextIndex = markupRegexp.lastIndex;
|
84
83
|
// Tags which contain non-parsed content
|
85
84
|
// For example: <script> JavaScript should not be parsed
|
86
85
|
if (ChildLessElements_1.default.includes(tagName)) {
|
87
|
-
|
88
|
-
|
86
|
+
var childLessMatch = null;
|
87
|
+
while ((childLessMatch = markupRegexp.exec(data))) {
|
88
|
+
if (childLessMatch[2] === match[2] && childLessMatch[1]) {
|
89
|
+
markupRegexp.lastIndex -= childLessMatch[0].length;
|
90
|
+
break;
|
91
|
+
}
|
89
92
|
}
|
90
|
-
markupRegexp.lastIndex = childLessIndex;
|
91
93
|
}
|
92
94
|
}
|
93
95
|
else {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":";;;;;AAGA,sFAAgE;AAChE,oFAA8D;AAC9D,kFAA4D;AAC5D,yBAA4B;AAC5B,wEAAkD;AAMlD,IAAM,aAAa,GAAG,8CAA8C,CAAC;AACrE,IAAM,cAAc,GAAG,gCAAgC,CAAC;AACxD,IAAM,8BAA8B,GAAG,aAAa,CAAC;AACrD,IAAM,gBAAgB,GAAG,sDAAsD,CAAC;AAChF,IAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAEzD;;GAEG;AACH;IAAA;
|
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.40.
|
3
|
+
"version": "2.40.2",
|
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": "^26.5.6",
|
76
76
|
"typescript": "^4.2.4"
|
77
77
|
},
|
78
|
-
"gitHead": "
|
78
|
+
"gitHead": "f00a0abe098f8e9c42dd4cf1cfdab5fa7e21a92c"
|
79
79
|
}
|
@@ -4,6 +4,7 @@ import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
|
|
4
4
|
import Attr from '../../attribute/Attr';
|
5
5
|
import FocusEvent from '../../event/events/FocusEvent';
|
6
6
|
import PointerEvent from '../../event/events/PointerEvent';
|
7
|
+
import Node from '../node/Node';
|
7
8
|
|
8
9
|
/**
|
9
10
|
* HTML Element.
|
@@ -49,21 +50,34 @@ export default class HTMLElement extends Element implements IHTMLElement {
|
|
49
50
|
}
|
50
51
|
|
51
52
|
/**
|
52
|
-
* Returns inner text.
|
53
|
+
* Returns inner text, which is the rendered appearance of text.
|
53
54
|
*
|
54
|
-
* @returns
|
55
|
+
* @returns Inner text.
|
55
56
|
*/
|
56
57
|
public get innerText(): string {
|
57
|
-
|
58
|
+
let result = '';
|
59
|
+
for (const childNode of this.childNodes) {
|
60
|
+
if (childNode instanceof HTMLElement) {
|
61
|
+
if (childNode.tagName !== 'SCRIPT' && childNode.tagName !== 'STYLE') {
|
62
|
+
result += childNode.innerText;
|
63
|
+
}
|
64
|
+
} else if (
|
65
|
+
childNode.nodeType === Node.ELEMENT_NODE ||
|
66
|
+
childNode.nodeType === Node.TEXT_NODE
|
67
|
+
) {
|
68
|
+
result += childNode.textContent;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
return result;
|
58
72
|
}
|
59
73
|
|
60
74
|
/**
|
61
|
-
* Sets inner text.
|
75
|
+
* Sets the inner text, which is the rendered appearance of text.
|
62
76
|
*
|
63
|
-
* @param text
|
77
|
+
* @param innerText Inner text.
|
64
78
|
*/
|
65
|
-
public set innerText(
|
66
|
-
this.textContent =
|
79
|
+
public set innerText(innerText: string) {
|
80
|
+
this.textContent = innerText;
|
67
81
|
}
|
68
82
|
|
69
83
|
/**
|
@@ -37,7 +37,6 @@ export default class XMLParser {
|
|
37
37
|
let parentUnnestableTagName = null;
|
38
38
|
let lastTextIndex = 0;
|
39
39
|
let match: RegExpExecArray;
|
40
|
-
let childLessIndex = 0;
|
41
40
|
|
42
41
|
while ((match = markupRegexp.exec(data))) {
|
43
42
|
const tagName = match[2].toLowerCase();
|
@@ -88,15 +87,18 @@ export default class XMLParser {
|
|
88
87
|
} else {
|
89
88
|
parent.appendChild(newElement);
|
90
89
|
}
|
91
|
-
lastTextIndex =
|
90
|
+
lastTextIndex = markupRegexp.lastIndex;
|
92
91
|
|
93
92
|
// Tags which contain non-parsed content
|
94
93
|
// For example: <script> JavaScript should not be parsed
|
95
94
|
if (ChildLessElements.includes(tagName)) {
|
96
|
-
|
97
|
-
|
95
|
+
let childLessMatch = null;
|
96
|
+
while ((childLessMatch = markupRegexp.exec(data))) {
|
97
|
+
if (childLessMatch[2] === match[2] && childLessMatch[1]) {
|
98
|
+
markupRegexp.lastIndex -= childLessMatch[0].length;
|
99
|
+
break;
|
100
|
+
}
|
98
101
|
}
|
99
|
-
markupRegexp.lastIndex = childLessIndex;
|
100
102
|
}
|
101
103
|
} else {
|
102
104
|
stack.pop();
|