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 });