aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-06-15 13:45:46 -0700
committerRob Mensching <rob@firegiant.com>2022-06-29 23:01:15 -0700
commit37d50228654bc9bb3f7b4ac2899a93750d95ea40 (patch)
treeefa585b4aac97268aa8f83508294b20fcd6ec8bf
parentdb17200a99cfcc2ec5af4a5893be44f11087dc7a (diff)
downloadwix-37d50228654bc9bb3f7b4ac2899a93750d95ea40.tar.gz
wix-37d50228654bc9bb3f7b4ac2899a93750d95ea40.tar.bz2
wix-37d50228654bc9bb3f7b4ac2899a93750d95ea40.zip
Add test to verify variable syntax is allowed in ifdefs
Closes 5259
-rw-r--r--src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs159
1 files changed, 159 insertions, 0 deletions
diff --git a/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs b/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs
index bbae4636..55f54cc2 100644
--- a/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs
+++ b/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs
@@ -107,6 +107,165 @@ namespace WixToolsetTest.Core
107 WixAssert.CompareLineByLine(expected, actual); 107 WixAssert.CompareLineByLine(expected, actual);
108 } 108 }
109 109
110 [Fact]
111 public void CanPreprocessIfdefWithFullVariableSyntaxFalsy()
112 {
113 var input = String.Join(Environment.NewLine,
114 "<Wix>",
115 "<?ifdef $(A) ?>",
116 " <Fragment />",
117 "<?endif?>",
118 "</Wix>"
119 );
120 var expected = new[]
121 {
122 "<Wix />"
123 };
124
125 var result = PreprocessFromString(input);
126
127 var actual = result.Document.ToString().Split("\r\n");
128 WixAssert.CompareLineByLine(expected, actual);
129 }
130
131 [Fact]
132 public void CanPreprocessIfdefWithFullVariableSyntaxTruthy()
133 {
134 var input = String.Join(Environment.NewLine,
135 "<Wix>",
136 "<?define A?>",
137 "<?ifdef $(A) ?>",
138 " <Fragment />",
139 "<?endif?>",
140 "</Wix>"
141 );
142 var expected = new[]
143 {
144 "<Wix>",
145 " <Fragment />",
146 "</Wix>"
147 };
148
149 var result = PreprocessFromString(input);
150
151 var actual = result.Document.ToString().Split("\r\n");
152 WixAssert.CompareLineByLine(expected, actual);
153 }
154
155 [Fact]
156 public void CanPreprocessIfndefWithFullVariableSyntaxTruthy()
157 {
158 var input = String.Join(Environment.NewLine,
159 "<Wix>",
160 "<?ifndef $(A) ?>",
161 " <Fragment />",
162 "<?endif?>",
163 "</Wix>"
164 );
165 var expected = new[]
166 {
167 "<Wix>",
168 " <Fragment />",
169 "</Wix>"
170 };
171
172 var result = PreprocessFromString(input);
173
174 var actual = result.Document.ToString().Split("\r\n");
175 WixAssert.CompareLineByLine(expected, actual);
176 }
177
178 [Fact]
179 public void CanPreprocessIfndefWithFullVariableSyntaxFalsy()
180 {
181 var input = String.Join(Environment.NewLine,
182 "<Wix>",
183 "<?define A?>",
184 "<?ifndef $(A) ?>",
185 " <Fragment />",
186 "<?endif?>",
187 "</Wix>"
188 );
189 var expected = new[]
190 {
191 "<Wix />"
192 };
193
194 var result = PreprocessFromString(input);
195
196 var actual = result.Document.ToString().Split("\r\n");
197 WixAssert.CompareLineByLine(expected, actual);
198 }
199
200 [Fact]
201 public void CanPreprocessIfdefWithFullVariableV3SyntaxTruthy()
202 {
203 var input = String.Join(Environment.NewLine,
204 "<Wix>",
205 "<?define A?>",
206 "<?ifdef $(var.A) ?>",
207 " <Fragment />",
208 "<?endif?>",
209 "</Wix>"
210 );
211 var expected = new[]
212 {
213 "<Wix>",
214 " <Fragment />",
215 "</Wix>"
216 };
217
218 var result = PreprocessFromString(input);
219
220 var actual = result.Document.ToString().Split("\r\n");
221 WixAssert.CompareLineByLine(expected, actual);
222 }
223
224 [Fact]
225 public void CanPreprocessIfndefWithFullVariableV3SyntaxTruthy()
226 {
227 var input = String.Join(Environment.NewLine,
228 "<Wix>",
229 "<?ifndef $(var.A) ?>",
230 " <Fragment />",
231 "<?endif?>",
232 "</Wix>"
233 );
234 var expected = new[]
235 {
236 "<Wix>",
237 " <Fragment />",
238 "</Wix>"
239 };
240
241 var result = PreprocessFromString(input);
242
243 var actual = result.Document.ToString().Split("\r\n");
244 WixAssert.CompareLineByLine(expected, actual);
245 }
246
247 [Fact]
248 public void CanPreprocessIfndefWithFullVariableV3SyntaxFalsy()
249 {
250 var input = String.Join(Environment.NewLine,
251 "<Wix>",
252 "<?define A?>",
253 "<?ifndef $(var.A) ?>",
254 " <Fragment />",
255 "<?endif?>",
256 "</Wix>"
257 );
258 var expected = new[]
259 {
260 "<Wix />"
261 };
262
263 var result = PreprocessFromString(input);
264
265 var actual = result.Document.ToString().Split("\r\n");
266 WixAssert.CompareLineByLine(expected, actual);
267 }
268
110 private static IPreprocessResult PreprocessFromString(string xml) 269 private static IPreprocessResult PreprocessFromString(string xml)
111 { 270 {
112 using var stringReader = new StringReader(xml); 271 using var stringReader = new StringReader(xml);