1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { beVisible, haveText, html, notBeVisible, test } from '../../utils'
- test('x-if',
- html`
- <div x-data="{ show: false }">
- <button @click="show = ! show">Toggle</button>
- <template x-if="show">
- <h1>Toggle Me</h1>
- </template>
- </div>
- `,
- ({ get }) => {
- get('h1').should(notBeVisible())
- get('button').click()
- get('h1').should(beVisible())
- get('button').click()
- get('h1').should(notBeVisible())
- }
- )
- test('x-if inside x-for allows nested directives',
- html`
- <div x-data="{items: [{id: 1, label: '1'}]}">
- <template x-for="item in items" :key="item.id">
- <div>
- <template x-if="item.label">
- <span x-text="item.label"></span>
- </template>
- </div>
- </template>
- </div>
- `,
- ({ get }) => {
- get('span').should(haveText('1'))
- }
- )
- test('x-if initializes after being added to the DOM to allow x-ref to work',
- html`
- <div x-data="{}">
- <template x-if="true">
- <ul x-ref="listbox" data-foo="bar">
- <li x-text="$refs.listbox.dataset.foo"></li>
- </ul>
- </template>
- </div>
- `,
- ({ get }) => {
- get('li').should(haveText('bar'))
- }
- )
|