Skip to content
This repository was archived by the owner on Sep 22, 2022. It is now read-only.

Commit c1ebbba

Browse files
muanbnjamin
authored andcommitted
Add tests for src and preload
1 parent 696a769 commit c1ebbba

File tree

1 file changed

+42
-8
lines changed

1 file changed

+42
-8
lines changed

test/test.js

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,39 @@ describe('details-dialog-element', function() {
200200
assert(!details.open)
201201
})
202202
})
203+
204+
describe('when using with inlcude-fragment', function() {
205+
let includeFragment
206+
beforeEach(function() {
207+
includeFragment = document.createElement('include-fragment')
208+
dialog.innerHTML = ''
209+
dialog.append(includeFragment)
210+
dialog.src = '/404'
211+
})
212+
213+
afterEach(function() {
214+
dialog.innerHTML = ''
215+
dialog.removeAttribute('src')
216+
})
217+
218+
it('transfers src on toggle', async function() {
219+
assert(!details.open)
220+
assert.notOk(includeFragment.getAttribute('src'))
221+
dialog.toggle(true)
222+
await waitForToggleEvent(details)
223+
assert(details.open)
224+
assert.equal(includeFragment.getAttribute('src'), '/404')
225+
})
226+
227+
it('transfers src on mouseover when preload is true', async function() {
228+
assert(!details.open)
229+
dialog.preload = true
230+
assert(dialog.hasAttribute('preload'))
231+
assert.notOk(includeFragment.getAttribute('src'))
232+
triggerEvent(details, 'mouseover')
233+
assert.equal(includeFragment.getAttribute('src'), '/404')
234+
})
235+
})
203236
})
204237
})
205238

@@ -215,16 +248,17 @@ function waitForToggleEvent(details) {
215248
})
216249
}
217250

251+
function triggerEvent(element, name, key) {
252+
const event = document.createEvent('Event')
253+
event.initEvent(name, true, true)
254+
if (key) event.key = key
255+
element.dispatchEvent(event)
256+
}
257+
218258
function pressEscape(details) {
219-
const escapeEvent = document.createEvent('Event')
220-
escapeEvent.initEvent('keydown', true, true)
221-
escapeEvent.key = 'Escape'
222-
details.dispatchEvent(escapeEvent)
259+
triggerEvent(details, 'keydown', 'Escape')
223260
}
224261

225262
function pressTab(details) {
226-
const escapeEvent = document.createEvent('Event')
227-
escapeEvent.initEvent('keydown', true, true)
228-
escapeEvent.key = 'Tab'
229-
details.dispatchEvent(escapeEvent)
263+
triggerEvent(details, 'keydown', 'Tab')
230264
}

0 commit comments

Comments
 (0)