Page MenuHomePhabricator
Paste P3877

hovercard-tests.js
ActivePublic

Authored by Jhernandez on Aug 23 2016, 4:21 PM.
Referenced Files
F4392769: hovercard-tests.js
Aug 23 2016, 4:21 PM
Subscribers
None
const staging = 'http://reading-web-staging.wmflabs.org/w/index.php?title=Main_Page&mobileaction=toggle_view_desktop'
const testLink = 'a[href="/wiki/Test"]'
const testLink2 = 'a[href="/wiki/Test2"]'
/**/
test('Hover and wait for card', [
visit(staging),
hover(testLink),
waitForHovercard,
hoverout(testLink)
], [
'pageLoaded',
'dismissed'
])
test('Quick/accidental hover', [
visit(staging),
hover(testLink),
wait(10),
hoverout(testLink)
], ['pageLoaded'])
test('Longer quick/accidental hover', [
visit(staging),
hover(testLink),
wait(350),
hoverout(testLink)
], [
'pageLoaded',
'dwelledButAbandoned'
])
test('Longer hover + out + long hover', [
visit(staging),
hover(testLink),
wait(350),
hoverout(testLink),
relax,
hover(testLink),
waitForHovercard,
hoverout(testLink)
], [
'pageLoaded',
'dwelledButAbandoned',
'dismissed'
])
test('Hover link + click', [
visit(staging),
hover(testLink),
wait(10),
click(testLink)
], [
'pageLoaded',
'opened in same tab',
'pageLoaded'
])
test('Hover link + wait for hovercard + click', [
visit(staging),
hover(testLink),
waitForHovercard,
click(testLink)
], [
'pageLoaded',
'opened in same tab',
'pageLoaded'
])
test('Quick hover link 1 + click link 2', [
visit(staging),
hover(testLink),
wait(350),
hoverout(testLink),
relax,
hover(testLink2),
wait(10),
click(testLink2)
], [
'pageLoaded',
'dwelledButAbandoned',
'opened in same tab',
'pageLoaded'
])
test('Hover link + out + hover back + click', [
visit(staging),
hover(testLink),
wait(350),
hoverout(testLink),
relax,
hover(testLink),
click(testLink)
], [
'pageLoaded',
'dwelledButAbandoned',
'opened in same tab',
'pageLoaded'
])
// PROBLEMATIC: Fails if pauses are less than 400-500ms sometimes
test('Hover link + out + hover back & wait + out + click', [
visit(staging),
hover(testLink),
wait(350),
hoverout(testLink),
relax,
hover(testLink),
waitForHovercard,
hoverout(testLink),
relax,
hover(testLink),
click(testLink)
], [
'pageLoaded',
'dwelledButAbandoned',
'dismissed',
'opened in same tab',
'pageLoaded'
])
// PROBLEMATIC: Fails if pauses are less than 500ms sometimes
test('Multiple hover link 1 & 2 + click link 2', [
visit(staging),
hover(testLink),
wait(350),
hoverout(testLink),
relax,
hover(testLink2),
waitForHovercard,
hoverout(testLink2),
relax,
hover(testLink),
waitForHovercard,
hoverout(testLink),
relax,
hover(testLink2),
wait(350),
hoverout(testLink2),
relax,
hover(testLink2),
click(testLink2)
], [
'pageLoaded',
'dwelledButAbandoned',
'dismissed',
'dismissed',
'dwelledButAbandoned',
'opened in same tab',
'pageLoaded'
])
test('With hovercards disabled, clicking on a link tracks it', [
visit(staging, {disabled: true}),
hover(testLink),
click(testLink)
], [
'pageLoaded',
'opened in same tab',
'pageLoaded',
])
test('With hovercards disabled, hovering & out + clicking on a link tracks it', [
visit(staging, {disabled: true}),
hover(testLink),
wait(600),
hoverout(testLink),
relax,
hover(testLink),
click(testLink)
], [
'pageLoaded',
'dwelledButAbandoned',
'opened in same tab',
'pageLoaded',
])

Event Timeline

Jhernandez updated the paste's language from autodetect to js.