From ff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 15:57:37 +0300 Subject: New Angular UI from 1806 Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666 Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- .../dynamic-input-label.pipe.spec.ts | 43 ++++++++++++++++++++++ .../dynamicInputLabel/dynamic-input-label.pipe.ts | 12 ++++++ 2 files changed, 55 insertions(+) create mode 100644 vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.spec.ts create mode 100644 vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.ts (limited to 'vid-webpack-master/src/app/shared/pipes/dynamicInputLabel') diff --git a/vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.spec.ts b/vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.spec.ts new file mode 100644 index 000000000..22b619290 --- /dev/null +++ b/vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.spec.ts @@ -0,0 +1,43 @@ +import { DynamicInputLabelPipe } from './dynamic-input-label.pipe'; + +describe('Dynamic input label Pipe', () => { + let dynamicInputLabelPipe: DynamicInputLabelPipe; + + beforeEach(() => { + dynamicInputLabelPipe = new DynamicInputLabelPipe(); + }); + + it('Dynamic input label Pipe should be defined', () => { + expect(dynamicInputLabelPipe).toBeDefined(); + }); + + it('Dynamic input label Pipe : Empty string should return empty string', ()=> { + let result: string = dynamicInputLabelPipe.transform(''); + expect(result).toEqual(':*'); + }); + + it('Dynamic input label Pipe: vnf should be VNF (UPPERCASE)', ()=> { + let result: string = dynamicInputLabelPipe.transform('vnf'); + expect(result).toEqual('VNF:*'); + }); + + it('Dynamic input label Pipe : nf should be NF (UPPERCASE)\'', ()=> { + let result: string = dynamicInputLabelPipe.transform('nf'); + expect(result).toEqual('NF:*'); + }); + + it('Dynamic input label Pipe : Underscore should replace by empty character', ()=> { + let result: string = dynamicInputLabelPipe.transform('nf_Test'); + expect(result).toEqual('NF test:*'); + }); + + it('Dynamic input label Pipe : Complex string', ()=> { + let result: string = dynamicInputLabelPipe.transform('nf_Test_vnf_nf'); + expect(result).toEqual('NF test VNF NF:*'); + }); + + it('Dynamic input label Pipe : First letter should be uppercase', ()=> { + let result: string = dynamicInputLabelPipe.transform('nfr'); + expect(result).toEqual('Nfr:*'); + }); +}); diff --git a/vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.ts b/vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.ts new file mode 100644 index 000000000..bec87b46d --- /dev/null +++ b/vid-webpack-master/src/app/shared/pipes/dynamicInputLabel/dynamic-input-label.pipe.ts @@ -0,0 +1,12 @@ +import {PipeTransform, Pipe} from '@angular/core'; + +@Pipe({ name: 'dynamicInputLabel' }) +export class DynamicInputLabelPipe implements PipeTransform { + transform(text: string): string { + let split_label = text.toLowerCase().replace(/_/g,' '); + let uppercase_vnf = split_label.replace(/\bvnf\b/ig, 'VNF'); + let uppercase_nf = uppercase_vnf.replace(/\bnf\b/ig, 'NF'); + let capitalize_sentence = uppercase_nf.charAt(0).toUpperCase() + uppercase_nf.slice(1); + return capitalize_sentence + ':*'; + } +} -- cgit 1.2.3-korg