mui/base-ui

[NumberField] Unit test broken when using non-English locale

Closed this issue · 0 comments

Running pnpm test:unit or pnpm test:karma on a machine with non-English regional settings results in failing tests. For example, when ran on Windows with Polish locale, 9 errors are reported:

Test output
1) <NumberField.Input />
     commits formatted value only on blur:

    AssertionError: expected input#:r1n2:[inputmode="numeric"][type="text"][autocomplete="off"][autocorrect="off"][spellcheck="false"][aria-roledescription="Number field"][value="1234"] to have value '1,234', but the value was '1234'
    + expected - actual

    -1234
    +1,234

    at Context.<anonymous> (packages\mui-base\src\NumberField\Input\/NumberFieldInput.test.tsx:136:27)
    at processImmediate (node:internal/timers:478:21)

2) <NumberField />
     prop: smallStep
       should increment the value by the default `smallStep` prop of 0.1 while holding the alt key:

    AssertionError: expected input#:r1po:[inputmode="numeric"][type="text"][autocomplete="off"][autocorrect="off"][spellcheck="false"][aria-roledescription="Number field"][value="5,1"] to have value '5.1', but the value was '5,1'
    + expected - actual

    -5,1
    +5.1

    at Context.<anonymous> (packages\mui-base\src\NumberField\Root\/NumberFieldRoot.test.tsx:376:29)
    at processImmediate (node:internal/timers:478:21)

3) <NumberField />
     prop: smallStep
       should decrement the value by the default `smallStep` prop of 0.1 while holding the alt key:

    AssertionError: expected input#:r1pq:[inputmode="numeric"][type="text"][autocomplete="off"][autocorrect="off"][spellcheck="false"][aria-roledescription="Number field"][value="5,9"] to have value '5.9', but the value was '5,9'
    + expected - actual

    -5,9
    +5.9

    at Context.<anonymous> (packages\mui-base\src\NumberField\Root\/NumberFieldRoot.test.tsx:384:29)
    at processImmediate (node:internal/timers:478:21)

4) <NumberField />
     prop: smallStep
       should use explicit `smallStep` value if provided while holding the alt key:

    AssertionError: expected input#:r1ps:[inputmode="numeric"][type="text"][autocomplete="off"][autocorrect="off"][spellcheck="false"][aria-roledescription="Number field"][value="5,5"] to have value '5.5', but the value was '5,5'
    + expected - actual

    -5,5
    +5.5

    at Context.<anonymous> (packages\mui-base\src\NumberField\Root\/NumberFieldRoot.test.tsx:392:29)
    at processImmediate (node:internal/timers:478:21)

5) <NumberField />
     prop: smallStep
       should not use the `smallStep` prop if no longer holding the alt key:

    AssertionError: expected input#:r1pu:[inputmode="numeric"][type="text"][autocomplete="off"][autocorrect="off"][spellcheck="false"][aria-roledescription="Number field"][value="5,5"] to have value '5.5', but the value was '5,5'
    + expected - actual

    -5,5
    +5.5

    at Context.<anonymous> (packages\mui-base\src\NumberField\Root\/NumberFieldRoot.test.tsx:401:29)
    at processImmediate (node:internal/timers:478:21)

6) <NumberField />
     prop: format
       should format the value using the provided options:

    AssertionError: expected input#:r1q0:[inputmode="numeric"][type="text"][autocomplete="off"][autocorrect="off"][spellcheck="false"][aria-roledescription="Number field"][value="1000,00 USD"] to have value '$1,000.00', but the value was '1000,00 USD'
    + expected - actual

    -1000,00 USD
    +$1,000.00

    at Context.<anonymous> (packages\mui-base\src\NumberField\Root\/NumberFieldRoot.test.tsx:412:29)
    at processImmediate (node:internal/timers:478:21)

7) NumberField format
     formatNumber
       formats a number:

    AssertionError: expected '1234,56 USD' to equal '$1,234.56'
    + expected - actual

    -1234,56 USD
    +$1,234.56

    at Context.<anonymous> (packages\mui-base\src\NumberField\utils\/format.test.ts:22:72)
    at processImmediate (node:internal/timers:478:21)

8) NumberField parse
     getNumberLocaleDetails
       returns the number locale details:

    AssertionError: expected ',' to equal '.'
    + expected - actual

    -,
    +.

    at Context.<anonymous> (packages\mui-base\src\NumberField\utils\/parse.test.ts:8:34)
    at processImmediate (node:internal/timers:478:21)

9) NumberField parse
     parseNumber
       parses a number:

    AssertionError: expected 1.234 to equal 1234.56
    + expected - actual

    -1.234
    +1234.56

    at Context.<anonymous> (packages\mui-base\src\NumberField\utils\/parse.test.ts:19:42)
    at processImmediate (node:internal/timers:478:21)

Search keywords: