import { haveText, test, html } from '../../utils'
test('can intersect',
[html`
`],
({ get }) => {
get('span').should(haveText('0'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('span').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('2'))
},
)
test('It should evaluate with ":enter" only when the component is intersected',
[html`
`],
({ get }) => {
get('span').should(haveText('0'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('span').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('2'))
},
)
test('It should evaluate with ":leave" only when the component is not intersected',
[html`
`],
({ get }) => {
get('span').should(haveText('1'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('span').scrollIntoView({duration: 100})
get('span').should(haveText('2'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('2'))
get('span').scrollIntoView({duration: 100})
get('span').should(haveText('3'))
},
)
test('.once',
[html`
`],
({ get }) => {
get('span').should(haveText('0'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('span').scrollIntoView({duration: 100})
get('span').should(haveText('1'))
get('#1').scrollIntoView({duration: 100})
get('span').should(haveText('2'))
},
)