@@ -60,6 +60,33 @@ describe("getInputCommand", () => {
60
60
expect ( command . Variables ) . toStrictEqual ( { var1 : "value1" , var2 : "value2" } ) ;
61
61
} ) ;
62
62
63
+ test ( "handles escaped colons in variable names" , ( ) => {
64
+ task . addVariableString ( "Space" , "Default" ) ;
65
+ task . addVariableString ( "Variables" , "Test\\:Variable: Testing3" ) ;
66
+ task . addVariableString ( "Environments" , "test" ) ;
67
+ task . addVariableString ( "Project" , "Test project" ) ;
68
+ task . addVariableString ( "ReleaseNumber" , "1.0.0" ) ;
69
+ task . addVariableString ( "DeployForTenants" , "Tenant 1" ) ;
70
+
71
+ const command = createCommandFromInputs ( logger , task ) ;
72
+ expect ( command . Variables ) . toStrictEqual ( { "Test:Variable" : "Testing3" } ) ;
73
+ } ) ;
74
+
75
+ test ( "handles multiple variables with escaped and unescaped colons" , ( ) => {
76
+ task . addVariableString ( "Space" , "Default" ) ;
77
+ task . addVariableString ( "Variables" , "Long\\:Variable\\:Name: Value123\nTest\\:Variable: Value: With: Colons" ) ;
78
+ task . addVariableString ( "Environments" , "test" ) ;
79
+ task . addVariableString ( "Project" , "Test project" ) ;
80
+ task . addVariableString ( "ReleaseNumber" , "1.0.0" ) ;
81
+ task . addVariableString ( "DeployForTenants" , "Tenant 1" ) ;
82
+
83
+ const command = createCommandFromInputs ( logger , task ) ;
84
+ expect ( command . Variables ) . toStrictEqual ( {
85
+ "Long:Variable:Name" : "Value123" ,
86
+ "Test:Variable" : "Value: With: Colons"
87
+ } ) ;
88
+ } ) ;
89
+
63
90
test ( "multiline environments" , ( ) => {
64
91
task . addVariableString ( "Space" , "Default" ) ;
65
92
task . addVariableString ( "Environments" , "dev, test\nprod" ) ;
0 commit comments