UNPKG

ohayolibs

Version:

Ohayo is a set of essential modules for ohayojp.

58 lines (51 loc) 2.12 kB
import { registerLocaleData } from '@angular/common'; import localeZhHans from '@angular/common/locales/zh-Hans'; import { Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { OhayoThemeModule } from '../../theme.module'; registerLocaleData(localeZhHans); describe('Pipe: _currency', () => { let fixture: ComponentFixture<TestComponent>; beforeEach(() => { TestBed.configureTestingModule({ imports: [OhayoThemeModule.forRoot()], declarations: [TestComponent], }); fixture = TestBed.createComponent(TestComponent); }); [ { value: 100, result: `¥100.00` }, { value: 100.5, result: `¥100.50` }, { value: 100.534, result: `¥100.53` }, { value: 100.536, result: `¥100.54` }, { value: 1000000.536, result: `¥1,000,000.54` }, { value: 100, result: `RMB100.00`, currencyCode: 'RMB' }, { value: 100, result: `¥100.00`, display: 'code' }, { value: 100, result: `¥100.00`, display: 'symbol' }, { value: 100, result: `¥100.00`, display: 'symbol-narrow' }, { value: 100, result: `¥100.00`, display: false }, { value: 100, result: `¥100.00`, display: true }, { value: 3.14, result: `¥003.14000`, digits: '3.5-5' }, ].forEach((item: any) => { it(`${JSON.stringify(item)} muse be ${item.result}`, () => { fixture.componentInstance.value = item.value; if (item.currencyCode) fixture.componentInstance.currencyCode = item.currencyCode; if (item.display) fixture.componentInstance.display = item.display; if (item.digits) fixture.componentInstance.digits = item.digits; fixture.detectChanges(); expect((fixture.debugElement.query(By.css('#result')).nativeElement as HTMLElement).innerText).toBe(item.result); }); }); }); @Component({ template: ` <p id="result">{{ value | _currency: currencyCode:display:digits }}</p> `, }) class TestComponent { value: number; currencyCode: string; display: 'code' | 'symbol' | 'symbol-narrow' | boolean; digits: string; }