44 * ------------------------------------------------------------------------------------------ */
55
66import * as assert from "assert" ;
7- import { resolveVariables } from "../../src/common" ;
7+ import { resolveVariables , escapeForSquiggles } from "../../src/common" ;
88
99suite ( "Common Utility validation" , ( ) => {
1010 suite ( "resolveVariables" , ( ) => {
@@ -198,6 +198,25 @@ suite("Common Utility validation", () => {
198198 . shouldLookupSymbol ( "Root" ) ;
199199 } ) ;
200200
201+ test ( "escapeForSquiggles:" , ( ) => {
202+ let testEscapeForSquigglesScenario : any = ( input : string , expectedOutput : string ) => {
203+ let result : string = escapeForSquiggles ( input ) ;
204+ if ( result !== expectedOutput ) {
205+ throw new Error ( `escapeForSquiggles failure: for \"${ input } \", \"${ result } \" !== \"${ expectedOutput } \"` ) ;
206+ }
207+ } ;
208+
209+ testEscapeForSquigglesScenario ( "\\" , "\\\\" ) ; // single backslash
210+ testEscapeForSquigglesScenario ( "\\\"" , "\\\"" ) ; // escaped quote
211+ testEscapeForSquigglesScenario ( "\\\t" , "\\\\\t" ) ; // escaped non-quote
212+ testEscapeForSquigglesScenario ( "\\\\\"" , "\\\\\\\\\"" ) ; // escaped backslash, unescaped quote
213+ testEscapeForSquigglesScenario ( "\\\\\t" , "\\\\\\\\\t" ) ; // escaped backslash, unescaped non-quote
214+ testEscapeForSquigglesScenario ( "\\t" , "\\\\t" ) ; // escaped non-quote
215+ testEscapeForSquigglesScenario ( "\\\\\\t" , "\\\\\\\\\\\\t" ) ; // escaped backslash, unescaped non-quote
216+ testEscapeForSquigglesScenario ( "\"\"" , "\"\"" ) ; // empty quoted string
217+ testEscapeForSquigglesScenario ( "\"\\\\\"" , "\"\\\\\\\\\"" ) ; // quoted string containing escaped backslash
218+ } ) ;
219+
201220 interface ResolveTestFlowEnvironment {
202221 withEnvironment ( additionalEnvironment : { [ key : string ] : string | string [ ] } ) : ResolveTestFlowAssert ;
203222 shouldLookupSymbol : ( key : string ) => void ;
@@ -229,6 +248,5 @@ suite("Common Utility validation", () => {
229248 }
230249 } ;
231250 }
232-
233251 } ) ;
234252} ) ;
0 commit comments