From 592c6e2f7407c291a7bf9ef4c8ce50da9798cc68 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 3 May 2021 17:00:34 -0700 Subject: Move UI.wixext into ext --- .../TestData/WixUI_Advanced/Package.wxs | 27 +++++ .../TestData/WixUI_FeatureTree/Package.wxs | 23 +++++ .../TestData/WixUI_InstallDir/Package.wxs | 23 +++++ .../TestData/WixUI_Minimal/Package.wxs | 23 +++++ .../TestData/WixUI_Mondo/Package.wxs | 23 +++++ .../WixToolsetTest.UI/TestData/data/example.txt | 1 + .../test/WixToolsetTest.UI/UIExtensionFixture.cs | 111 +++++++++++++++++++++ .../WixToolsetTest.UI/WixToolsetTest.UI.csproj | 43 ++++++++ 8 files changed, 274 insertions(+) create mode 100644 src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs create mode 100644 src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs create mode 100644 src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs create mode 100644 src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs create mode 100644 src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs create mode 100644 src/ext/UI/test/WixToolsetTest.UI/TestData/data/example.txt create mode 100644 src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs create mode 100644 src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj (limited to 'src/ext/UI/test') diff --git a/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs new file mode 100644 index 00000000..5ce4b00f --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs new file mode 100644 index 00000000..aff1c077 --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs new file mode 100644 index 00000000..7c2ceae0 --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs new file mode 100644 index 00000000..d2ff256c --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs new file mode 100644 index 00000000..8d5a856a --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/UI/test/WixToolsetTest.UI/TestData/data/example.txt b/src/ext/UI/test/WixToolsetTest.UI/TestData/data/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/TestData/data/example.txt @@ -0,0 +1 @@ +This is example.txt. \ No newline at end of file diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs new file mode 100644 index 00000000..54c4c788 --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs @@ -0,0 +1,111 @@ +// 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.UI +{ + using System.Linq; + using WixBuildTools.TestSupport; + using WixToolset.Core.TestPackage; + using WixToolset.UI; + using Xunit; + + public class UIExtensionFixture + { + [Fact] + public void CanBuildUsingWixUIAdvanced() + { + var folder = TestData.Get(@"TestData\WixUI_Advanced"); + var bindFolder = TestData.Get(@"TestData\data"); + var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); + + var results = build.BuildAndQuery(Build, "Property"); + Assert.Equal(new[] + { + "Property:WixUI_Mode\tAdvanced", + }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); + } + + [Fact] + public void CanBuildUsingWixUIFeatureTree() + { + var folder = TestData.Get(@"TestData\WixUI_FeatureTree"); + var bindFolder = TestData.Get(@"TestData\data"); + var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); + + var results = build.BuildAndQuery(Build, "Property"); + Assert.Equal(new[] + { + "Property:WixUI_Mode\tFeatureTree", + }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); + } + + [Fact] + public void CanBuildUsingWixUIInstallDir() + { + var folder = TestData.Get(@"TestData\WixUI_InstallDir"); + var bindFolder = TestData.Get(@"TestData\data"); + var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); + + var results = build.BuildAndQuery(Build, "Property"); + Assert.Equal(new[] + { + "Property:WixUI_Mode\tInstallDir", + }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); + } + + [Fact] + public void CanBuildUsingWixUIMinimal() + { + var folder = TestData.Get(@"TestData\WixUI_Minimal"); + var bindFolder = TestData.Get(@"TestData\data"); + var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); + + var results = build.BuildAndQuery(Build, "Property"); + Assert.Equal(new[] + { + "Property:WixUI_Mode\tMinimal", + }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); + } + + [Fact] + public void CanBuildUsingWixUIMondo() + { + var folder = TestData.Get(@"TestData\WixUI_Mondo"); + var bindFolder = TestData.Get(@"TestData\data"); + var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); + + var results = build.BuildAndQuery(Build, "Property"); + Assert.Equal(new[] + { + "Property:WixUI_Mode\tMondo", + }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); + } + + [Fact] + public void CanBuildUsingWixUIMondoLocalized() + { + var folder = TestData.Get(@"TestData\WixUI_Mondo"); + var bindFolder = TestData.Get(@"TestData\data"); + var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); + + var results = build.BuildAndQuery(BuildInGerman, "Control"); + Assert.Equal(new[] + { + "&Ja", + }, results.Where(s => s.StartsWith("Control:ErrorDlg\tY")).Select(s => s.Split('\t')[9]).ToArray()); + } + + private static void Build(string[] args) + { + var result = WixRunner.Execute(args) + .AssertSuccess(); + } + + private static void BuildInGerman(string[] args) + { + var localizedArgs = args.Append("-culture").Append("de-DE").ToArray(); + + var result = WixRunner.Execute(localizedArgs) + .AssertSuccess(); + } + } +} diff --git a/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj b/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj new file mode 100644 index 00000000..a61676dd --- /dev/null +++ b/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj @@ -0,0 +1,43 @@ + + + + + + netcoreapp3.1 + false + + + + NU1701 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3-55-g6feb