1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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");
WixAssert.CompareLineByLine(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");
WixAssert.CompareLineByLine(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");
WixAssert.CompareLineByLine(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");
WixAssert.CompareLineByLine(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");
WixAssert.CompareLineByLine(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");
WixAssert.CompareLineByLine(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();
}
}
}
|