71 lines
2.9 KiB
TypeScript
71 lines
2.9 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
import {ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core';
|
|
|
|
import localeEn from '@angular/common/locales/en';
|
|
import localeFr from '@angular/common/locales/fr';
|
|
import localeZh from '@angular/common/locales/zh';
|
|
import localeEnAU from '@angular/common/locales/en-AU';
|
|
import localeHe from '@angular/common/locales/he';
|
|
import {getCurrencySymbol, getLocaleDateFormat, FormatWidth, getNumberOfCurrencyDigits, getLocaleDirection} from '../../src/i18n/locale_data_api';
|
|
|
|
{
|
|
describe('locale data api', () => {
|
|
beforeAll(() => {
|
|
ɵregisterLocaleData(localeEn);
|
|
ɵregisterLocaleData(localeFr);
|
|
ɵregisterLocaleData(localeZh);
|
|
ɵregisterLocaleData(localeEnAU);
|
|
ɵregisterLocaleData(localeHe);
|
|
});
|
|
|
|
afterAll(() => { ɵunregisterLocaleData(); });
|
|
|
|
describe('getting currency symbol', () => {
|
|
it('should return the correct symbol', () => {
|
|
expect(getCurrencySymbol('USD', 'wide')).toEqual('$');
|
|
expect(getCurrencySymbol('USD', 'narrow')).toEqual('$');
|
|
expect(getCurrencySymbol('AUD', 'wide')).toEqual('A$');
|
|
expect(getCurrencySymbol('AUD', 'narrow')).toEqual('$');
|
|
expect(getCurrencySymbol('CRC', 'wide')).toEqual('CRC');
|
|
expect(getCurrencySymbol('CRC', 'narrow')).toEqual('₡');
|
|
expect(getCurrencySymbol('unexisting_ISO_code', 'wide')).toEqual('unexisting_ISO_code');
|
|
expect(getCurrencySymbol('unexisting_ISO_code', 'narrow')).toEqual('unexisting_ISO_code');
|
|
expect(getCurrencySymbol('USD', 'wide', 'en-AU')).toEqual('USD');
|
|
expect(getCurrencySymbol('USD', 'narrow', 'en-AU')).toEqual('$');
|
|
expect(getCurrencySymbol('AUD', 'wide', 'en-AU')).toEqual('$');
|
|
expect(getCurrencySymbol('AUD', 'narrow', 'en-AU')).toEqual('$');
|
|
expect(getCurrencySymbol('USD', 'wide', 'fr')).toEqual('$US');
|
|
});
|
|
});
|
|
|
|
describe('getNbOfCurrencyDigits', () => {
|
|
it('should return the correct value', () => {
|
|
expect(getNumberOfCurrencyDigits('USD')).toEqual(2);
|
|
expect(getNumberOfCurrencyDigits('GNF')).toEqual(0);
|
|
expect(getNumberOfCurrencyDigits('BHD')).toEqual(3);
|
|
expect(getNumberOfCurrencyDigits('unexisting_ISO_code')).toEqual(2);
|
|
});
|
|
});
|
|
|
|
describe('getLastDefinedValue', () => {
|
|
it('should find the last defined date format when format not defined',
|
|
() => { expect(getLocaleDateFormat('zh', FormatWidth.Long)).toEqual('y年M月d日'); });
|
|
});
|
|
|
|
describe('getDirectionality', () => {
|
|
it('should have correct direction for rtl languages',
|
|
() => { expect(getLocaleDirection('he')).toEqual('rtl'); });
|
|
|
|
it('should have correct direction for ltr languages',
|
|
() => { expect(getLocaleDirection('en')).toEqual('ltr'); });
|
|
});
|
|
});
|
|
}
|