diff options
Diffstat (limited to 'src/ext/UI')
-rw-r--r-- | src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs | 89 | ||||
-rw-r--r-- | src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj | 7 | ||||
-rw-r--r-- | src/ext/UI/ui.cmd | 42 | ||||
-rw-r--r-- | src/ext/UI/ui_t.proj | 17 |
4 files changed, 66 insertions, 89 deletions
diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs index bb20f087..e06feac7 100644 --- a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs +++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs | |||
@@ -4,15 +4,16 @@ namespace WixToolsetTest.UI | |||
4 | { | 4 | { |
5 | using System.IO; | 5 | using System.IO; |
6 | using System.Linq; | 6 | using System.Linq; |
7 | using WixInternal.Core.TestPackage; | 7 | using Microsoft.VisualStudio.TestTools.UnitTesting; |
8 | using WixInternal.TestSupport; | 8 | using WixInternal.Core.MSTestPackage; |
9 | using WixInternal.MSTestSupport; | ||
9 | using WixToolset.Data.WindowsInstaller; | 10 | using WixToolset.Data.WindowsInstaller; |
10 | using WixToolset.UI; | 11 | using WixToolset.UI; |
11 | using Xunit; | ||
12 | 12 | ||
13 | [TestClass] | ||
13 | public class UIExtensionFixture | 14 | public class UIExtensionFixture |
14 | { | 15 | { |
15 | [Fact] | 16 | [TestMethod] |
16 | public void CanBuildUsingWixUIAdvanced() | 17 | public void CanBuildUsingWixUIAdvanced() |
17 | { | 18 | { |
18 | var folder = TestData.Get(@"TestData", "WixUI_Advanced"); | 19 | var folder = TestData.Get(@"TestData", "WixUI_Advanced"); |
@@ -20,7 +21,7 @@ namespace WixToolsetTest.UI | |||
20 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 21 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
21 | 22 | ||
22 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 23 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
23 | Assert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); | 24 | WixAssert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); |
24 | WixAssert.CompareLineByLine(new[] | 25 | WixAssert.CompareLineByLine(new[] |
25 | { | 26 | { |
26 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 27 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -37,7 +38,7 @@ namespace WixToolsetTest.UI | |||
37 | "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", | 38 | "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", |
38 | "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", | 39 | "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", |
39 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); | 40 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); |
40 | Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray()); | 41 | WixAssert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray()); |
41 | WixAssert.CompareLineByLine(new[] | 42 | WixAssert.CompareLineByLine(new[] |
42 | { | 43 | { |
43 | "InstallUISequence:AdvancedWelcomeEulaDlg\tNOT Installed\t1297", | 44 | "InstallUISequence:AdvancedWelcomeEulaDlg\tNOT Installed\t1297", |
@@ -45,7 +46,7 @@ namespace WixToolsetTest.UI | |||
45 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 46 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
46 | } | 47 | } |
47 | 48 | ||
48 | [Fact] | 49 | [TestMethod] |
49 | public void CanBuildUsingWixUIAdvancedX64() | 50 | public void CanBuildUsingWixUIAdvancedX64() |
50 | { | 51 | { |
51 | var folder = TestData.Get(@"TestData", "WixUI_Advanced"); | 52 | var folder = TestData.Get(@"TestData", "WixUI_Advanced"); |
@@ -53,7 +54,7 @@ namespace WixToolsetTest.UI | |||
53 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 54 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
54 | 55 | ||
55 | var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 56 | var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
56 | Assert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); | 57 | WixAssert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); |
57 | WixAssert.CompareLineByLine(new[] | 58 | WixAssert.CompareLineByLine(new[] |
58 | { | 59 | { |
59 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 60 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -70,10 +71,10 @@ namespace WixToolsetTest.UI | |||
70 | "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", | 71 | "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", |
71 | "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", | 72 | "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", |
72 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); | 73 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); |
73 | Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray()); | 74 | WixAssert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray()); |
74 | } | 75 | } |
75 | 76 | ||
76 | [Fact] | 77 | [TestMethod] |
77 | public void CanBuildUsingWixUIAdvancedARM64() | 78 | public void CanBuildUsingWixUIAdvancedARM64() |
78 | { | 79 | { |
79 | var folder = TestData.Get(@"TestData", "WixUI_Advanced"); | 80 | var folder = TestData.Get(@"TestData", "WixUI_Advanced"); |
@@ -81,7 +82,7 @@ namespace WixToolsetTest.UI | |||
81 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 82 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
82 | 83 | ||
83 | var results = build.BuildAndQuery(BuildARM64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 84 | var results = build.BuildAndQuery(BuildARM64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
84 | Assert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); | 85 | WixAssert.Single(results, result => result.StartsWith("Dialog:AdvancedWelcomeEulaDlg\t")); |
85 | WixAssert.CompareLineByLine(new[] | 86 | WixAssert.CompareLineByLine(new[] |
86 | { | 87 | { |
87 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 88 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -98,10 +99,10 @@ namespace WixToolsetTest.UI | |||
98 | "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", | 99 | "CustomAction:WixSetPerMachineFolder\t51\tAPPLICATIONFOLDER\t[WixPerMachineFolder]\t", |
99 | "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", | 100 | "CustomAction:WixSetPerUserFolder\t51\tAPPLICATIONFOLDER\t[WixPerUserFolder]\t", |
100 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); | 101 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); |
101 | Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray()); | 102 | WixAssert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).ToArray()); |
102 | } | 103 | } |
103 | 104 | ||
104 | [Fact] | 105 | [TestMethod] |
105 | public void CanBuildUsingWixUIFeatureTree() | 106 | public void CanBuildUsingWixUIFeatureTree() |
106 | { | 107 | { |
107 | var folder = TestData.Get(@"TestData", "WixUI_FeatureTree"); | 108 | var folder = TestData.Get(@"TestData", "WixUI_FeatureTree"); |
@@ -109,9 +110,9 @@ namespace WixToolsetTest.UI | |||
109 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 110 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
110 | 111 | ||
111 | var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 112 | var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
112 | Assert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); | 113 | WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); |
113 | Assert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); | 114 | WixAssert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); |
114 | Assert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t"))); | 115 | WixAssert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t"))); |
115 | WixAssert.CompareLineByLine(new[] | 116 | WixAssert.CompareLineByLine(new[] |
116 | { | 117 | { |
117 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 118 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -125,14 +126,14 @@ namespace WixToolsetTest.UI | |||
125 | { | 126 | { |
126 | "CustomAction:SetWIXUI_EXITDIALOGOPTIONALTEXT\t51\tWIXUI_EXITDIALOGOPTIONALTEXT\tThank you for installing [ProductName].\t", | 127 | "CustomAction:SetWIXUI_EXITDIALOGOPTIONALTEXT\t51\tWIXUI_EXITDIALOGOPTIONALTEXT\tThank you for installing [ProductName].\t", |
127 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); | 128 | }, results.Where(r => r.StartsWith("CustomAction:")).ToArray()); |
128 | Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction"))); | 129 | WixAssert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction"))); |
129 | WixAssert.CompareLineByLine(new[] | 130 | WixAssert.CompareLineByLine(new[] |
130 | { | 131 | { |
131 | "InstallUISequence:WelcomeDlg\tNOT Installed OR PATCH\t1297", | 132 | "InstallUISequence:WelcomeDlg\tNOT Installed OR PATCH\t1297", |
132 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 133 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
133 | } | 134 | } |
134 | 135 | ||
135 | [Fact] | 136 | [TestMethod] |
136 | public void CanBuildWithWixUIInstallDirWithCustomizedEula() | 137 | public void CanBuildWithWixUIInstallDirWithCustomizedEula() |
137 | { | 138 | { |
138 | var folder = TestData.Get(@"TestData", "WixUI_InstallDir"); | 139 | var folder = TestData.Get(@"TestData", "WixUI_InstallDir"); |
@@ -140,8 +141,8 @@ namespace WixToolsetTest.UI | |||
140 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 141 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
141 | 142 | ||
142 | var results = build.BuildAndQuery(BuildEula, "Binary", "Dialog", "CustomAction", "Property", "ControlEvent", "InstallUISequence"); | 143 | var results = build.BuildAndQuery(BuildEula, "Binary", "Dialog", "CustomAction", "Property", "ControlEvent", "InstallUISequence"); |
143 | Assert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); | 144 | WixAssert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); |
144 | Assert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); | 145 | WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); |
145 | WixAssert.CompareLineByLine(new[] | 146 | WixAssert.CompareLineByLine(new[] |
146 | { | 147 | { |
147 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 148 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -171,7 +172,7 @@ namespace WixToolsetTest.UI | |||
171 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 172 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
172 | } | 173 | } |
173 | 174 | ||
174 | [Fact] | 175 | [TestMethod] |
175 | public void CanBuildUsingWixUIMinimal() | 176 | public void CanBuildUsingWixUIMinimal() |
176 | { | 177 | { |
177 | var folder = TestData.Get(@"TestData", "WixUI_Minimal"); | 178 | var folder = TestData.Get(@"TestData", "WixUI_Minimal"); |
@@ -179,7 +180,7 @@ namespace WixToolsetTest.UI | |||
179 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 180 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
180 | 181 | ||
181 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 182 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
182 | Assert.Single(results, result => result.StartsWith("Dialog:WelcomeEulaDlg\t")); | 183 | WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeEulaDlg\t")); |
183 | WixAssert.CompareLineByLine(new[] | 184 | WixAssert.CompareLineByLine(new[] |
184 | { | 185 | { |
185 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 186 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -189,8 +190,8 @@ namespace WixToolsetTest.UI | |||
189 | "Binary:WixUI_Ico_Exclam\t[Binary data]", | 190 | "Binary:WixUI_Ico_Exclam\t[Binary data]", |
190 | "Binary:WixUI_Ico_Info\t[Binary data]", | 191 | "Binary:WixUI_Ico_Info\t[Binary data]", |
191 | }, results.Where(r => r.StartsWith("Binary:")).ToArray()); | 192 | }, results.Where(r => r.StartsWith("Binary:")).ToArray()); |
192 | Assert.Empty(results.Where(r => r.StartsWith("CustomAction:"))); | 193 | WixAssert.Empty(results.Where(r => r.StartsWith("CustomAction:"))); |
193 | Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction"))); | 194 | WixAssert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction"))); |
194 | WixAssert.CompareLineByLine(new[] | 195 | WixAssert.CompareLineByLine(new[] |
195 | { | 196 | { |
196 | "InstallUISequence:WelcomeDlg\tInstalled AND PATCH\t1296", | 197 | "InstallUISequence:WelcomeDlg\tInstalled AND PATCH\t1296", |
@@ -198,7 +199,7 @@ namespace WixToolsetTest.UI | |||
198 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 199 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
199 | } | 200 | } |
200 | 201 | ||
201 | [Fact] | 202 | [TestMethod] |
202 | public void CanBuildUsingWixUIMinimalInKazakh() | 203 | public void CanBuildUsingWixUIMinimalInKazakh() |
203 | { | 204 | { |
204 | var folder = TestData.Get(@"TestData", "WixUI_Minimal"); | 205 | var folder = TestData.Get(@"TestData", "WixUI_Minimal"); |
@@ -207,10 +208,10 @@ namespace WixToolsetTest.UI | |||
207 | 208 | ||
208 | var results = build.BuildAndQuery(BuildInKazakh, "Dialog"); | 209 | var results = build.BuildAndQuery(BuildInKazakh, "Dialog"); |
209 | var welcomeDlg = results.Where(r => r.StartsWith("Dialog:WelcomeDlg\t")).Select(r => r.Split('\t')).Single(); | 210 | var welcomeDlg = results.Where(r => r.StartsWith("Dialog:WelcomeDlg\t")).Select(r => r.Split('\t')).Single(); |
210 | Assert.Equal("[ProductName] бағдарламасын орнату", welcomeDlg[6]); | 211 | Assert.AreEqual("[ProductName] бағдарламасын орнату", welcomeDlg[6]); |
211 | } | 212 | } |
212 | 213 | ||
213 | [Fact] | 214 | [TestMethod] |
214 | public void CanBuildUsingWixUIMinimalAndReadPdb() | 215 | public void CanBuildUsingWixUIMinimalAndReadPdb() |
215 | { | 216 | { |
216 | var folder = TestData.Get(@"TestData", "WixUI_Minimal"); | 217 | var folder = TestData.Get(@"TestData", "WixUI_Minimal"); |
@@ -236,7 +237,7 @@ namespace WixToolsetTest.UI | |||
236 | } | 237 | } |
237 | } | 238 | } |
238 | 239 | ||
239 | [Fact] | 240 | [TestMethod] |
240 | public void CanBuildUsingWixUIMondo() | 241 | public void CanBuildUsingWixUIMondo() |
241 | { | 242 | { |
242 | var folder = TestData.Get(@"TestData", "WixUI_Mondo"); | 243 | var folder = TestData.Get(@"TestData", "WixUI_Mondo"); |
@@ -244,9 +245,9 @@ namespace WixToolsetTest.UI | |||
244 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 245 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
245 | 246 | ||
246 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 247 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
247 | Assert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); | 248 | WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); |
248 | Assert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); | 249 | WixAssert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); |
249 | Assert.Single(results, result => result.StartsWith("Dialog:SetupTypeDlg\t")); | 250 | WixAssert.Single(results, result => result.StartsWith("Dialog:SetupTypeDlg\t")); |
250 | WixAssert.CompareLineByLine(new[] | 251 | WixAssert.CompareLineByLine(new[] |
251 | { | 252 | { |
252 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 253 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -271,7 +272,7 @@ namespace WixToolsetTest.UI | |||
271 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 272 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
272 | } | 273 | } |
273 | 274 | ||
274 | [Fact] | 275 | [TestMethod] |
275 | public void CanBuildUsingWixUIMondoLocalized() | 276 | public void CanBuildUsingWixUIMondoLocalized() |
276 | { | 277 | { |
277 | var folder = TestData.Get(@"TestData", "WixUI_Mondo"); | 278 | var folder = TestData.Get(@"TestData", "WixUI_Mondo"); |
@@ -285,7 +286,7 @@ namespace WixToolsetTest.UI | |||
285 | }, results.Where(s => s.StartsWith("Control:ErrorDlg\tY")).Select(s => s.Split('\t')[9]).ToArray()); | 286 | }, results.Where(s => s.StartsWith("Control:ErrorDlg\tY")).Select(s => s.Split('\t')[9]).ToArray()); |
286 | } | 287 | } |
287 | 288 | ||
288 | [Fact] | 289 | [TestMethod] |
289 | public void CanBuildWithInstallDirAndRemovedDialog() | 290 | public void CanBuildWithInstallDirAndRemovedDialog() |
290 | { | 291 | { |
291 | var folder = TestData.Get(@"TestData", "InstallDir_NoLicense"); | 292 | var folder = TestData.Get(@"TestData", "InstallDir_NoLicense"); |
@@ -293,7 +294,7 @@ namespace WixToolsetTest.UI | |||
293 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 294 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
294 | 295 | ||
295 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "Property", "ControlEvent", "InstallUISequence"); | 296 | var results = build.BuildAndQuery(Build, "Binary", "Dialog", "CustomAction", "Property", "ControlEvent", "InstallUISequence"); |
296 | Assert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); | 297 | WixAssert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); |
297 | WixAssert.CompareLineByLine(new[] | 298 | WixAssert.CompareLineByLine(new[] |
298 | { | 299 | { |
299 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 300 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -318,7 +319,7 @@ namespace WixToolsetTest.UI | |||
318 | "ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_X86\t1\t2", | 319 | "ControlEvent:InstallDirDlg\tNext\tDoAction\tWixUIValidatePath_X86\t1\t2", |
319 | }, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray()); | 320 | }, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray()); |
320 | 321 | ||
321 | Assert.Empty(results.Where(result => result.Contains("LicenseAgreementDlg")).ToArray()); | 322 | WixAssert.Empty(results.Where(result => result.Contains("LicenseAgreementDlg")).ToArray()); |
322 | 323 | ||
323 | WixAssert.CompareLineByLine(new[] | 324 | WixAssert.CompareLineByLine(new[] |
324 | { | 325 | { |
@@ -326,7 +327,7 @@ namespace WixToolsetTest.UI | |||
326 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 327 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
327 | } | 328 | } |
328 | 329 | ||
329 | [Fact] | 330 | [TestMethod] |
330 | public void CanBuildWithInstallDirAndAddedDialog() | 331 | public void CanBuildWithInstallDirAndAddedDialog() |
331 | { | 332 | { |
332 | var folder = TestData.Get(@"TestData", "InstallDir_SpecialDlg"); | 333 | var folder = TestData.Get(@"TestData", "InstallDir_SpecialDlg"); |
@@ -334,7 +335,7 @@ namespace WixToolsetTest.UI | |||
334 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 335 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
335 | 336 | ||
336 | var results = build.BuildAndQuery(BuildX64, "Binary", "Control", "Dialog", "CustomAction", "Property", "ControlEvent", "InstallUISequence"); | 337 | var results = build.BuildAndQuery(BuildX64, "Binary", "Control", "Dialog", "CustomAction", "Property", "ControlEvent", "InstallUISequence"); |
337 | Assert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); | 338 | WixAssert.Single(results, result => result.StartsWith("Dialog:InstallDirDlg\t")); |
338 | WixAssert.CompareLineByLine(new[] | 339 | WixAssert.CompareLineByLine(new[] |
339 | { | 340 | { |
340 | "Binary:WixUI_Bmp_Banner\t[Binary data]", | 341 | "Binary:WixUI_Bmp_Banner\t[Binary data]", |
@@ -344,23 +345,23 @@ namespace WixToolsetTest.UI | |||
344 | "Binary:WixUI_Ico_Exclam\t[Binary data]", | 345 | "Binary:WixUI_Ico_Exclam\t[Binary data]", |
345 | "Binary:WixUI_Ico_Info\t[Binary data]", | 346 | "Binary:WixUI_Ico_Info\t[Binary data]", |
346 | }, results.Where(r => r.StartsWith("Binary:")).ToArray()); | 347 | }, results.Where(r => r.StartsWith("Binary:")).ToArray()); |
347 | Assert.Empty(results.Where(r => r.StartsWith("CustomAction:")).ToArray()); | 348 | WixAssert.Empty(results.Where(r => r.StartsWith("CustomAction:")).ToArray()); |
348 | WixAssert.CompareLineByLine(new[] | 349 | WixAssert.CompareLineByLine(new[] |
349 | { | 350 | { |
350 | "Property:WIXUI_INSTALLDIR\tINSTALLFOLDER", | 351 | "Property:WIXUI_INSTALLDIR\tINSTALLFOLDER", |
351 | }, results.Where(r => r.StartsWith("Property:WIXUI")).ToArray()); | 352 | }, results.Where(r => r.StartsWith("Property:WIXUI")).ToArray()); |
352 | Assert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray()); | 353 | WixAssert.Empty(results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("DoAction")).OrderBy(s => s).ToArray()); |
353 | WixAssert.CompareLineByLine(new[] | 354 | WixAssert.CompareLineByLine(new[] |
354 | { | 355 | { |
355 | "InstallUISequence:WelcomeDlg\tNOT Installed OR PATCH\t1297", | 356 | "InstallUISequence:WelcomeDlg\tNOT Installed OR PATCH\t1297", |
356 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); | 357 | }, results.Where(r => r.StartsWith("InstallUISequence:AdvancedWelcome") || r.StartsWith("InstallUISequence:Welcome")).ToArray()); |
357 | 358 | ||
358 | Assert.Equal(10, results.Where(result => result.StartsWith("Control:") && result.Contains("SpecialDlg")).Count()); | 359 | Assert.AreEqual(10, results.Where(result => result.StartsWith("Control:") && result.Contains("SpecialDlg")).Count()); |
359 | Assert.Equal(5, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("SpecialDlg")).Count()); | 360 | Assert.AreEqual(5, results.Where(result => result.StartsWith("ControlEvent:") && result.Contains("SpecialDlg")).Count()); |
360 | Assert.Single(results.Where(result => result.StartsWith("Dialog:") && result.Contains("SpecialDlg"))); | 361 | WixAssert.Single(results.Where(result => result.StartsWith("Dialog:") && result.Contains("SpecialDlg"))); |
361 | } | 362 | } |
362 | 363 | ||
363 | [Fact] | 364 | [TestMethod] |
364 | public void CannotBuildWithV3LikeUIRef() | 365 | public void CannotBuildWithV3LikeUIRef() |
365 | { | 366 | { |
366 | var folder = TestData.Get(@"TestData", "InvalidUIRef"); | 367 | var folder = TestData.Get(@"TestData", "InvalidUIRef"); |
@@ -381,7 +382,7 @@ namespace WixToolsetTest.UI | |||
381 | 382 | ||
382 | var results = WixRunner.Execute(args); | 383 | var results = WixRunner.Execute(args); |
383 | var message = results.Messages.Single(); | 384 | var message = results.Messages.Single(); |
384 | Assert.Equal("The identifier 'WixUI:WixUI_Mondo' is inaccessible due to its protection level.", message.ToString()); | 385 | Assert.AreEqual("The identifier 'WixUI:WixUI_Mondo' is inaccessible due to its protection level.", message.ToString()); |
385 | } | 386 | } |
386 | } | 387 | } |
387 | 388 | ||
diff --git a/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj b/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj index 675f14f8..132920c5 100644 --- a/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj +++ b/src/ext/UI/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj | |||
@@ -1,10 +1,10 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <!-- 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 | <!-- 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. --> |
3 | 3 | ||
4 | <Project Sdk="Microsoft.NET.Sdk"> | 4 | <Project Sdk="MSTest.Sdk"> |
5 | <PropertyGroup> | 5 | <PropertyGroup> |
6 | <TargetFramework>net6.0</TargetFramework> | 6 | <TargetFramework>net6.0</TargetFramework> |
7 | <IsWixTestProject>true</IsWixTestProject> | 7 | <IsWixMSTestProject>true</IsWixMSTestProject> |
8 | </PropertyGroup> | 8 | </PropertyGroup> |
9 | 9 | ||
10 | <ItemGroup> | 10 | <ItemGroup> |
@@ -16,6 +16,7 @@ | |||
16 | </ItemGroup> | 16 | </ItemGroup> |
17 | 17 | ||
18 | <ItemGroup> | 18 | <ItemGroup> |
19 | <PackageReference Include="WixInternal.Core.TestPackage" /> | 19 | <PackageReference Include="WixInternal.MSTestSupport" /> |
20 | <PackageReference Include="WixInternal.Core.MSTestPackage" /> | ||
20 | </ItemGroup> | 21 | </ItemGroup> |
21 | </Project> | 22 | </Project> |
diff --git a/src/ext/UI/ui.cmd b/src/ext/UI/ui.cmd deleted file mode 100644 index a990db91..00000000 --- a/src/ext/UI/ui.cmd +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | @setlocal | ||
2 | @pushd %~dp0 | ||
3 | |||
4 | @set _C=Debug | ||
5 | @set _L=%~dp0..\..\..\build\logs | ||
6 | |||
7 | :parse_args | ||
8 | @if /i "%1"=="release" set _C=Release | ||
9 | @if /i "%1"=="inc" set _INC=1 | ||
10 | @if /i "%1"=="clean" set _CLEAN=1 | ||
11 | @if not "%1"=="" shift & goto parse_args | ||
12 | |||
13 | @set _B=%~dp0..\..\..\build\UI.wixext\%_C% | ||
14 | |||
15 | :: Clean | ||
16 | |||
17 | @if "%_INC%"=="" call :clean | ||
18 | @if NOT "%_CLEAN%"=="" goto :end | ||
19 | |||
20 | @echo UI.wixext build %_C% | ||
21 | |||
22 | :: Build | ||
23 | msbuild -Restore -p:Configuration=%_C% -tl -nologo -warnaserror -bl:%_L%\ext_ui_build.binlog || exit /b | ||
24 | |||
25 | :: Test | ||
26 | dotnet test -c %_C% --no-build test\WixToolsetTest.UI || exit /b | ||
27 | |||
28 | :: Pack | ||
29 | msbuild -t:Pack -p:Configuration=%_C% -tl -nologo -warnaserror -p:NoBuild=true wixext\WixToolset.UI.wixext.csproj || exit /b | ||
30 | |||
31 | @goto :end | ||
32 | |||
33 | :clean | ||
34 | @rd /s/q "..\..\..\build\UI.wixext" 2> nul | ||
35 | @del "..\..\..\build\artifacts\WixToolset.UI.wixext.*.nupkg" 2> nul | ||
36 | @del "%_L%\ext_ui_build.binlog" 2> nul | ||
37 | @rd /s/q "%USERPROFILE%\.nuget\packages\wixtoolset.ui.wixext" 2> nul | ||
38 | @exit /b | ||
39 | |||
40 | :end | ||
41 | @popd | ||
42 | @endlocal | ||
diff --git a/src/ext/UI/ui_t.proj b/src/ext/UI/ui_t.proj new file mode 100644 index 00000000..0a989b6f --- /dev/null +++ b/src/ext/UI/ui_t.proj | |||
@@ -0,0 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.Build.Traversal"> | ||
5 | <ItemGroup> | ||
6 | <ProjectReference Include="test\WixToolsetTest.UI\WixToolsetTest.UI.csproj" /> | ||
7 | <ProjectReference Include="wixext\WixToolset.UI.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> | ||
8 | </ItemGroup> | ||
9 | |||
10 | <Target Name="WixClean" BeforeTargets="Restore" Condition="'$(SuppressWixClean)' != 'true'"> | ||
11 | <RemoveDir Directories="$(RootBuildFolder)UI.wixext" /> | ||
12 | <RemoveDir Directories="$(USERPROFILE)\.nuget\packages\wixtoolset.UI.wixext" Condition="'$(NUGET_PACKAGES)' == ''" /> | ||
13 | <RemoveDir Directories="$(NUGET_PACKAGES)\wixtoolset.UI.wixext" Condition="'$(NUGET_PACKAGES)' != ''" /> | ||
14 | |||
15 | <Delete Files="$(ArtifactsFolder)WixToolset.UI.wixext.*.nupkg" /> | ||
16 | </Target> | ||
17 | </Project> | ||