import { beChecked, notBeChecked, haveAttribute, haveData, haveText, test, beVisible, notBeVisible, html } from '../../utils' test('data modified in event listener updates affected attribute bindings', html`
`, ({ get }) => { get('span').should(haveAttribute('foo', 'bar')) get('button').click() get('span').should(haveAttribute('foo', 'baz')) } ) test('can call a method without parenthesis', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('lob')) } ) test('event object is not passed if other params are present', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('foo')) } ) test('nested data modified in event listener updates affected attribute bindings', html`
`, ({ get }) => { get('span').should(haveAttribute('foo', 'bar')) get('button').click() get('span').should(haveAttribute('foo', 'baz')) } ) test('.passive modifier should disable e.preventDefault()', html`
`, ({ get }) => { get('button').click() get('div').should(haveData('defaultPrevented', false)) } ) test('.stop modifier', html`
`, ({ get }) => { get('div').should(haveData('foo', 'bar')) get('h2').click() get('div').should(haveData('foo', 'bar')) get('h1').click() get('div').should(haveData('foo', 'baz')) } ) test('.self modifier', html`

content content

`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('bar')) get('h1').click() get('span').should(haveText('baz')) } ) test('.prevent modifier', html`
`, ({ get }) => { get('input').check() get('input').should(notBeChecked()) } ) test('.window modifier', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('span').click() get('span').should(haveText('baz')) } ) test('expressions can start with if', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('baz')) } ) test('unbind global event handler when element is removed', html`
`, ({ get }) => { get('button').click() get('span').click() get('span').should(haveText('1')) } ) test('.document modifier', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('span').click() get('span').should(haveText('baz')) } ) test('.once modifier', html`
`, ({ get }) => { get('span').should(haveText('0')) get('button').click() get('span').should(haveText('1')) get('button').click() get('span').should(haveText('1')) } ) test('.once modifier with @keyup', html`
`, ({ get }) => { get('span').should(haveText('0')) get('input').type('f') get('span').should(haveText('1')) get('input').type('o') get('span').should(haveText('1')) } ) test('.debounce modifier', html`
`, ({ get }) => { get('span').should(haveText('0')) get('input').type('f') get('span').should(haveText('1')) get('input').type('ffffffffffff') get('span').should(haveText('2')) } ) test('keydown modifiers', html`
`, ({ get }) => { get('span').should(haveText('0')) get('input').type('f') get('span').should(haveText('1')) get('input').type('{enter}') get('span').should(haveText('3')) get('input').type(' ') get('span').should(haveText('5')) } ) test('keydown combo modifiers', html`
`, ({ get }) => { get('span').should(haveText('0')) get('input').type('f') get('span').should(haveText('0')) get('input').type('{cmd}{enter}') get('span').should(haveText('1')) } ) test('keydown with specified key and stop modifier only stops for specified key', html`
`, ({ get }) => { get('span').should(haveText('0')) get('input').type('f') get('span').should(haveText('1')) get('input').type('{enter}') get('span').should(haveText('1')) } ) test('@click.away', html`

h1

h2

`, ({ get }) => { get('span').should(haveText('bar')) get('h1').click() get('span').should(haveText('bar')) get('h2').click() get('span').should(haveText('baz')) } ) test('@click.away with x-show (prevent race condition)', html`

h1

h2

`, ({ get }) => { get('h1').should(notBeVisible()) get('button').click() get('h1').should(beVisible()) } ) test('event with colon', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('baz')) } ) test('event instance can be passed to method reference', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('baz')) } ) test('.camel modifier correctly binds event listener', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('baz')) } ) test('.camel modifier correctly binds event listener with namespace', html`
`, ({ get }) => { get('span').should(haveText('bar')) get('button').click() get('span').should(haveText('baz')) } )