happy-dom 7.1.1 → 7.3.0

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.

Files changed (80) hide show
  1. package/lib/config/ElementTag.d.ts +4 -2
  2. package/lib/config/ElementTag.js +4 -2
  3. package/lib/config/ElementTag.js.map +1 -1
  4. package/lib/config/NonImplemenetedElementClasses.js +0 -3
  5. package/lib/config/NonImplemenetedElementClasses.js.map +1 -1
  6. package/lib/index.d.ts +11 -1
  7. package/lib/index.js +12 -2
  8. package/lib/index.js.map +1 -1
  9. package/lib/nodes/attr/Attr.d.ts +1 -0
  10. package/lib/nodes/attr/Attr.js +1 -0
  11. package/lib/nodes/attr/Attr.js.map +1 -1
  12. package/lib/nodes/document/Document.d.ts +9 -0
  13. package/lib/nodes/document/Document.js +21 -0
  14. package/lib/nodes/document/Document.js.map +1 -1
  15. package/lib/nodes/document/IDocument.d.ts +9 -0
  16. package/lib/nodes/element/Element.d.ts +1 -0
  17. package/lib/nodes/element/Element.js +1 -0
  18. package/lib/nodes/element/Element.js.map +1 -1
  19. package/lib/nodes/element/IElement.d.ts +1 -0
  20. package/lib/nodes/html-audio-element/HTMLAudioElement.d.ts +11 -0
  21. package/lib/nodes/html-audio-element/HTMLAudioElement.js +17 -0
  22. package/lib/nodes/html-audio-element/HTMLAudioElement.js.map +1 -0
  23. package/lib/nodes/html-audio-element/IHTMLAudioElement.d.ts +9 -0
  24. package/lib/nodes/html-audio-element/IHTMLAudioElement.js +3 -0
  25. package/lib/nodes/html-audio-element/IHTMLAudioElement.js.map +1 -0
  26. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +234 -0
  27. package/lib/nodes/html-media-element/HTMLMediaElement.js +418 -0
  28. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -0
  29. package/lib/nodes/html-media-element/IHTMLMediaElement.d.ts +76 -0
  30. package/lib/nodes/html-media-element/IHTMLMediaElement.js +3 -0
  31. package/lib/nodes/html-media-element/IHTMLMediaElement.js.map +1 -0
  32. package/lib/nodes/html-video-element/HTMLVideoElement.d.ts +11 -0
  33. package/lib/nodes/html-video-element/HTMLVideoElement.js +17 -0
  34. package/lib/nodes/html-video-element/HTMLVideoElement.js.map +1 -0
  35. package/lib/nodes/html-video-element/IHTMLVideoElement.d.ts +9 -0
  36. package/lib/nodes/html-video-element/IHTMLVideoElement.js +3 -0
  37. package/lib/nodes/html-video-element/IHTMLVideoElement.js.map +1 -0
  38. package/lib/nodes/node/INode.d.ts +8 -0
  39. package/lib/nodes/node/Node.d.ts +20 -0
  40. package/lib/nodes/node/Node.js +154 -0
  41. package/lib/nodes/node/Node.js.map +1 -1
  42. package/lib/nodes/node/NodeDocumentPositionEnum.d.ts +9 -0
  43. package/lib/nodes/node/NodeDocumentPositionEnum.js +13 -0
  44. package/lib/nodes/node/NodeDocumentPositionEnum.js.map +1 -0
  45. package/lib/nodes/node/NodeUtility.d.ts +16 -0
  46. package/lib/nodes/node/NodeUtility.js +100 -0
  47. package/lib/nodes/node/NodeUtility.js.map +1 -1
  48. package/lib/nodes/processing-instruction/IProcessingInstruction.d.ts +4 -0
  49. package/lib/nodes/processing-instruction/IProcessingInstruction.js +3 -0
  50. package/lib/nodes/processing-instruction/IProcessingInstruction.js.map +1 -0
  51. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +12 -0
  52. package/lib/nodes/processing-instruction/ProcessingInstruction.js +20 -0
  53. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -0
  54. package/lib/window/IWindow.d.ts +8 -0
  55. package/lib/window/Window.d.ts +8 -0
  56. package/lib/window/Window.js +8 -0
  57. package/lib/window/Window.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/config/ElementTag.ts +4 -2
  60. package/src/config/NonImplemenetedElementClasses.ts +0 -3
  61. package/src/index.ts +21 -1
  62. package/src/nodes/attr/Attr.ts +1 -0
  63. package/src/nodes/document/Document.ts +28 -0
  64. package/src/nodes/document/IDocument.ts +10 -0
  65. package/src/nodes/element/Element.ts +1 -0
  66. package/src/nodes/element/IElement.ts +1 -0
  67. package/src/nodes/html-audio-element/HTMLAudioElement.ts +11 -0
  68. package/src/nodes/html-audio-element/IHTMLAudioElement.ts +11 -0
  69. package/src/nodes/html-media-element/HTMLMediaElement.ts +441 -0
  70. package/src/nodes/html-media-element/IHTMLMediaElement.ts +84 -0
  71. package/src/nodes/html-video-element/HTMLVideoElement.ts +11 -0
  72. package/src/nodes/html-video-element/IHTMLVideoElement.ts +11 -0
  73. package/src/nodes/node/INode.ts +8 -0
  74. package/src/nodes/node/Node.ts +191 -1
  75. package/src/nodes/node/NodeDocumentPositionEnum.ts +10 -0
  76. package/src/nodes/node/NodeUtility.ts +137 -0
  77. package/src/nodes/processing-instruction/IProcessingInstruction.ts +5 -0
  78. package/src/nodes/processing-instruction/ProcessingInstruction.ts +13 -0
  79. package/src/window/IWindow.ts +8 -0
  80. package/src/window/Window.ts +8 -0
@@ -0,0 +1,12 @@
1
+ import IProcessingInstruction from './IProcessingInstruction';
2
+ import CharacterData from '../character-data/CharacterData';
3
+ import NodeTypeEnum from '../node/NodeTypeEnum';
4
+ /**
5
+ * Processing instruction node interface.
6
+ *
7
+ * Reference: https://developer.mozilla.org/en-US/docs/Web/API/ProcessingInstruction.
8
+ */
9
+ export default class ProcessingInstruction extends CharacterData implements IProcessingInstruction {
10
+ readonly nodeType = NodeTypeEnum.processingInstructionNode;
11
+ target: string;
12
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const CharacterData_1 = __importDefault(require("../character-data/CharacterData"));
7
+ const NodeTypeEnum_1 = __importDefault(require("../node/NodeTypeEnum"));
8
+ /**
9
+ * Processing instruction node interface.
10
+ *
11
+ * Reference: https://developer.mozilla.org/en-US/docs/Web/API/ProcessingInstruction.
12
+ */
13
+ class ProcessingInstruction extends CharacterData_1.default {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.nodeType = NodeTypeEnum_1.default.processingInstructionNode;
17
+ }
18
+ }
19
+ exports.default = ProcessingInstruction;
20
+ //# sourceMappingURL=ProcessingInstruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessingInstruction.js","sourceRoot":"","sources":["../../../src/nodes/processing-instruction/ProcessingInstruction.ts"],"names":[],"mappings":";;;;;AACA,oFAA4D;AAC5D,wEAAgD;AAEhD;;;;GAIG;AACH,MAAqB,qBAAsB,SAAQ,uBAAa;IAAhE;;QACiB,aAAQ,GAAG,sBAAY,CAAC,yBAAyB,CAAC;IAEnE,CAAC;CAAA;AAHD,wCAGC"}
@@ -20,6 +20,9 @@ import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
20
20
  import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
21
21
  import HTMLLabelElement from '../nodes/html-label-element/HTMLLabelElement';
22
22
  import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement';
23
+ import HTMLMediaElement from '../nodes/html-media-element/HTMLMediaElement';
24
+ import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement';
25
+ import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement';
23
26
  import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement';
24
27
  import SVGSVGElement from '../nodes/svg-element/SVGSVGElement';
25
28
  import SVGElement from '../nodes/svg-element/SVGElement';
@@ -96,6 +99,7 @@ import Attr from '../nodes/attr/Attr';
96
99
  import { URLSearchParams } from 'url';
97
100
  import { Performance } from 'perf_hooks';
98
101
  import IElement from '../nodes/element/IElement';
102
+ import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction';
99
103
  /**
100
104
  * Window without dependencies to server side specific packages.
101
105
  */
@@ -121,6 +125,9 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
121
125
  readonly HTMLSlotElement: typeof HTMLSlotElement;
122
126
  readonly HTMLLabelElement: typeof HTMLLabelElement;
123
127
  readonly HTMLMetaElement: typeof HTMLMetaElement;
128
+ readonly HTMLMediaElement: typeof HTMLMediaElement;
129
+ readonly HTMLAudioElement: typeof HTMLAudioElement;
130
+ readonly HTMLVideoElement: typeof HTMLVideoElement;
124
131
  readonly HTMLBaseElement: typeof HTMLBaseElement;
125
132
  readonly HTMLDialogElement: typeof HTMLDialogElement;
126
133
  readonly Attr: typeof Attr;
@@ -133,6 +140,7 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
133
140
  readonly Element: typeof Element;
134
141
  readonly DocumentFragment: typeof DocumentFragment;
135
142
  readonly CharacterData: typeof CharacterData;
143
+ readonly ProcessingInstruction: typeof ProcessingInstruction;
136
144
  readonly NodeFilter: typeof NodeFilter;
137
145
  readonly TreeWalker: typeof TreeWalker;
138
146
  readonly DOMParser: typeof DOMParser;
@@ -20,6 +20,9 @@ import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
20
20
  import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
21
21
  import HTMLLabelElement from '../nodes/html-label-element/HTMLLabelElement';
22
22
  import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement';
23
+ import HTMLMediaElement from '../nodes/html-media-element/HTMLMediaElement';
24
+ import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement';
25
+ import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement';
23
26
  import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement';
24
27
  import HTMLDialogElement from '../nodes/html-dialog-element/HTMLDialogElement';
25
28
  import SVGSVGElement from '../nodes/svg-element/SVGSVGElement';
@@ -91,6 +94,7 @@ import DOMRect from '../nodes/element/DOMRect';
91
94
  import * as PerfHooks from 'perf_hooks';
92
95
  import Attr from '../nodes/attr/Attr';
93
96
  import IElement from '../nodes/element/IElement';
97
+ import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction';
94
98
  /**
95
99
  * Browser window.
96
100
  *
@@ -119,6 +123,9 @@ export default class Window extends EventTarget implements IWindow {
119
123
  readonly HTMLLabelElement: typeof HTMLLabelElement;
120
124
  readonly HTMLSlotElement: typeof HTMLSlotElement;
121
125
  readonly HTMLMetaElement: typeof HTMLMetaElement;
126
+ readonly HTMLMediaElement: typeof HTMLMediaElement;
127
+ readonly HTMLAudioElement: typeof HTMLAudioElement;
128
+ readonly HTMLVideoElement: typeof HTMLVideoElement;
122
129
  readonly HTMLBaseElement: typeof HTMLBaseElement;
123
130
  readonly HTMLDialogElement: typeof HTMLDialogElement;
124
131
  readonly Attr: typeof Attr;
@@ -127,6 +134,7 @@ export default class Window extends EventTarget implements IWindow {
127
134
  readonly Text: typeof Text;
128
135
  readonly Comment: typeof Comment;
129
136
  readonly ShadowRoot: typeof ShadowRoot;
137
+ readonly ProcessingInstruction: typeof ProcessingInstruction;
130
138
  readonly Element: typeof Element;
131
139
  readonly DocumentFragment: typeof DocumentFragment;
132
140
  readonly CharacterData: typeof CharacterData;
@@ -48,6 +48,9 @@ const HTMLStyleElement_1 = __importDefault(require("../nodes/html-style-element/
48
48
  const HTMLSlotElement_1 = __importDefault(require("../nodes/html-slot-element/HTMLSlotElement"));
49
49
  const HTMLLabelElement_1 = __importDefault(require("../nodes/html-label-element/HTMLLabelElement"));
50
50
  const HTMLMetaElement_1 = __importDefault(require("../nodes/html-meta-element/HTMLMetaElement"));
51
+ const HTMLMediaElement_1 = __importDefault(require("../nodes/html-media-element/HTMLMediaElement"));
52
+ const HTMLAudioElement_1 = __importDefault(require("../nodes/html-audio-element/HTMLAudioElement"));
53
+ const HTMLVideoElement_1 = __importDefault(require("../nodes/html-video-element/HTMLVideoElement"));
51
54
  const HTMLBaseElement_1 = __importDefault(require("../nodes/html-base-element/HTMLBaseElement"));
52
55
  const HTMLDialogElement_1 = __importDefault(require("../nodes/html-dialog-element/HTMLDialogElement"));
53
56
  const SVGSVGElement_1 = __importDefault(require("../nodes/svg-element/SVGSVGElement"));
@@ -124,6 +127,7 @@ const vm_1 = __importDefault(require("vm"));
124
127
  const buffer_1 = require("buffer");
125
128
  const Base64_1 = __importDefault(require("../base64/Base64"));
126
129
  const Attr_1 = __importDefault(require("../nodes/attr/Attr"));
130
+ const ProcessingInstruction_1 = __importDefault(require("../nodes/processing-instruction/ProcessingInstruction"));
127
131
  const ORIGINAL_SET_TIMEOUT = setTimeout;
128
132
  const ORIGINAL_CLEAR_TIMEOUT = clearTimeout;
129
133
  const ORIGINAL_SET_INTERVAL = setInterval;
@@ -190,6 +194,9 @@ class Window extends EventTarget_1.default {
190
194
  this.HTMLLabelElement = HTMLLabelElement_1.default;
191
195
  this.HTMLSlotElement = HTMLSlotElement_1.default;
192
196
  this.HTMLMetaElement = HTMLMetaElement_1.default;
197
+ this.HTMLMediaElement = HTMLMediaElement_1.default;
198
+ this.HTMLAudioElement = HTMLAudioElement_1.default;
199
+ this.HTMLVideoElement = HTMLVideoElement_1.default;
193
200
  this.HTMLBaseElement = HTMLBaseElement_1.default;
194
201
  this.HTMLDialogElement = HTMLDialogElement_1.default;
195
202
  this.Attr = Attr_1.default;
@@ -198,6 +205,7 @@ class Window extends EventTarget_1.default {
198
205
  this.Text = Text_1.default;
199
206
  this.Comment = Comment_1.default;
200
207
  this.ShadowRoot = ShadowRoot_1.default;
208
+ this.ProcessingInstruction = ProcessingInstruction_1.default;
201
209
  this.Element = Element_1.default;
202
210
  this.DocumentFragment = DocumentFragment_1.default;
203
211
  this.CharacterData = CharacterData_1.default;
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.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.1.1",
3
+ "version": "7.3.0",
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": "aceea50591ed13d89c8dcceee2ba716a4595a0f2"
78
+ "gitHead": "43c5b622692bf31a49d17d69edca1d13cdba03a0"
79
79
  }
@@ -18,6 +18,8 @@ import HTMLOptionElement from '../nodes/html-option-element/HTMLOptionElement';
18
18
  import HTMLOptGroupElement from '../nodes/html-opt-group-element/HTMLOptGroupElement';
19
19
  import HTMLDialogElement from '../nodes/html-dialog-element/HTMLDialogElement';
20
20
  import HTMLButtonElement from '../nodes/html-button-element/HTMLButtonElement';
21
+ import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement';
22
+ import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement';
21
23
 
22
24
  export default {
23
25
  A: HTMLElement,
@@ -26,7 +28,7 @@ export default {
26
28
  AREA: HTMLElement,
27
29
  ARTICLE: HTMLElement,
28
30
  ASIDE: HTMLElement,
29
- AUDIO: HTMLElement,
31
+ AUDIO: HTMLAudioElement,
30
32
  B: HTMLElement,
31
33
  BASE: HTMLBaseElement,
32
34
  BDI: HTMLElement,
@@ -145,6 +147,6 @@ export default {
145
147
  U: HTMLElement,
146
148
  UL: HTMLElement,
147
149
  VAR: HTMLElement,
148
- VIDEO: HTMLElement,
150
+ VIDEO: HTMLVideoElement,
149
151
  WBR: HTMLElement
150
152
  };
@@ -28,7 +28,6 @@ export default [
28
28
  'HTMLLegendElement',
29
29
  'HTMLMapElement',
30
30
  'HTMLMarqueeElement',
31
- 'HTMLMediaElement',
32
31
  'HTMLMeterElement',
33
32
  'HTMLModElement',
34
33
  'HTMLOutputElement',
@@ -50,7 +49,5 @@ export default [
50
49
  'HTMLEmbedElement',
51
50
  'HTMLObjectElement',
52
51
  'HTMLParamElement',
53
- 'HTMLVideoElement',
54
- 'HTMLAudioElement',
55
52
  'HTMLTrackElement'
56
53
  ];
package/src/index.ts CHANGED
@@ -74,6 +74,12 @@ import HTMLLabelElement from './nodes/html-label-element/HTMLLabelElement';
74
74
  import IHTMLLabelElement from './nodes/html-label-element/IHTMLLabelElement';
75
75
  import HTMLMetaElement from './nodes/html-meta-element/HTMLMetaElement';
76
76
  import IHTMLMetaElement from './nodes/html-meta-element/IHTMLMetaElement';
77
+ import IHTMLMediaElement from './nodes/html-media-element/IHTMLMediaElement';
78
+ import HTMLMediaElement from './nodes/html-media-element/HTMLMediaElement';
79
+ import HTMLAudioElement from './nodes/html-audio-element/HTMLAudioElement';
80
+ import IHTMLAudioElement from './nodes/html-audio-element/IHTMLAudioElement';
81
+ import HTMLVideoElement from './nodes/html-video-element/HTMLVideoElement';
82
+ import IHTMLVideoElement from './nodes/html-video-element/IHTMLVideoElement';
77
83
  import HTMLBaseElement from './nodes/html-base-element/HTMLBaseElement';
78
84
  import IHTMLBaseElement from './nodes/html-base-element/IHTMLBaseElement';
79
85
  import SVGElement from './nodes/svg-element/SVGElement';
@@ -114,6 +120,10 @@ import Selection from './selection/Selection';
114
120
  import Range from './range/Range';
115
121
  import HTMLDialogElement from './nodes/html-dialog-element/HTMLDialogElement';
116
122
  import IHTMLDialogElement from './nodes/html-dialog-element/IHTMLDialogElement';
123
+ import Attr from './nodes/attr/Attr';
124
+ import IAttr from './nodes/attr/IAttr';
125
+ import ProcessingInstruction from './nodes/processing-instruction/ProcessingInstruction';
126
+ import IProcessingInstruction from './nodes/processing-instruction/IProcessingInstruction';
117
127
 
118
128
  export {
119
129
  GlobalWindow,
@@ -192,6 +202,12 @@ export {
192
202
  IHTMLLabelElement,
193
203
  HTMLMetaElement,
194
204
  IHTMLMetaElement,
205
+ HTMLMediaElement,
206
+ IHTMLMediaElement,
207
+ HTMLAudioElement,
208
+ IHTMLAudioElement,
209
+ HTMLVideoElement,
210
+ IHTMLVideoElement,
195
211
  HTMLBaseElement,
196
212
  IHTMLBaseElement,
197
213
  SVGElement,
@@ -231,5 +247,9 @@ export {
231
247
  Selection,
232
248
  Range,
233
249
  HTMLDialogElement,
234
- IHTMLDialogElement
250
+ IHTMLDialogElement,
251
+ Attr,
252
+ IAttr,
253
+ ProcessingInstruction,
254
+ IProcessingInstruction
235
255
  };
@@ -8,6 +8,7 @@ import IAttr from './IAttr';
8
8
  * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Attr.
9
9
  */
10
10
  export default class Attr extends Node implements IAttr {
11
+ public readonly nodeType = Node.ATTRIBUTE_NODE;
11
12
  public value: string = null;
12
13
  public name: string = null;
13
14
  public namespaceURI: string = null;
@@ -41,6 +41,10 @@ import IShadowRoot from '../shadow-root/IShadowRoot';
41
41
  import Range from '../../range/Range';
42
42
  import IHTMLBaseElement from '../html-base-element/IHTMLBaseElement';
43
43
  import IAttr from '../attr/IAttr';
44
+ import IProcessingInstruction from '../processing-instruction/IProcessingInstruction';
45
+ import ProcessingInstruction from '../processing-instruction/ProcessingInstruction';
46
+
47
+ const PROCESSING_INSTRUCTION_TARGET_REGEXP = /^[a-z][a-z0-9-]+$/;
44
48
 
45
49
  /**
46
50
  * Document.
@@ -824,4 +828,28 @@ export default class Document extends Node implements IDocument {
824
828
  this.dispatchEvent(new Event('load', { bubbles: true }));
825
829
  });
826
830
  }
831
+
832
+ /**
833
+ * Creates a Processing Instruction node.
834
+ *
835
+ * @returns IProcessingInstruction.
836
+ * @param target
837
+ * @param data
838
+ */
839
+ public createProcessingInstruction(target: string, data: string): IProcessingInstruction {
840
+ if (!target || !PROCESSING_INSTRUCTION_TARGET_REGEXP.test(target)) {
841
+ throw new DOMException(
842
+ `Failed to execute 'createProcessingInstruction' on 'Document': The target provided ('${target}') is not a valid name.`
843
+ );
844
+ }
845
+ if (data.includes('?>')) {
846
+ throw new DOMException(
847
+ `Failed to execute 'createProcessingInstruction' on 'Document': The data provided ('?>') contains '?>'`
848
+ );
849
+ }
850
+ ProcessingInstruction._ownerDocument = this;
851
+ const processingInstruction = new ProcessingInstruction(data);
852
+ processingInstruction.target = target;
853
+ return processingInstruction;
854
+ }
827
855
  }
@@ -19,6 +19,7 @@ import Location from '../../location/Location';
19
19
  import DocumentReadyStateEnum from './DocumentReadyStateEnum';
20
20
  import INodeList from '../node/INodeList';
21
21
  import Range from '../../range/Range';
22
+ import IProcessingInstruction from '../processing-instruction/IProcessingInstruction';
22
23
 
23
24
  /**
24
25
  * Document.
@@ -197,4 +198,13 @@ export default interface IDocument extends IParentNode {
197
198
  * @returns "true" if the document has focus.
198
199
  */
199
200
  hasFocus(): boolean;
201
+
202
+ /**
203
+ * Creates a Processing Instruction node.
204
+ *
205
+ * @returns IProcessingInstruction.
206
+ * @param target
207
+ * @param data
208
+ */
209
+ createProcessingInstruction(target: string, data: string): IProcessingInstruction;
200
210
  }
@@ -39,6 +39,7 @@ export default class Element extends Node implements IElement {
39
39
  public tagName: string = null;
40
40
  public nodeType = Node.ELEMENT_NODE;
41
41
  public shadowRoot: IShadowRoot = null;
42
+ public prefix: string = null;
42
43
 
43
44
  public scrollTop = 0;
44
45
  public scrollLeft = 0;
@@ -18,6 +18,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
18
18
  readonly shadowRoot: IShadowRoot;
19
19
  readonly classList: IDOMTokenList;
20
20
  readonly namespaceURI: string;
21
+ prefix: string | null;
21
22
  scrollTop: number;
22
23
  scrollLeft: number;
23
24
  id: string;
@@ -0,0 +1,11 @@
1
+ import HTMLMediaElement from '../html-media-element/HTMLMediaElement';
2
+ import IHTMLAudioElement from './IHTMLAudioElement';
3
+
4
+ /**
5
+ * HTML Audio Element.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement.
9
+ *
10
+ */
11
+ export default class HTMLAudioElement extends HTMLMediaElement implements IHTMLAudioElement {}
@@ -0,0 +1,11 @@
1
+ import IHTMLMediaElement from '../html-media-element/IHTMLMediaElement';
2
+
3
+ /**
4
+ * HTML Audio Element.
5
+ *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement.
8
+ */
9
+
10
+ type IHTMLAudioElement = IHTMLMediaElement;
11
+ export default IHTMLAudioElement;