From 4ec5e282d9dc842ba430077f0f8e32cebbf7fcbc Mon Sep 17 00:00:00 2001 From: Olivier Combe Date: Tue, 29 Aug 2017 18:54:17 +0200 Subject: [PATCH] fix(common): use correct group separator for currency pipe (#18932) PR Close #18932 --- packages/common/src/i18n/locale_data_api.ts | 2 +- packages/common/test/pipes/number_pipe_spec.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/common/src/i18n/locale_data_api.ts b/packages/common/src/i18n/locale_data_api.ts index 3d15818de0..6cd27145c3 100644 --- a/packages/common/src/i18n/locale_data_api.ts +++ b/packages/common/src/i18n/locale_data_api.ts @@ -325,7 +325,7 @@ export function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): str if (symbol === NumberSymbol.CurrencyDecimal) { return data[LocaleDataIndex.NumberSymbols][NumberSymbol.Decimal]; } else if (symbol === NumberSymbol.CurrencyGroup) { - return data[LocaleDataIndex.NumberSymbols][NumberSymbol.Decimal]; + return data[LocaleDataIndex.NumberSymbols][NumberSymbol.Group]; } } return res; diff --git a/packages/common/test/pipes/number_pipe_spec.ts b/packages/common/test/pipes/number_pipe_spec.ts index 1304b035dd..3df4a90e98 100644 --- a/packages/common/test/pipes/number_pipe_spec.ts +++ b/packages/common/test/pipes/number_pipe_spec.ts @@ -8,6 +8,7 @@ import localeEn from '../../locales/en'; import localeEsUS from '../../locales/es-US'; +import localeFr from '../../locales/fr'; import {registerLocaleData, CurrencyPipe, DecimalPipe, PercentPipe} from '@angular/common'; import {beforeEach, describe, expect, it} from '@angular/core/testing/src/testing_internal'; @@ -16,6 +17,7 @@ export function main() { beforeAll(() => { registerLocaleData(localeEn); registerLocaleData(localeEsUS); + registerLocaleData(localeFr); }); function isNumeric(value: any): boolean { return !isNaN(value - parseFloat(value)); } @@ -72,6 +74,8 @@ export function main() { it('should return correct value for numbers', () => { expect(pipe.transform(1.23)).toEqual('123%'); expect(pipe.transform(1.2, '.2')).toEqual('120.00%'); + expect(pipe.transform(1.2, '4.2')).toEqual('0,120.00%'); + expect(pipe.transform(1.2, '4.2', 'fr')).toEqual('0 120,00 %'); }); it('should not support other objects', @@ -93,6 +97,9 @@ export function main() { expect(pipe.transform(5.1234, 'USD', 'symbol')).toEqual('$5.12'); expect(pipe.transform(5.1234, 'CAD', 'symbol')).toEqual('CA$5.12'); expect(pipe.transform(5.1234, 'CAD', 'symbol-narrow')).toEqual('$5.12'); + expect(pipe.transform(5.1234, 'CAD', 'symbol-narrow', '5.2-2')).toEqual('$00,005.12'); + expect(pipe.transform(5.1234, 'CAD', 'symbol-narrow', '5.2-2', 'fr')) + .toEqual('00 005,12 $'); }); it('should not support other objects',