From 79cd3cc53ab71329270c9e171d88cf475d3f7e23 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 7 Apr 2020 13:20:06 +1000 Subject: Add tests for the rest of the UI modes. --- .../TestData/WixUI_Advanced/Package.wxs | 29 ++++++++++ .../TestData/WixUI_FeatureTree/Package.wxs | 29 ++++++++++ .../TestData/WixUI_InstallDir/Package.wxs | 29 ++++++++++ .../TestData/WixUI_Minimal/Package.en-us.wxl | 11 ---- .../TestData/WixUI_Minimal/Package.wxs | 13 ++++- .../TestData/WixUI_Minimal/PackageComponents.wxs | 12 ---- .../TestData/WixUI_Minimal/example.txt | 1 - .../TestData/WixUI_Mondo/Package.wxs | 29 ++++++++++ .../WixToolsetTest.UI/TestData/data/example.txt | 1 + src/test/WixToolsetTest.UI/UIExtensionFixture.cs | 65 ++++++++++++++++++++-- .../WixToolsetTest.UI/WixToolsetTest.UI.csproj | 8 ++- 11 files changed, 193 insertions(+), 34 deletions(-) create mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs create mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs create mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs delete mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl delete mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs delete mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt create mode 100644 src/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs create mode 100644 src/test/WixToolsetTest.UI/TestData/data/example.txt (limited to 'src') diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs new file mode 100644 index 00000000..bbc54ac6 --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Advanced/Package.wxs @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs new file mode 100644 index 00000000..9f630f99 --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_FeatureTree/Package.wxs @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs new file mode 100644 index 00000000..6239c7ab --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_InstallDir/Package.wxs @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl deleted file mode 100644 index 38c12ac1..00000000 --- a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - A newer version of [ProductName] is already installed. - MsiPackage - - diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs index 68ff98fd..9f84785f 100644 --- a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs @@ -3,13 +3,20 @@ - + - + - + + + + + + + + diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs deleted file mode 100644 index c50785a1..00000000 --- a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt deleted file mode 100644 index 1b4ffe8a..00000000 --- a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt +++ /dev/null @@ -1 +0,0 @@ -This is example.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs new file mode 100644 index 00000000..a670cae9 --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Mondo/Package.wxs @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.UI/TestData/data/example.txt b/src/test/WixToolsetTest.UI/TestData/data/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/data/example.txt @@ -0,0 +1 @@ +This is example.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/test/WixToolsetTest.UI/UIExtensionFixture.cs index 43694c49..09cc26f9 100644 --- a/src/test/WixToolsetTest.UI/UIExtensionFixture.cs +++ b/src/test/WixToolsetTest.UI/UIExtensionFixture.cs @@ -10,17 +10,74 @@ namespace WixToolsetTest.UI public class UIExtensionFixture { - [Fact(Skip = "Currently fails")] + [Fact(Skip = "WixUI_Advanced is missing because it can't currently compile in v4")] + 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 build = new Builder(folder, typeof(UIExtensionFactory), new[] { folder }); + 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:", - }, results.OrderBy(s => s).ToArray()); + "Property:WixUI_Mode\tMondo", + }, results.Where(s => s.StartsWith("Property:WixUI_Mode")).ToArray()); } private static void Build(string[] args) diff --git a/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj b/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj index b5f58ea8..83f7bcb3 100644 --- a/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj +++ b/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj @@ -12,10 +12,12 @@ - - + + + + - + -- cgit v1.2.3-55-g6feb