github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/tests/integration/modifiers/autofocus-test.js (about)

     1  import { module, test } from 'qunit';
     2  import { setupRenderingTest } from 'ember-qunit';
     3  import { render } from '@ember/test-helpers';
     4  import { hbs } from 'ember-cli-htmlbars';
     5  
     6  module('Integration | Modifier | autofocus', function (hooks) {
     7    setupRenderingTest(hooks);
     8  
     9    test('Basic Usage', async function (assert) {
    10      await render(hbs`
    11      <form>
    12        <label>
    13          <input data-test-input-1 {{autofocus}} />
    14        </label>
    15      </form>`);
    16  
    17      assert
    18        .dom('[data-test-input-1]')
    19        .isFocused('Autofocus on an element works');
    20    });
    21  
    22    test('Multiple foci', async function (assert) {
    23      await render(hbs`
    24      <form>
    25        <label>
    26          <input data-test-input-1 {{autofocus}} />
    27        </label>
    28        <label>
    29          <input data-test-input-2 {{autofocus}} />
    30        </label>
    31      </form>`);
    32  
    33      assert
    34        .dom('[data-test-input-1]')
    35        .isNotFocused('With multiple autofocus elements, priors are unfocused');
    36      assert
    37        .dom('[data-test-input-2]')
    38        .isFocused('With multiple autofocus elements, posteriors are focused');
    39    });
    40  
    41    test('Ignore parameter', async function (assert) {
    42      await render(hbs`
    43      <form>
    44      <label>
    45          <input data-test-input-1 {{autofocus}} />
    46        </label>
    47        <label>
    48          <input data-test-input-2 {{autofocus}} />
    49        </label>
    50        <label>
    51          <input data-test-input-3 {{autofocus ignore=true}} />
    52        </label>
    53        <label>
    54          <input data-test-input-4 {{autofocus ignore=true}} />
    55        </label>
    56      </form>`);
    57  
    58      assert
    59        .dom('[data-test-input-2]')
    60        .isFocused('The last autofocus element without ignore is focused');
    61      assert
    62        .dom('[data-test-input-3]')
    63        .isNotFocused('Ignore parameter is observed, prior');
    64      assert
    65        .dom('[data-test-input-4]')
    66        .isNotFocused('Ignore parameter is observed, posterior');
    67    });
    68  });