@@ -126,14 +126,18 @@ resources:
126
126
@ { expression = " [lessOrEquals(5, 5)]" ; expected = $true }
127
127
@ { expression = " [greater('b', 'a')]" ; expected = $true }
128
128
@ { expression = " [greater('a', 'b')]" ; expected = $false }
129
+ @ { expression = " [greater('A', 'a')]" ; expected = $false }
129
130
@ { expression = " [greaterOrEquals('b', 'a')]" ; expected = $true }
130
131
@ { expression = " [greaterOrEquals('a', 'b')]" ; expected = $false }
131
132
@ { expression = " [greaterOrEquals('a', 'a')]" ; expected = $true }
133
+ @ { expression = " [greaterOrEquals('Aa', 'aa')]" ; expected = $false }
132
134
@ { expression = " [less('a', 'b')]" ; expected = $true }
133
135
@ { expression = " [less('b', 'a')]" ; expected = $false }
136
+ @ { expression = " [less('A', 'a')]" ; expected = $true }
134
137
@ { expression = " [lessOrEquals('a', 'b')]" ; expected = $true }
135
138
@ { expression = " [lessOrEquals('b', 'a')]" ; expected = $false }
136
139
@ { expression = " [lessOrEquals('a', 'a')]" ; expected = $true }
140
+ @ { expression = " [lessOrEquals('aa', 'Aa')]" ; expected = $false }
137
141
@ { expression = " [and(true, true)]" ; expected = $true }
138
142
@ { expression = " [and(true, false)]" ; expected = $false }
139
143
@ { expression = " [or(false, true)]" ; expected = $true }
@@ -160,4 +164,26 @@ resources:
160
164
$LASTEXITCODE | Should - Be 0 - Because (Get-Content $TestDrive / error.log - Raw | Out-String )
161
165
$out.results [0 ].result.actualState.output | Should - Be $expected - Because ($out | ConvertTo-Json - Depth 10 | Out-String )
162
166
}
167
+
168
+ It ' Comparison functions handle type mismatches: <expression>' - TestCases @ (
169
+ @ { expression = " [greater('a', 1)]" }
170
+ @ { expression = " [greaterOrEquals('5', 3)]" }
171
+ @ { expression = " [less(1, 'b')]" }
172
+ @ { expression = " [lessOrEquals(5, 'a')]" }
173
+ ) {
174
+ param ($expression )
175
+ $yaml = @"
176
+ `$ schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
177
+ resources:
178
+ - name: echo
179
+ type: Microsoft.DSC.Debug/Echo
180
+ properties:
181
+ output: "$expression "
182
+ "@
183
+ $out = dsc config get - i $yaml 2> $TestDrive / error.log
184
+ $LASTEXITCODE | Should - Be 2
185
+ $log = Get-Content - Path $TestDrive / error.log - Raw
186
+ $log | Should - BeLike " *ERROR* Arguments must be of the same type*"
187
+
188
+ }
163
189
}
0 commit comments