Skip to content

typeIn not properly handling decimal places #1546

Open
@ErvinSabic

Description

@ErvinSabic

I have the following test:

  test('number type input accepts decimal values', async function (assert) {

      await render(<template>
        <input type="number" aria-label="blah" step="0.01" />
      </template>);

      const input = this.element.querySelector('input') as HTMLInputElement;

      await typeIn('input', '1.03');
      assert.strictEqual(input.value, '1.03', 'allows decimal values');
  });

and it returns:

test-app:test: not ok 38 Chrome 135.0 - [249 ms] - Integration Component HeadlessForm > Input: number type input accepts decimal values
test-app:test:     ---
test-app:test:         actual: >
test-app:test:             03
test-app:test:         expected: >
test-app:test:             1.03
test-app:test:         stack: >
test-app:test:                 at Object.<anonymous> (http://localhost:4203/assets/tests.js:1378:14)
test-app:test:         message: >
test-app:test:             allows decimal values
test-app:test:         negative: >
test-app:test:             false
test-app:test:         browser log: |
test-app:test:     ...

Indicating an issue with the way that typeIn handles number inputs with decimal places. I cannot repeat this failure between Chrome and Firefox. Only within the test suite. Using fillIn instead allows for the test to pass. But typeIn should also work. If I had to guess the order in which events are fired may be off when using typeIn. I'll need to look into it further.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions