@@ -110,6 +110,29 @@ describe('type/intrinsic/IntrinsicString', () => {
110
110
Assert . IsEqual ( T . pattern , '^(hello1world|hello2world)$' )
111
111
} )
112
112
// ----------------------------------------------------
113
+ // Mode: TemplateLiteral Numeric
114
+ // ----------------------------------------------------
115
+ it ( 'Should map template literal numeric: Capitalize' , ( ) => {
116
+ const T = Intrinsic . Map ( Type . TemplateLiteral ( [ Type . Literal ( 'hello' ) , Type . Union ( [ Type . Literal ( 1 ) , Type . Literal ( 2 ) ] ) ] ) , 'Capitalize' )
117
+ Assert . IsTrue ( TypeGuard . TTemplateLiteral ( T ) )
118
+ Assert . IsEqual ( T . pattern , '^(Hello1|Hello2)$' )
119
+ } )
120
+ it ( 'Should map template literal numeric: Uncapitalize' , ( ) => {
121
+ const T = Intrinsic . Map ( Type . TemplateLiteral ( [ Type . Literal ( 'HELLO' ) , Type . Union ( [ Type . Literal ( 1 ) , Type . Literal ( 2 ) ] ) ] ) , 'Uncapitalize' )
122
+ Assert . IsTrue ( TypeGuard . TTemplateLiteral ( T ) )
123
+ Assert . IsEqual ( T . pattern , '^(hELLO1|hELLO2)$' )
124
+ } )
125
+ it ( 'Should map template literal numeric: Uppercase' , ( ) => {
126
+ const T = Intrinsic . Map ( Type . TemplateLiteral ( [ Type . Literal ( 'hello' ) , Type . Union ( [ Type . Literal ( 1 ) , Type . Literal ( 2 ) ] ) ] ) , 'Uppercase' )
127
+ Assert . IsTrue ( TypeGuard . TTemplateLiteral ( T ) )
128
+ Assert . IsEqual ( T . pattern , '^(HELLO1|HELLO2)$' )
129
+ } )
130
+ it ( 'Should map template literal numeric: Lowercase' , ( ) => {
131
+ const T = Intrinsic . Map ( Type . TemplateLiteral ( [ Type . Literal ( 'HELLO' ) , Type . Union ( [ Type . Literal ( 1 ) , Type . Literal ( 2 ) ] ) ] ) , 'Lowercase' )
132
+ Assert . IsTrue ( TypeGuard . TTemplateLiteral ( T ) )
133
+ Assert . IsEqual ( T . pattern , '^(hello1|hello2)$' )
134
+ } )
135
+ // ----------------------------------------------------
113
136
// Mode: TemplateLiteral Patterns
114
137
// ----------------------------------------------------
115
138
it ( 'Should map template literal patterns 1' , ( ) => {
0 commit comments