Centralize UI tests to UIFixture
Rob Mensching committed
Feb 3, 2022 at 10:24 UTC
86eff4ef9fe32b4cf424b1a0abec1599d4367f60
3 files changed
+69
-52
src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
-52
@@ -290,58 +290,6 @@ namespace WixToolsetTest.CoreIntegration
290
}, results);
291
}
292
}
293
-
294
- [Fact]
295
- public void PopulatesControlTables()
296
- {
297
- var folder = TestData.Get(@"TestData");
298
-
299
- using (var fs = new DisposableFileSystem())
300
- {
301
- var baseFolder = fs.GetFolder();
302
- var intermediateFolder = Path.Combine(baseFolder, "obj");
303
- var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
304
-
305
- var result = WixRunner.Execute(new[]
306
- {
307
- "build",
308
- Path.Combine(folder, "DialogsInInstallUISequence", "PackageComponents.wxs"),
309
- Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"),
310
- Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
311
- "-bindpath", Path.Combine(folder, "SingleFile", "data"),
312
- "-intermediateFolder", intermediateFolder,
313
- "-o", msiPath,
314
- });
315
-
316
- result.AssertSuccess();
317
-
318
- Assert.True(File.Exists(msiPath));
319
-
320
- var results = Query.QueryDatabase(msiPath, new[] { "CheckBox", "Control", "ControlCondition", "InstallUISequence" });
321
- WixAssert.CompareLineByLine(new[]
322
- {
323
- "CheckBox:WIXUI_EXITDIALOGOPTIONALCHECKBOX\t1",
324
- "Control:FirstDialog\tHeader\tText\t0\t13\t90\t13\t3\t\tFirstDialogHeader\tTitle\t",
325
- "Control:FirstDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tFirstDialogTitle\tHeader\t",
326
- "Control:SecondDialog\tOptionalCheckBox\tCheckBox\t0\t13\t100\t40\t2\tWIXUI_EXITDIALOGOPTIONALCHECKBOX\t[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]\tTitle\tOptional checkbox|Check this box for fun",
327
- "Control:SecondDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tSecondDialogTitle\tOptionalCheckBox\t",
328
- "ControlCondition:FirstDialog\tHeader\tDisable\tInstalled",
329
- "ControlCondition:FirstDialog\tHeader\tHide\tInstalled",
330
- "ControlCondition:SecondDialog\tOptionalCheckBox\tShow\tWIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed",
331
- "InstallUISequence:CostFinalize\t\t1000",
332
- "InstallUISequence:CostInitialize\t\t800",
333
- "InstallUISequence:ExecuteAction\t\t1300",
334
- "InstallUISequence:FileCost\t\t900",
335
- "InstallUISequence:FindRelatedProducts\t\t25",
336
- "InstallUISequence:FirstDialog\tInstalled AND PATCH\t1298",
337
- "InstallUISequence:LaunchConditions\t\t100",
338
- "InstallUISequence:MigrateFeatureStates\t\t1200",
339
- "InstallUISequence:SecondDialog\tNOT Installed\t1299",
340
- "InstallUISequence:ValidateProductID\t\t700",
341
- }, results);
342
- }
343
- }
344
-
293
[Fact]
294
public void PopulatesCreateFolderTableForNullKeypathComponents()
295
{
src/wix/test/WixToolsetTest.CoreIntegration/TestData/UI/DialogsInInstallUISequence.wxs
renamed
src/wix/test/WixToolsetTest.CoreIntegration/UIFixture.cs
new
+69
@@ -0,0 +1,69 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolsetTest.CoreIntegration
4
+{
5
+ using System;
6
+ using System.IO;
7
+ using System.Linq;
8
+ using Example.Extension;
9
+ using WixBuildTools.TestSupport;
10
+ using WixToolset.Core.TestPackage;
11
+ using WixToolset.Data;
12
+ using WixToolset.Data.Symbols;
13
+ using WixToolset.Data.WindowsInstaller;
14
+ using Xunit;
15
+
16
+ public class UIFixture
17
+ {
18
+ [Fact]
19
+ public void PopulatesControlTables()
20
+ {
21
+ var folder = TestData.Get(@"TestData");
22
+
23
+ using (var fs = new DisposableFileSystem())
24
+ {
25
+ var baseFolder = fs.GetFolder();
26
+ var intermediateFolder = Path.Combine(baseFolder, "obj");
27
+ var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
28
+
29
+ var result = WixRunner.Execute(new[]
30
+ {
31
+ "build",
32
+ Path.Combine(folder, "UI", "DialogsInInstallUISequence.wxs"),
33
+ Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"),
34
+ Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
35
+ "-bindpath", Path.Combine(folder, "SingleFile", "data"),
36
+ "-intermediateFolder", intermediateFolder,
37
+ "-o", msiPath,
38
+ });
39
+
40
+ result.AssertSuccess();
41
+
42
+ Assert.True(File.Exists(msiPath));
43
+
44
+ var results = Query.QueryDatabase(msiPath, new[] { "CheckBox", "Control", "ControlCondition", "InstallUISequence" });
45
+ WixAssert.CompareLineByLine(new[]
46
+ {
47
+ "CheckBox:WIXUI_EXITDIALOGOPTIONALCHECKBOX\t1",
48
+ "Control:FirstDialog\tHeader\tText\t0\t13\t90\t13\t3\t\tFirstDialogHeader\tTitle\t",
49
+ "Control:FirstDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tFirstDialogTitle\tHeader\t",
50
+ "Control:SecondDialog\tOptionalCheckBox\tCheckBox\t0\t13\t100\t40\t2\tWIXUI_EXITDIALOGOPTIONALCHECKBOX\t[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]\tTitle\tOptional checkbox|Check this box for fun",
51
+ "Control:SecondDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tSecondDialogTitle\tOptionalCheckBox\t",
52
+ "ControlCondition:FirstDialog\tHeader\tDisable\tInstalled",
53
+ "ControlCondition:FirstDialog\tHeader\tHide\tInstalled",
54
+ "ControlCondition:SecondDialog\tOptionalCheckBox\tShow\tWIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed",
55
+ "InstallUISequence:CostFinalize\t\t1000",
56
+ "InstallUISequence:CostInitialize\t\t800",
57
+ "InstallUISequence:ExecuteAction\t\t1300",
58
+ "InstallUISequence:FileCost\t\t900",
59
+ "InstallUISequence:FindRelatedProducts\t\t25",
60
+ "InstallUISequence:FirstDialog\tInstalled AND PATCH\t1298",
61
+ "InstallUISequence:LaunchConditions\t\t100",
62
+ "InstallUISequence:MigrateFeatureStates\t\t1200",
63
+ "InstallUISequence:SecondDialog\tNOT Installed\t1299",
64
+ "InstallUISequence:ValidateProductID\t\t700",
65
+ }, results);
66
+ }
67
+ }
68
+ }
69
+}