File tree Expand file tree Collapse file tree 2 files changed +36
-1
lines changed
projects/common/src/utilities/formatters/enum Expand file tree Collapse file tree 2 files changed +36
-1
lines changed Original file line number Diff line number Diff line change 1+ import { displayStringEnum } from './display-string-enum' ;
2+
3+ describe ( 'Display string enum' , ( ) => {
4+ const enum TestEnum {
5+ Flat = 'flatcase' ,
6+ UpperFlat = 'UPPERFLATCASE' ,
7+ Camel = 'camelCase' ,
8+ Pascal = 'PascalCase' ,
9+ Snake = 'snake_case' ,
10+ PascalSnake = 'Pascal_Snake_Case' ,
11+ Kabob = 'kabob-case' ,
12+ Train = 'Train-Case' ,
13+ Macro = 'MACRO_CASE' ,
14+ MacroTrain = 'MACRO-TRAIN-CASE'
15+ }
16+
17+ test ( 'can convert to display string' , ( ) => {
18+ expect ( displayStringEnum ( undefined ) ) . toBe ( '-' ) ;
19+ expect ( displayStringEnum ( 'a' ) ) . toBe ( 'A' ) ;
20+ expect ( displayStringEnum ( TestEnum . Flat ) ) . toBe ( 'Flatcase' ) ;
21+ expect ( displayStringEnum ( TestEnum . UpperFlat ) ) . toBe ( 'Upperflatcase' ) ;
22+ expect ( displayStringEnum ( TestEnum . Camel ) ) . toBe ( 'Camel case' ) ;
23+ expect ( displayStringEnum ( TestEnum . Pascal ) ) . toBe ( 'Pascal case' ) ;
24+ expect ( displayStringEnum ( TestEnum . Snake ) ) . toBe ( 'Snake case' ) ;
25+ expect ( displayStringEnum ( TestEnum . PascalSnake ) ) . toBe ( 'Pascal snake case' ) ;
26+ expect ( displayStringEnum ( TestEnum . Kabob ) ) . toBe ( 'Kabob case' ) ;
27+ expect ( displayStringEnum ( TestEnum . Train ) ) . toBe ( 'Train case' ) ;
28+ expect ( displayStringEnum ( TestEnum . Macro ) ) . toBe ( 'Macro case' ) ;
29+ expect ( displayStringEnum ( TestEnum . MacroTrain ) ) . toBe ( 'Macro train case' ) ;
30+ } ) ;
31+ } ) ;
Original file line number Diff line number Diff line change @@ -5,5 +5,9 @@ export const displayStringEnum = (provided?: string): string => {
55 return '-' ;
66 }
77
8- return startCase ( provided . toLowerCase ( ) ) ;
8+ // This removes dashes and underscores and gives all words initial caps
9+ const startCased = startCase ( provided ) ;
10+
11+ // We only want the first word capitalized.
12+ return `${ startCased [ 0 ] } ${ startCased . substr ( 1 ) . toLowerCase ( ) } ` ;
913} ;
You can’t perform that action at this time.
0 commit comments