@lion/ui 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox-group/src/LionCheckboxIndeterminate.js +2 -2
- package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +6 -0
- package/components/checkbox-group/{test/lion-checkbox-indeterminate.test.js → test-suites/CheckboxIndeterminate.suite.js} +209 -187
- package/components/combobox/src/LionCombobox.js +3 -1
- package/components/combobox/test/lion-combobox.test.js +52 -0
- package/components/listbox/src/ListboxMixin.js +3 -2
- package/components/listbox/test-suites/ListboxMixin.suite.js +31 -1
- package/components/localize/src/number/utils/normalize-format-number-to-parts/forceNoSpaceBetweenCurrencySymbolAndNumber.js +22 -0
- package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSymbols.js +64 -0
- package/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.js +13 -7
- package/components/localize/test/number/formatNumber.test.js +6 -28
- package/custom-elements.json +358 -201
- package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts +12 -0
- package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts.map +1 -0
- package/dist-types/components/combobox/src/LionCombobox.d.ts.map +1 -1
- package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -1
- package/dist-types/components/listbox/src/ListboxMixin.d.ts.map +1 -1
- package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts.map +1 -1
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceNoSpaceBetweenCurrencySymbolAndNumber.d.ts +14 -0
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceNoSpaceBetweenCurrencySymbolAndNumber.d.ts.map +1 -0
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSymbols.d.ts +20 -0
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSymbols.d.ts.map +1 -0
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.d.ts.map +1 -1
- package/dist-types/exports/checkbox-group-test-suites.d.ts +2 -0
- package/dist-types/exports/checkbox-group-test-suites.d.ts.map +1 -0
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/checkbox-group/overview.md +9 -10
- package/docs/components/checkbox-group/use-cases.md +110 -142
- package/docs/components/collapsible/overview.md +1 -1
- package/docs/components/combobox/overview.md +1 -1
- package/docs/components/combobox/use-cases.md +1 -1
- package/docs/components/dialog/overview.md +1 -1
- package/docs/components/fieldset/overview.md +5 -5
- package/docs/components/form/overview.md +3 -3
- package/docs/components/icon/use-cases.md +1 -1
- package/docs/components/input/overview.md +1 -1
- package/docs/components/input-amount/overview.md +3 -3
- package/docs/components/input-date/overview.md +3 -3
- package/docs/components/input-datepicker/overview.md +5 -5
- package/docs/components/input-email/overview.md +2 -2
- package/docs/components/input-file/overview.md +1 -1
- package/docs/components/input-iban/overview.md +2 -2
- package/docs/components/input-range/overview.md +2 -2
- package/docs/components/input-stepper/overview.md +1 -1
- package/docs/components/input-tel/overview.md +1 -1
- package/docs/components/input-tel/use-cases.md +6 -6
- package/docs/components/input-tel-dropdown/overview.md +1 -1
- package/docs/components/radio-group/overview.md +3 -3
- package/docs/components/select-rich/use-cases.md +1 -1
- package/docs/components/tabs/examples.md +1 -1
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/providence-analytics/LocalConfiguration.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/QueryResult.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/analyzer.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/dashboard.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/overview.md +3 -3
- package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
- package/docs/fundamentals/rationales/accessibility.md +1 -1
- package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
- package/docs/fundamentals/systems/core/overview.md +1 -1
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
- package/docs/fundamentals/systems/form/model-value.md +1 -1
- package/docs/fundamentals/systems/form/overview.md +28 -28
- package/docs/fundamentals/systems/form/validate.md +1 -1
- package/docs/fundamentals/systems/localize/overview.md +4 -4
- package/docs/fundamentals/systems/overlays/configuration.md +2 -2
- package/docs/fundamentals/systems/overlays/overview.md +5 -5
- package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
- package/docs/fundamentals/tools/helpers/overview.md +1 -1
- package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
- package/docs/guides/how-to/create-a-custom-field.md +5 -5
- package/docs/guides/how-to/create-a-form.md +4 -4
- package/docs/guides/how-to/extend-a-native-input.md +2 -2
- package/docs/guides/how-to/get-started.md +28 -1
- package/docs/guides/index.md +8 -8
- package/docs/guides/principles/index.md +5 -5
- package/docs/guides/principles/styling.md +1 -1
- package/exports/checkbox-group-test-suites.js +1 -0
- package/package.json +1 -1
- package/components/localize/src/number/utils/normalize-format-number-to-parts/forceENAUSymbols.js +0 -25
- package/components/localize/src/number/utils/normalize-format-number-to-parts/forceYenSymbol.js +0 -15
- package/dist-types/components/checkbox-group/test/lion-checkbox-indeterminate.test.d.ts +0 -4
- package/dist-types/components/checkbox-group/test/lion-checkbox-indeterminate.test.d.ts.map +0 -1
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceENAUSymbols.d.ts +0 -14
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceENAUSymbols.d.ts.map +0 -1
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceYenSymbol.d.ts +0 -9
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceYenSymbol.d.ts.map +0 -1
|
@@ -12,6 +12,7 @@ import '@lion/ui/define/lion-listbox.js';
|
|
|
12
12
|
import '@lion/ui/define/lion-option.js';
|
|
13
13
|
import { Required, Unparseable } from '@lion/ui/form-core.js';
|
|
14
14
|
import { defineCE, expect, fixture, html, unsafeStatic } from '@open-wc/testing';
|
|
15
|
+
import { sendKeys } from '@web/test-runner-commands';
|
|
15
16
|
import { LitElement } from 'lit';
|
|
16
17
|
import sinon from 'sinon';
|
|
17
18
|
|
|
@@ -2678,6 +2679,57 @@ describe('lion-combobox', () => {
|
|
|
2678
2679
|
mimicKeyPress(visibleOptions[1], 'Enter');
|
|
2679
2680
|
expect(el.opened).to.equal(true);
|
|
2680
2681
|
});
|
|
2682
|
+
|
|
2683
|
+
it('submits form on [Enter] when listbox is closed', async () => {
|
|
2684
|
+
const submitSpy = sinon.spy(e => e.preventDefault());
|
|
2685
|
+
const el = /** @type {HTMLFormElement} */ (
|
|
2686
|
+
await fixture(html`
|
|
2687
|
+
<form @submit=${submitSpy}>
|
|
2688
|
+
<lion-combobox name="foo" multiple-choice>
|
|
2689
|
+
<lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
|
|
2690
|
+
<lion-option .choiceValue="${'Chard'}">Chard</lion-option>
|
|
2691
|
+
<lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
|
|
2692
|
+
<lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
|
|
2693
|
+
</lion-combobox>
|
|
2694
|
+
<button type="submit">submit</button>
|
|
2695
|
+
</form>
|
|
2696
|
+
`)
|
|
2697
|
+
);
|
|
2698
|
+
const combobox = /** @type {LionCombobox} */ (el.querySelector('[name="foo"]'));
|
|
2699
|
+
const { _inputNode } = getComboboxMembers(combobox);
|
|
2700
|
+
await combobox.updateComplete;
|
|
2701
|
+
_inputNode.focus();
|
|
2702
|
+
await sendKeys({
|
|
2703
|
+
press: 'Enter',
|
|
2704
|
+
});
|
|
2705
|
+
expect(submitSpy.callCount).to.equal(1);
|
|
2706
|
+
});
|
|
2707
|
+
|
|
2708
|
+
it('does not submit form on [Enter] when listbox is opened', async () => {
|
|
2709
|
+
const submitSpy = sinon.spy(e => e.preventDefault());
|
|
2710
|
+
const el = /** @type {HTMLFormElement} */ (
|
|
2711
|
+
await fixture(html`
|
|
2712
|
+
<form @submit=${submitSpy}>
|
|
2713
|
+
<lion-combobox name="foo" multiple-choice>
|
|
2714
|
+
<lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
|
|
2715
|
+
<lion-option .choiceValue="${'Chard'}">Chard</lion-option>
|
|
2716
|
+
<lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
|
|
2717
|
+
<lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
|
|
2718
|
+
</lion-combobox>
|
|
2719
|
+
<button type="submit">submit</button>
|
|
2720
|
+
</form>
|
|
2721
|
+
`)
|
|
2722
|
+
);
|
|
2723
|
+
const combobox = /** @type {LionCombobox} */ (el.querySelector('[name="foo"]'));
|
|
2724
|
+
const { _inputNode } = getComboboxMembers(combobox);
|
|
2725
|
+
combobox.opened = true;
|
|
2726
|
+
await combobox.updateComplete;
|
|
2727
|
+
_inputNode.focus();
|
|
2728
|
+
await sendKeys({
|
|
2729
|
+
press: 'Enter',
|
|
2730
|
+
});
|
|
2731
|
+
expect(submitSpy.callCount).to.equal(0);
|
|
2732
|
+
});
|
|
2681
2733
|
});
|
|
2682
2734
|
|
|
2683
2735
|
describe('Match Mode', () => {
|
|
@@ -294,7 +294,6 @@ const ListboxMixinImplementation = superclass =>
|
|
|
294
294
|
* @protected
|
|
295
295
|
*/
|
|
296
296
|
this._repropagationRole = 'choice-group'; // configures FormControlMixin
|
|
297
|
-
|
|
298
297
|
/**
|
|
299
298
|
* When listbox is coupled to a textbox (in case we are dealing with a combobox),
|
|
300
299
|
* spaces should not select an element (they need to be put in the textbox)
|
|
@@ -612,7 +611,9 @@ const ListboxMixinImplementation = superclass =>
|
|
|
612
611
|
if (key === ' ' && this._listboxReceivesNoFocus) {
|
|
613
612
|
return;
|
|
614
613
|
}
|
|
615
|
-
|
|
614
|
+
if (key === ' ') {
|
|
615
|
+
ev.preventDefault();
|
|
616
|
+
}
|
|
616
617
|
if (!this.formElements[this.activeIndex]) {
|
|
617
618
|
return;
|
|
618
619
|
}
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
nextFrame,
|
|
14
14
|
unsafeStatic,
|
|
15
15
|
} from '@open-wc/testing';
|
|
16
|
+
import { sendKeys } from '@web/test-runner-commands';
|
|
16
17
|
import sinon from 'sinon';
|
|
17
18
|
import { getListboxMembers } from '../../../exports/listbox-test-helpers.js';
|
|
18
19
|
|
|
@@ -673,12 +674,41 @@ export function runListboxMixinSuite(customConfig = {}) {
|
|
|
673
674
|
mimicKeyPress(_listboxNode, 'Enter');
|
|
674
675
|
expect(options[1].checked).to.be.true;
|
|
675
676
|
});
|
|
677
|
+
|
|
678
|
+
it('submits form on [Enter] when inputNode is an instance of HTMLInputNode', async () => {
|
|
679
|
+
const submitSpy = sinon.spy(e => e.preventDefault());
|
|
680
|
+
const el = /** @type {HTMLFormElement} */ (
|
|
681
|
+
await _fixture(html`
|
|
682
|
+
<form @submit=${submitSpy}>
|
|
683
|
+
<${tag} name="foo">
|
|
684
|
+
<${optionTag} .choiceValue="${'Artichoke'}">Artichoke</${optionTag}>
|
|
685
|
+
<${optionTag} .choiceValue="${'Bla'}">Bla</${optionTag}>
|
|
686
|
+
<${optionTag} .choiceValue="${'Chard'}">Chard</${optionTag}>
|
|
687
|
+
</${tag}>
|
|
688
|
+
<button type="submit">submit</button>
|
|
689
|
+
</form>
|
|
690
|
+
`)
|
|
691
|
+
);
|
|
692
|
+
const listbox = /** @type {LionListbox} */ (el.querySelector('[name="foo"]'));
|
|
693
|
+
const { _inputNode } = getListboxMembers(listbox);
|
|
694
|
+
if (!(_inputNode instanceof HTMLInputElement)) {
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
await listbox.updateComplete;
|
|
698
|
+
// @ts-ignore allow protected members in tests
|
|
699
|
+
|
|
700
|
+
_inputNode.focus();
|
|
701
|
+
await sendKeys({
|
|
702
|
+
press: 'Enter',
|
|
703
|
+
});
|
|
704
|
+
expect(submitSpy.callCount).to.equal(1);
|
|
705
|
+
});
|
|
676
706
|
});
|
|
677
707
|
|
|
678
708
|
describe('Space', () => {
|
|
679
709
|
it('selects active option when "_listboxReceivesNoFocus" is true', async () => {
|
|
680
710
|
// When listbox is not focusable (in case of a combobox), the user should be allowed
|
|
681
|
-
// to enter a space in the focusable element (
|
|
711
|
+
// to enter a space in the focusable element (textbox)
|
|
682
712
|
const el = /** @type {LionListbox} */ (
|
|
683
713
|
await fixture(html`
|
|
684
714
|
<${tag} opened name="foo" ._listboxReceivesNoFocus="${false}" autocomplete="none" show-all-on-empty>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Force no space between currency symbol and amount
|
|
3
|
+
*
|
|
4
|
+
* @typedef {import('../../../../types/LocalizeMixinTypes.js').FormatNumberPart} FormatNumberPart
|
|
5
|
+
* @param {FormatNumberPart[]} formattedParts
|
|
6
|
+
* @param {import('../../../../types/LocalizeMixinTypes.js').FormatNumberOptions} options
|
|
7
|
+
* @returns {FormatNumberPart[]}
|
|
8
|
+
*/
|
|
9
|
+
export function forceNoSpaceBetweenCurrencySymbolAndNumber(
|
|
10
|
+
formattedParts,
|
|
11
|
+
{ currency, currencyDisplay } = {},
|
|
12
|
+
) {
|
|
13
|
+
const result = formattedParts;
|
|
14
|
+
if (formattedParts.length > 1 && currencyDisplay === 'symbol' && currency) {
|
|
15
|
+
formattedParts.forEach((part, i) => {
|
|
16
|
+
if (part.type === 'literal') {
|
|
17
|
+
result[i].value = '';
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('../../../../types/LocalizeMixinTypes.js').FormatNumberPart} FormatNumberPart
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/** @type {Object.<string,string>} */
|
|
6
|
+
const CURRENCY_CODE_SYMBOL_MAP = {
|
|
7
|
+
EUR: '€',
|
|
8
|
+
USD: '$',
|
|
9
|
+
JPY: '¥',
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Change the symbols differences in browsers
|
|
14
|
+
*
|
|
15
|
+
* @param {FormatNumberPart[]} formattedParts
|
|
16
|
+
* @param {import('../../../../types/LocalizeMixinTypes.js').FormatNumberOptions} options
|
|
17
|
+
* @param {string[]} currencyScope
|
|
18
|
+
* @returns {FormatNumberPart[]}
|
|
19
|
+
*/
|
|
20
|
+
export function forceSymbols(formattedParts, { currency, currencyDisplay } = {}, currencyScope) {
|
|
21
|
+
const result = formattedParts;
|
|
22
|
+
if (
|
|
23
|
+
formattedParts.length > 1 &&
|
|
24
|
+
currencyDisplay === 'symbol' &&
|
|
25
|
+
currency &&
|
|
26
|
+
currencyScope.includes(currency)
|
|
27
|
+
) {
|
|
28
|
+
formattedParts.forEach((part, i) => {
|
|
29
|
+
if (part.type === 'currency' && Object.keys(CURRENCY_CODE_SYMBOL_MAP).includes(currency)) {
|
|
30
|
+
result[i].value = CURRENCY_CODE_SYMBOL_MAP[currency];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Change the symbols for fr-BE differences in browsers
|
|
39
|
+
*
|
|
40
|
+
* @param {FormatNumberPart[]} formattedParts
|
|
41
|
+
* @param {import('../../../../types/LocalizeMixinTypes.js').FormatNumberOptions} options
|
|
42
|
+
* @param {string[]} currencyScope
|
|
43
|
+
* @returns {FormatNumberPart[]}
|
|
44
|
+
*/
|
|
45
|
+
export function forceFRBESymbols(
|
|
46
|
+
formattedParts,
|
|
47
|
+
{ currency, currencyDisplay } = {},
|
|
48
|
+
currencyScope,
|
|
49
|
+
) {
|
|
50
|
+
const result = formattedParts;
|
|
51
|
+
if (
|
|
52
|
+
formattedParts.length > 1 &&
|
|
53
|
+
currencyDisplay === 'symbol' &&
|
|
54
|
+
currency &&
|
|
55
|
+
currencyScope.includes(currency)
|
|
56
|
+
) {
|
|
57
|
+
formattedParts.forEach((part, i) => {
|
|
58
|
+
if (part.type === 'currency' && Object.keys(CURRENCY_CODE_SYMBOL_MAP).includes(currency)) {
|
|
59
|
+
result[i].value = '$US';
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
package/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { getGroupSeparator } from '../../getGroupSeparator.js';
|
|
2
2
|
import { forceAddGroupSeparators } from './forceAddGroupSeparators.js';
|
|
3
3
|
import { forceCurrencyToEnd } from './forceCurrencyToEnd.js';
|
|
4
|
+
import { forceNoSpaceBetweenCurrencySymbolAndNumber } from './forceNoSpaceBetweenCurrencySymbolAndNumber.js';
|
|
4
5
|
import { forceNormalSpaces } from './forceNormalSpaces.js';
|
|
5
6
|
import { forceSpaceBetweenCurrencyCodeAndNumber } from './forceSpaceBetweenCurrencyCodeAndNumber.js';
|
|
6
|
-
import { forceYenSymbol } from './forceYenSymbol.js';
|
|
7
7
|
import { forceSpaceInsteadOfZeroForGroup } from './forceSpaceInsteadOfZeroForGroup.js';
|
|
8
8
|
import { forceTryCurrencyCode } from './forceTryCurrencyCode.js';
|
|
9
|
-
import {
|
|
9
|
+
import { forceFRBESymbols, forceSymbols } from './forceSymbols.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Normalizes function "formatNumberToParts"
|
|
@@ -33,9 +33,18 @@ export function normalizeIntl(formattedParts, options = {}, _locale) {
|
|
|
33
33
|
if (_locale === 'en-GB' || _locale === 'en-US' || _locale === 'en-AU' || _locale === 'en-PH') {
|
|
34
34
|
normalize = forceSpaceBetweenCurrencyCodeAndNumber(normalize, options);
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
if (_locale === 'en-AU') {
|
|
37
|
+
normalize = forceSymbols(normalize, options, ['EUR', 'USD', 'JPY']);
|
|
38
|
+
normalize = forceNoSpaceBetweenCurrencySymbolAndNumber(normalize, options);
|
|
39
|
+
}
|
|
40
|
+
if (_locale === 'en-PH') {
|
|
41
|
+
normalize = forceSymbols(normalize, options, ['USD', 'JPY']);
|
|
42
|
+
}
|
|
37
43
|
if (_locale === 'fr-FR' || _locale === 'fr-BE') {
|
|
38
|
-
normalize =
|
|
44
|
+
normalize = forceSymbols(normalize, options, ['JPY']);
|
|
45
|
+
}
|
|
46
|
+
if (_locale === 'fr-BE') {
|
|
47
|
+
normalize = forceFRBESymbols(normalize, options, ['USD']);
|
|
39
48
|
}
|
|
40
49
|
if (_locale === 'tr-TR') {
|
|
41
50
|
normalize = forceTryCurrencyCode(normalize, options);
|
|
@@ -43,9 +52,6 @@ export function normalizeIntl(formattedParts, options = {}, _locale) {
|
|
|
43
52
|
normalize = forceCurrencyToEnd(normalize);
|
|
44
53
|
}
|
|
45
54
|
}
|
|
46
|
-
if (_locale === 'en-AU') {
|
|
47
|
-
normalize = forceENAUSymbols(normalize, options);
|
|
48
|
-
}
|
|
49
55
|
}
|
|
50
56
|
return normalize;
|
|
51
57
|
}
|
|
@@ -2,12 +2,6 @@ import { expect } from '@open-wc/testing';
|
|
|
2
2
|
import { getLocalizeManager, formatNumber } from '@lion/ui/localize-no-side-effects.js';
|
|
3
3
|
import { localizeTearDown } from '@lion/ui/localize-test-helpers.js';
|
|
4
4
|
|
|
5
|
-
// TODO: This is broken only in Safari 13.1.2 Wait till ci is on 13.1.3 and remove
|
|
6
|
-
const isSafari = (() => {
|
|
7
|
-
const ua = navigator.userAgent.toLowerCase();
|
|
8
|
-
return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1;
|
|
9
|
-
})();
|
|
10
|
-
|
|
11
5
|
const currencyCode = /** @param {string} currency */ currency => ({
|
|
12
6
|
style: 'currency',
|
|
13
7
|
currencyDisplay: 'code',
|
|
@@ -278,19 +272,17 @@ Please specify .groupSeparator / .decimalSeparator on the formatOptions object t
|
|
|
278
272
|
});
|
|
279
273
|
|
|
280
274
|
describe('en-AU', () => {
|
|
281
|
-
// TODO: This is broken only in Safari 13.1.2 Wait till ci is on 13.1.3 and remove
|
|
282
|
-
if (isSafari) {
|
|
283
|
-
return;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
275
|
it('supports basics', () => {
|
|
287
276
|
localizeManager.locale = 'en-AU';
|
|
288
277
|
expect(formatNumber(123456.789, currencyCode('EUR'))).to.equal('EUR 123,456.79');
|
|
289
278
|
expect(formatNumber(123456.789, currencyCode('USD'))).to.equal('USD 123,456.79');
|
|
290
279
|
expect(formatNumber(123456.789, currencyCode('JPY'))).to.equal('JPY 123,457');
|
|
291
|
-
expect(formatNumber(123456.789, currencySymbol('EUR'))).to.equal('€123,456.79');
|
|
292
|
-
expect(formatNumber(123456.789, currencySymbol('
|
|
293
|
-
expect(formatNumber(123456.789, currencySymbol('
|
|
280
|
+
expect(formatNumber(123456.789, currencySymbol('EUR'))).to.equal('€123,456.79');
|
|
281
|
+
expect(formatNumber(-123456.789, currencySymbol('EUR'))).to.equal('−€123,456.79');
|
|
282
|
+
expect(formatNumber(123456.789, currencySymbol('USD'))).to.equal('$123,456.79');
|
|
283
|
+
expect(formatNumber(-123456.789, currencySymbol('USD'))).to.equal('−$123,456.79');
|
|
284
|
+
expect(formatNumber(123456.789, currencySymbol('JPY'))).to.equal('¥123,457');
|
|
285
|
+
expect(formatNumber(-123456.789, currencySymbol('JPY'))).to.equal('−¥123,457');
|
|
294
286
|
});
|
|
295
287
|
});
|
|
296
288
|
|
|
@@ -319,11 +311,6 @@ Please specify .groupSeparator / .decimalSeparator on the formatOptions object t
|
|
|
319
311
|
});
|
|
320
312
|
|
|
321
313
|
describe('nl-BE', () => {
|
|
322
|
-
// TODO: This is broken only in Safari 13.1.2 Wait till ci is on 13.1.3 and remove
|
|
323
|
-
if (isSafari) {
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
314
|
it('supports basics', () => {
|
|
328
315
|
localizeManager.locale = 'nl-BE';
|
|
329
316
|
expect(formatNumber(123456.789, currencyCode('EUR'))).to.equal('123.456,79 EUR');
|
|
@@ -349,10 +336,6 @@ Please specify .groupSeparator / .decimalSeparator on the formatOptions object t
|
|
|
349
336
|
|
|
350
337
|
describe('fr-BE', () => {
|
|
351
338
|
it('supports basics', () => {
|
|
352
|
-
// TODO: This test is broken on Safari, check and fix when the intl change is permanent
|
|
353
|
-
if (isSafari) {
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
356
339
|
localizeManager.locale = 'fr-BE';
|
|
357
340
|
expect(formatNumber(123456.789, currencyCode('EUR'))).to.equal('123 456,79 EUR');
|
|
358
341
|
expect(formatNumber(123456.789, currencyCode('USD'))).to.equal('123 456,79 USD');
|
|
@@ -397,11 +380,6 @@ Please specify .groupSeparator / .decimalSeparator on the formatOptions object t
|
|
|
397
380
|
});
|
|
398
381
|
|
|
399
382
|
describe('tr-TR', () => {
|
|
400
|
-
// TODO: This is broken only in Safari 13.1.2 Wait till ci is on 13.1.3 and remove
|
|
401
|
-
if (isSafari) {
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
383
|
it('supports basics', () => {
|
|
406
384
|
localizeManager.locale = 'tr-TR';
|
|
407
385
|
expect(formatNumber(123456.789, currencyCode('EUR'))).to.equal('123.456,79 EUR');
|