From 86eff4ef9fe32b4cf424b1a0abec1599d4367f60 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 3 Feb 2022 10:24:16 -0800 Subject: Centralize UI tests to UIFixture --- .../MsiQueryFixture.cs | 52 ---------------- .../PackageComponents.wxs | 36 ----------- .../TestData/UI/DialogsInInstallUISequence.wxs | 36 +++++++++++ .../WixToolsetTest.CoreIntegration/UIFixture.cs | 69 ++++++++++++++++++++++ 4 files changed, 105 insertions(+), 88 deletions(-) delete mode 100644 src/wix/test/WixToolsetTest.CoreIntegration/TestData/DialogsInInstallUISequence/PackageComponents.wxs create mode 100644 src/wix/test/WixToolsetTest.CoreIntegration/TestData/UI/DialogsInInstallUISequence.wxs create mode 100644 src/wix/test/WixToolsetTest.CoreIntegration/UIFixture.cs diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs index 39231cd2..259c480c 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs @@ -290,58 +290,6 @@ namespace WixToolsetTest.CoreIntegration }, results); } } - - [Fact] - public void PopulatesControlTables() - { - var folder = TestData.Get(@"TestData"); - - using (var fs = new DisposableFileSystem()) - { - var baseFolder = fs.GetFolder(); - var intermediateFolder = Path.Combine(baseFolder, "obj"); - var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); - - var result = WixRunner.Execute(new[] - { - "build", - Path.Combine(folder, "DialogsInInstallUISequence", "PackageComponents.wxs"), - Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"), - Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), - "-bindpath", Path.Combine(folder, "SingleFile", "data"), - "-intermediateFolder", intermediateFolder, - "-o", msiPath, - }); - - result.AssertSuccess(); - - Assert.True(File.Exists(msiPath)); - - var results = Query.QueryDatabase(msiPath, new[] { "CheckBox", "Control", "ControlCondition", "InstallUISequence" }); - WixAssert.CompareLineByLine(new[] - { - "CheckBox:WIXUI_EXITDIALOGOPTIONALCHECKBOX\t1", - "Control:FirstDialog\tHeader\tText\t0\t13\t90\t13\t3\t\tFirstDialogHeader\tTitle\t", - "Control:FirstDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tFirstDialogTitle\tHeader\t", - "Control:SecondDialog\tOptionalCheckBox\tCheckBox\t0\t13\t100\t40\t2\tWIXUI_EXITDIALOGOPTIONALCHECKBOX\t[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]\tTitle\tOptional checkbox|Check this box for fun", - "Control:SecondDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tSecondDialogTitle\tOptionalCheckBox\t", - "ControlCondition:FirstDialog\tHeader\tDisable\tInstalled", - "ControlCondition:FirstDialog\tHeader\tHide\tInstalled", - "ControlCondition:SecondDialog\tOptionalCheckBox\tShow\tWIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed", - "InstallUISequence:CostFinalize\t\t1000", - "InstallUISequence:CostInitialize\t\t800", - "InstallUISequence:ExecuteAction\t\t1300", - "InstallUISequence:FileCost\t\t900", - "InstallUISequence:FindRelatedProducts\t\t25", - "InstallUISequence:FirstDialog\tInstalled AND PATCH\t1298", - "InstallUISequence:LaunchConditions\t\t100", - "InstallUISequence:MigrateFeatureStates\t\t1200", - "InstallUISequence:SecondDialog\tNOT Installed\t1299", - "InstallUISequence:ValidateProductID\t\t700", - }, results); - } - } - [Fact] public void PopulatesCreateFolderTableForNullKeypathComponents() { diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DialogsInInstallUISequence/PackageComponents.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DialogsInInstallUISequence/PackageComponents.wxs deleted file mode 100644 index ec6e62df..00000000 --- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DialogsInInstallUISequence/PackageComponents.wxs +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/UI/DialogsInInstallUISequence.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/UI/DialogsInInstallUISequence.wxs new file mode 100644 index 00000000..ec6e62df --- /dev/null +++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/UI/DialogsInInstallUISequence.wxs @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/UIFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/UIFixture.cs new file mode 100644 index 00000000..8218ed67 --- /dev/null +++ b/src/wix/test/WixToolsetTest.CoreIntegration/UIFixture.cs @@ -0,0 +1,69 @@ +// 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. + +namespace WixToolsetTest.CoreIntegration +{ + using System; + using System.IO; + using System.Linq; + using Example.Extension; + using WixBuildTools.TestSupport; + using WixToolset.Core.TestPackage; + using WixToolset.Data; + using WixToolset.Data.Symbols; + using WixToolset.Data.WindowsInstaller; + using Xunit; + + public class UIFixture + { + [Fact] + public void PopulatesControlTables() + { + var folder = TestData.Get(@"TestData"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "UI", "DialogsInInstallUISequence.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), + "-bindpath", Path.Combine(folder, "SingleFile", "data"), + "-intermediateFolder", intermediateFolder, + "-o", msiPath, + }); + + result.AssertSuccess(); + + Assert.True(File.Exists(msiPath)); + + var results = Query.QueryDatabase(msiPath, new[] { "CheckBox", "Control", "ControlCondition", "InstallUISequence" }); + WixAssert.CompareLineByLine(new[] + { + "CheckBox:WIXUI_EXITDIALOGOPTIONALCHECKBOX\t1", + "Control:FirstDialog\tHeader\tText\t0\t13\t90\t13\t3\t\tFirstDialogHeader\tTitle\t", + "Control:FirstDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tFirstDialogTitle\tHeader\t", + "Control:SecondDialog\tOptionalCheckBox\tCheckBox\t0\t13\t100\t40\t2\tWIXUI_EXITDIALOGOPTIONALCHECKBOX\t[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]\tTitle\tOptional checkbox|Check this box for fun", + "Control:SecondDialog\tTitle\tText\t0\t0\t90\t13\t3\t\tSecondDialogTitle\tOptionalCheckBox\t", + "ControlCondition:FirstDialog\tHeader\tDisable\tInstalled", + "ControlCondition:FirstDialog\tHeader\tHide\tInstalled", + "ControlCondition:SecondDialog\tOptionalCheckBox\tShow\tWIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed", + "InstallUISequence:CostFinalize\t\t1000", + "InstallUISequence:CostInitialize\t\t800", + "InstallUISequence:ExecuteAction\t\t1300", + "InstallUISequence:FileCost\t\t900", + "InstallUISequence:FindRelatedProducts\t\t25", + "InstallUISequence:FirstDialog\tInstalled AND PATCH\t1298", + "InstallUISequence:LaunchConditions\t\t100", + "InstallUISequence:MigrateFeatureStates\t\t1200", + "InstallUISequence:SecondDialog\tNOT Installed\t1299", + "InstallUISequence:ValidateProductID\t\t700", + }, results); + } + } + } +} -- cgit v1.2.3-55-g6feb