Skip to content

Commit 31daf7f

Browse files
authored
Merge pull request #24 from hyperdivision/remove-child
Breaking: rename unload to onunload and add removeChild heloper
2 parents 0799961 + 5d3c90a commit 31daf7f

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,17 @@ The HTMLElement element where your test should work inside.
141141
### `await t.appendChild(el, [msg])`
142142

143143
Takes an element, append it and then waits for onload. Asserts when complete with a `msg`.
144+
144145
```js
145146
const newDiv = document.createElement('div')
146147
newDiv.innerText = 'New div to append'
147148
await t.appendChild(newDiv, 'Appended newDiv')
148149
```
149150

151+
### `await t.removeChild(el, [msg])`
152+
153+
Takes a loaded element `el` and removes it from the test element and then waits for onunload. Asserts when complete with a `msg`.
154+
150155
### `await t.sleep(ms, [msg])`
151156

152157
Async sleep for `ms` and asserts when complete with `msg`.
@@ -161,7 +166,7 @@ t.element.appendChild(myElement)
161166
await t.onload(myElement)
162167
```
163168

164-
### `await t.unload(element, [msg])`
169+
### `await t.onunload(element, [msg])`
165170

166171
Same as `t.onload` except it lets you wait for an element to be fully unloaded from the document.
167172

index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ function create (delay, fn) {
5959
const sleepPromise = new Promise((resolve) => setTimeout(resolve, ms))
6060
return sleepPromise.then(() => t.pass(msg))
6161
},
62-
onload: (node, msg = 'Element onload') => new Promise(resolve => {
62+
onload: (node, msg = 'Element loaded into test element') => new Promise(resolve => {
6363
const resolveFn = () => {
6464
onload.delete(node, resolveFn)
6565
t.delay().then(() => {
@@ -69,7 +69,7 @@ function create (delay, fn) {
6969
}
7070
node.isConnected ? resolveFn() : onload(node, resolveFn)
7171
}),
72-
unload: (node, msg = 'Element unload') => new Promise(resolve => {
72+
onunload: (node, msg = 'Element unloaded from test element') => new Promise(resolve => {
7373
const resolveFn = () => {
7474
onload.delete(node, undefined, resolveFn)
7575
t.delay().then(() => {
@@ -124,6 +124,11 @@ function create (delay, fn) {
124124
t.element.appendChild(el)
125125
return t.onload(el, msg).then(t.delay)
126126
},
127+
removeChild (el, msg = 'Removed child from test element') {
128+
const unloadP = t.onload(el, msg).then(t.delay)
129+
t.element.removeChild(el)
130+
return unloadP
131+
},
127132
once (emitter, name, msg) {
128133
// t is expected to be an event emitter
129134
if (typeof emitter === 'string') return tOnce.call(t, emitter, name)

0 commit comments

Comments
 (0)