|
24 | 24 | const hadInspectorNode = scriptElement === document.querySelector('ddg-runtime-checks:last-of-type');
|
25 | 25 | // Continue to modify the script element after it has been added to the DOM
|
26 | 26 | scriptElement.integrity = 'sha256-123';
|
27 |
| - scriptElement.madeUpProp = 'val'; |
| 27 | + scriptElement.setAttribute('madeUpAttr', 'val'); |
28 | 28 | const instanceofResult = scriptElement instanceof HTMLScriptElement;
|
29 |
| - const scripty = document.querySelector('#scripty'); |
| 29 | + const scripty = document.querySelector('script#scripty'); |
30 | 30 |
|
31 | 31 | return [
|
32 | 32 | { name: 'hadInspectorNode', result: hadInspectorNode, expected: true },
|
33 | 33 | { name: 'expect script to match', result: scripty, expected: scriptElement },
|
34 | 34 | { name: 'instanceof matches HTMLScriptElement', result: instanceofResult, expected: true },
|
35 | 35 | { name: 'Element is hidden', result: window.getComputedStyle(scriptElement).display, expected: 'none' },
|
36 | 36 | { name: 'scripty.integrity', result: scripty.integrity, expected: 'sha256-123' },
|
37 |
| - { name: 'scripty.madeUpProp', result: scripty.madeUpProp, expected: 'val' }, |
| 37 | + { name: 'scripty.madeUpAttr', result: scripty.getAttribute('madeUpAttr'), expected: 'val' }, |
38 | 38 | { name: 'scripty.type', result: scripty.type, expected: 'application/evilscript' },
|
39 | 39 | { name: 'scripty.id', result: scripty.id, expected: 'scripty' },
|
40 | 40 | { name: 'script ran', result: window.scripty1Ran, expected: false }
|
|
56 | 56 |
|
57 | 57 | const hadInspectorNode = scriptElement === document.querySelector('ddg-runtime-checks:last-of-type');
|
58 | 58 | // Continue to modify the script element after it has been added to the DOM
|
59 |
| - scriptElement.madeUpProp = 'val'; |
| 59 | + scriptElement.setAttribute('madeUpAttr', 'val'); |
60 | 60 | const childCount = section.children.length;
|
61 | 61 | scriptElement.remove();
|
62 | 62 | const childCountAfter = section.children.length;
|
63 | 63 | const instanceofResult = scriptElement instanceof HTMLScriptElement;
|
64 |
| - const scripty = document.querySelector('#scriptyRemove'); |
| 64 | + const scripty = document.querySelector('script#scriptyRemove'); |
65 | 65 | await new Promise(resolve => setTimeout(resolve, 300));
|
66 | 66 |
|
67 | 67 | const htmlCache = section.innerHTML;
|
|
95 | 95 | document.body.appendChild(scriptElement);
|
96 | 96 | const hadInspectorNode = scriptElement === document.querySelector('ddg-runtime-checks:last-of-type');
|
97 | 97 | // Continue to modify the script element after it has been added to the DOM
|
98 |
| - scriptElement.madeUpProp = 'val'; |
| 98 | + scriptElement.setAttribute('madeUpAttr', 'val') |
99 | 99 | const instanceofResult = scriptElement instanceof HTMLScriptElement;
|
100 |
| - const scripty = document.querySelector('#scripty2'); |
| 100 | + const scripty = document.querySelector('script#scripty2'); |
101 | 101 |
|
102 | 102 | return [
|
103 | 103 | { name: 'hadInspectorNode', result: hadInspectorNode, expected: true },
|
104 | 104 | { name: 'expect script to match', result: scripty, expected: scriptElement },
|
105 | 105 | { name: 'instanceof matches HTMLScriptElement', result: instanceofResult, expected: true },
|
106 |
| - { name: 'scripty.madeUpProp', result: scripty.madeUpProp, expected: 'val' }, |
| 106 | + { name: 'scripty.madeUpAttr', result: scripty.getAttribute('madeUpAttr'), expected: 'val' }, |
107 | 107 | { name: 'scripty.type', result: scripty.type, expected: 'application/javascript' },
|
108 | 108 | { name: 'scripty.id', result: scripty.id, expected: 'scripty2' },
|
109 | 109 | { name: 'script ran', result: window.scripty2Ran, expected: true }
|
|
124 | 124 | }
|
125 | 125 | const hadInspectorNode = scriptElementArray === document.querySelector('ddg-runtime-checks:last-of-type');
|
126 | 126 | const instanceofResult = scriptElementArray instanceof HTMLScriptElement;
|
127 |
| - const scriptyArray = document.querySelector('#scripty2a'); |
| 127 | + const scriptyArray = document.querySelector('script#scripty2a'); |
128 | 128 |
|
129 | 129 | return [
|
130 | 130 | { name: 'hadInspectorNode', result: hadInspectorNode, expected: true },
|
|
167 | 167 | const hadInspectorNode = scriptElement === document.querySelector('ddg-runtime-checks:last-of-type');
|
168 | 168 | // Continue to modify the script element after it has been added to the DOM
|
169 | 169 | // @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
|
170 |
| - scriptElement.madeUpProp = 'val'; |
| 170 | + scriptElement.setAttribute('madeUpAttr', 'val'); |
171 | 171 | const instanceofResult = scriptElement instanceof HTMLScriptElement;
|
172 |
| - const scripty = document.querySelector('#scripty3'); |
| 172 | + const scripty = document.querySelector('script#scripty3'); |
173 | 173 |
|
174 | 174 | return [
|
175 | 175 | { name: 'listenerCount', result: listenerCount, expected: 2 },
|
176 | 176 | { name: 'hadInspectorNode', result: hadInspectorNode, expected: true },
|
177 | 177 | { name: 'instanceof matches HTMLScriptElement', result: instanceofResult, expected: true },
|
178 |
| - { name: 'scripty.madeUpProp', result: scripty.madeUpProp, expected: 'val' }, |
| 178 | + { name: 'scripty.madeUpAttr', result: scripty.getAttribute('madeUpAttr'), expected: 'val' }, |
179 | 179 | { name: 'scripty.type', result: scripty.type, expected: 'application/javascript' },
|
180 | 180 | { name: 'scripty.id', result: scripty.id, expected: 'scripty3' },
|
181 | 181 | { name: 'scripty.src', result: scripty.src, expected: 'invalid://url' }
|
|
207 | 207 | document.body.appendChild(scriptElement);
|
208 | 208 | const hadInspectorNode = scriptElement === document.querySelector('ddg-runtime-checks:last-of-type');
|
209 | 209 | // Continue to modify the script element after it has been added to the DOM
|
210 |
| - scriptElement.madeUpProp = 'val'; |
| 210 | + scriptElement.setAttribute('madeUpAttr', 'val'); |
211 | 211 | const instanceofResult = scriptElement instanceof HTMLScriptElement;
|
212 |
| - const scripty = document.querySelector('#scripty2'); |
| 212 | + const scripty = document.querySelector('script#scripty2'); |
213 | 213 |
|
214 | 214 | return [
|
215 | 215 | { name: 'hadInspectorNode', result: hadInspectorNode, expected: true },
|
|
233 | 233 | document.body.appendChild(scriptElement);
|
234 | 234 | const hadInspectorNode = scriptElement === document.querySelector('ddg-runtime-checks:last-of-type');
|
235 | 235 | // Continue to modify the script element after it has been added to the DOM
|
236 |
| - scriptElement.madeUpProp = 'val'; |
| 236 | + scriptElement.setAttribute('madeUpAttr', 'val'); |
237 | 237 | const instanceofResult = scriptElement instanceof HTMLScriptElement;
|
238 |
| - const scripty = document.querySelector('#scriptyNS'); |
| 238 | + const scripty = document.querySelector('script#scriptyNS'); |
239 | 239 |
|
240 | 240 | return [
|
241 | 241 | { name: 'hadInspectorNode', result: hadInspectorNode, expected: true },
|
|
0 commit comments