import { beVisible, beHidden, haveAttribute, haveClasses, notHaveClasses, haveText, html, notBeVisible, notHaveAttribute, notExist, haveFocus, test} from '../../../utils'
test.only('it works with x-model',
[html`
`],
({ get }) => {
get('ul').should(notBeVisible())
get('button')
.should(haveText('Select Person'))
.click()
get('ul').should(beVisible())
get('button').click()
get('ul').should(notBeVisible())
get('button').click()
get('[option="2"]').click()
get('ul').should(notBeVisible())
get('button').should(haveText('Arlene Mccoy'))
},
)
// test('it works with internal state',
// [html`
//
// `],
// ({ get }) => {
// get('ul').should(notBeVisible())
// get('button')
// .should(haveText('Select Person'))
// .click()
// get('ul').should(beVisible())
// get('button').click()
// get('ul').should(notBeVisible())
// get('button').click()
// get('[option="2"]').click()
// get('ul').should(notBeVisible())
// get('button').should(haveText('Arlene Mccoy'))
// },
// )
// test('$combobox/$comboboxOption',
// [html`
//
//
//
//
//
//
// `],
// ({ get }) => {
// get('article').should(haveText(''))
// get('[option="5"]').should(haveClasses(['disabled']))
// get('button')
// .should(haveText('Select Person'))
// .click()
// get('article').should(haveText('Wade Cooper'))
// get('[option="1"]').should(haveClasses(['active']))
// get('ul').type('{downarrow}')
// get('article').should(haveText('Arlene Mccoy'))
// get('[option="2"]').should(haveClasses(['active']))
// get('button').should(haveText('Select Person'))
// get('[option="2"]').click()
// get('button').should(haveText('Arlene Mccoy'))
// get('[option="2"]').should(haveClasses(['selected']))
// },
// )
// test('"name" prop',
// [html`
//
// `],
// ({ get }) => {
// get('input').should(haveAttribute('value', 'null'))
// get('button').click()
// get('input').should(haveAttribute('value', 'null'))
// get('[option="2"]').click()
// get('input').should(beHidden())
// .should(haveAttribute('name', 'person'))
// .should(haveAttribute('value', '2'))
// .should(haveAttribute('type', 'hidden'))
// get('button').click()
// get('[option="4"]').click()
// get('input').should(beHidden())
// .should(haveAttribute('name', 'person'))
// .should(haveAttribute('value', '4'))
// .should(haveAttribute('type', 'hidden'))
// },
// );
// test('"name" prop with object value',
// [html`
//
// `],
// ({ get }) => {
// get('input[name="person"]').should(haveAttribute('value', 'null'))
// get('button').click()
// get('[name="person[id]"]').should(notExist())
// get('[option="2"]').click()
// get('input[name="person"]').should(notExist())
// get('[name="person[id]"]').should(beHidden())
// .should(haveAttribute('value', '2'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="person[name]"]').should(beHidden())
// .should(haveAttribute('value', 'Arlene Mccoy'))
// .should(haveAttribute('type', 'hidden'))
// get('button').click()
// get('[option="4"]').click()
// get('[name="person[id]"]').should(beHidden())
// .should(haveAttribute('value', '4'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="person[name]"]').should(beHidden())
// .should(haveAttribute('value', 'Tom Cook'))
// .should(haveAttribute('type', 'hidden'))
// },
// );
// test('"default-value" prop',
// [html`
//
// `],
// ({ get }) => {
// get('input').should(beHidden())
// .should(haveAttribute('name', 'person'))
// .should(haveAttribute('value', '2'))
// .should(haveAttribute('type', 'hidden'))
// },
// );
// test('"multiple" prop',
// [html`
//
// `],
// ({ get }) => {
// get('button').click()
// get('[option="2"]').click()
// get('ul').should(beVisible())
// get('button').should(haveText('2'))
// get('[option="4"]').click()
// get('button').should(haveText('2,4'))
// get('ul').should(beVisible())
// get('[option="4"]').click()
// get('button').should(haveText('2'))
// get('ul').should(beVisible())
// },
// );
// test('"multiple" and "name" props together',
// [html`
//
// `],
// ({ get }) => {
// get('input[name="people"]').should(haveAttribute('value', 'null'))
// get('button').click()
// get('[name="people[0][id]"]').should(notExist())
// get('[option="2"]').click()
// get('ul').should(beVisible())
// get('button').should(haveText('2'))
// get('input[name="people"]').should(notExist())
// get('[name="people[0][id]"]').should(beHidden())
// .should(haveAttribute('value', '2'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="people[0][name]"]').should(beHidden())
// .should(haveAttribute('value', 'Arlene Mccoy'))
// .should(haveAttribute('type', 'hidden'))
// get('[option="4"]').click()
// get('[name="people[0][id]"]').should(beHidden())
// .should(haveAttribute('value', '2'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="people[0][name]"]').should(beHidden())
// .should(haveAttribute('value', 'Arlene Mccoy'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="people[1][id]"]').should(beHidden())
// .should(haveAttribute('value', '4'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="people[1][name]"]').should(beHidden())
// .should(haveAttribute('value', 'Tom Cook'))
// .should(haveAttribute('type', 'hidden'))
// get('button').should(haveText('2,4'))
// get('ul').should(beVisible())
// get('[option="4"]').click()
// get('[name="people[0][id]"]').should(beHidden())
// .should(haveAttribute('value', '2'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="people[0][name]"]').should(beHidden())
// .should(haveAttribute('value', 'Arlene Mccoy'))
// .should(haveAttribute('type', 'hidden'))
// get('[name="people[1][id]"]').should(notExist())
// get('[name="people[1][name]"]').should(notExist())
// get('button').should(haveText('2'))
// get('ul').should(beVisible())
// },
// );
// test('keyboard controls',
// [html`
//
// `],
// ({ get }) => {
// get('.active').should(notExist())
// get('button').focus().type(' ')
// get('[options]')
// .should(beVisible())
// .should(haveFocus())
// get('[option="1"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{downarrow}')
// get('[option="2"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{downarrow}')
// get('[option="4"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{uparrow}')
// get('[option="2"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{home}')
// get('[option="1"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{end}')
// get('[option="10"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{pageUp}')
// get('[option="1"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{pageDown}')
// get('[option="10"]')
// .should(haveClasses(['active']))
// get('[options]')
// .tab()
// .should(haveFocus())
// .should(beVisible())
// .tab({ shift: true })
// .should(haveFocus())
// .should(beVisible())
// .type('{esc}')
// .should(notBeVisible())
// },
// )
// test('"horizontal" keyboard controls',
// [html`
//
// `],
// ({ get }) => {
// get('.active').should(notExist())
// get('button').focus().type(' ')
// get('[options]')
// .should(haveAttribute('aria-orientation', 'horizontal'))
// .should(beVisible())
// .should(haveFocus())
// get('[option="1"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{rightarrow}')
// get('[option="2"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{rightarrow}')
// get('[option="4"]')
// .should(haveClasses(['active']))
// get('[options]')
// .type('{leftarrow}')
// get('[option="2"]')
// .should(haveClasses(['active']))
// },
// )
// test('search',
// [html`
//
// `],
// ({ get, wait }) => {
// get('.active').should(notExist())
// get('button').click()
// get('[options]')
// .type('ar')
// get('[option="2"]')
// .should(haveClasses(['active']))
// wait(500)
// get('[options]')
// .type('ma')
// get('[option="8"]')
// .should(haveClasses(['active']))
// },
// )
// test('changing value manually changes internal state',
// [html`
//
//
//
//
//
//
// `],
// ({ get }) => {
// get('[select-tim]').click()
// get('[option="4"]').should(haveClasses(['selected']))
// get('[option="1"]').should(notHaveClasses(['selected']))
// get('[toggle]').should(haveText('4'))
// },
// )
// test('has accessibility attributes',
// [html`
//
// `],
// ({ get }) => {
// get('button')
// .should(haveAttribute('aria-haspopup', 'true'))
// .should(haveAttribute('aria-labelledby', 'alpine-combobox-label-1'))
// .should(haveAttribute('aria-expanded', 'false'))
// .should(notHaveAttribute('aria-controls'))
// .should(haveAttribute('id', 'alpine-combobox-button-1'))
// .click()
// .should(haveAttribute('aria-expanded', 'true'))
// .should(haveAttribute('aria-controls', 'alpine-combobox-options-1'))
// get('[options]')
// .should(haveAttribute('aria-orientation', 'vertical'))
// .should(haveAttribute('role', 'combobox'))
// .should(haveAttribute('id', 'alpine-combobox-options-1'))
// .should(haveAttribute('aria-labelledby', 'alpine-combobox-button-1'))
// .should(notHaveAttribute('aria-activedescendant'))
// .should(haveAttribute('tabindex', '0'))
// .should(haveAttribute('aria-activedescendant', 'alpine-combobox-option-1'))
// get('[option="1"]')
// .should(haveAttribute('role', 'option'))
// .should(haveAttribute('id', 'alpine-combobox-option-1'))
// .should(haveAttribute('tabindex', '-1'))
// .should(haveAttribute('aria-selected', 'false'))
// get('[option="2"]')
// .should(haveAttribute('role', 'option'))
// .should(haveAttribute('id', 'alpine-combobox-option-2'))
// .should(haveAttribute('tabindex', '-1'))
// .should(haveAttribute('aria-selected', 'false'))
// get('[options]')
// .type('{downarrow}')
// .should(haveAttribute('aria-activedescendant', 'alpine-combobox-option-2'))
// get('[option="2"]')
// .click()
// .should(haveAttribute('aria-selected', 'true'))
// },
// )
// test('"static" prop',
// [html`
//
//
//
//
//
//
// `],
// ({ get }) => {
// get('ul').should(notBeVisible())
// get('[normal-toggle]')
// .should(haveText('Select Person'))
// .click()
// get('ul').should(notBeVisible())
// get('[real-toggle]').click()
// get('ul').should(beVisible())
// get('[option="2"]').click()
// get('ul').should(beVisible())
// get('[normal-toggle]').should(haveText('Arlene Mccoy'))
// },
// )