diff options
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs')
-rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | 101 |
1 files changed, 100 insertions, 1 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs b/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs index f32208a4..0e127e6e 100644 --- a/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | |||
@@ -2,8 +2,10 @@ | |||
2 | 2 | ||
3 | namespace WixToolsetTest.CoreIntegration | 3 | namespace WixToolsetTest.CoreIntegration |
4 | { | 4 | { |
5 | using System; | ||
5 | using System.IO; | 6 | using System.IO; |
6 | using System.Linq; | 7 | using System.Linq; |
8 | using Example.Extension; | ||
7 | using WixBuildTools.TestSupport; | 9 | using WixBuildTools.TestSupport; |
8 | using WixToolset.Core.TestPackage; | 10 | using WixToolset.Core.TestPackage; |
9 | using WixToolset.Data; | 11 | using WixToolset.Data; |
@@ -13,6 +15,50 @@ namespace WixToolsetTest.CoreIntegration | |||
13 | public class BundleFixture | 15 | public class BundleFixture |
14 | { | 16 | { |
15 | [Fact] | 17 | [Fact] |
18 | public void CanBuildMultiFileBundle() | ||
19 | { | ||
20 | var burnStubPath = TestData.Get(@"TestData\.Data\burn.exe"); | ||
21 | var folder = TestData.Get(@"TestData\SimpleBundle"); | ||
22 | |||
23 | using (var fs = new DisposableFileSystem()) | ||
24 | { | ||
25 | var baseFolder = fs.GetFolder(); | ||
26 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
27 | |||
28 | var result = WixRunner.Execute(new[] | ||
29 | { | ||
30 | "build", | ||
31 | Path.Combine(folder, "MultiFileBootstrapperApplication.wxs"), | ||
32 | Path.Combine(folder, "MultiFileBundle.wxs"), | ||
33 | "-loc", Path.Combine(folder, "Bundle.en-us.wxl"), | ||
34 | "-bindpath", Path.Combine(folder, "data"), | ||
35 | "-intermediateFolder", intermediateFolder, | ||
36 | "-burnStub", burnStubPath, | ||
37 | "-o", Path.Combine(baseFolder, @"bin\test.exe") | ||
38 | }); | ||
39 | |||
40 | result.AssertSuccess(); | ||
41 | |||
42 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); | ||
43 | #if TODO | ||
44 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | ||
45 | #endif | ||
46 | |||
47 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir")); | ||
48 | var section = intermediate.Sections.Single(); | ||
49 | |||
50 | var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single(); | ||
51 | Assert.Equal("1.0.0.0", bundleTuple.Version); | ||
52 | |||
53 | var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue; | ||
54 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); | ||
55 | |||
56 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); | ||
57 | Assert.Equal("test.msi", msiTuple.Id.Id); | ||
58 | } | ||
59 | } | ||
60 | |||
61 | [Fact] | ||
16 | public void CanBuildSimpleBundle() | 62 | public void CanBuildSimpleBundle() |
17 | { | 63 | { |
18 | var burnStubPath = TestData.Get(@"TestData\.Data\burn.exe"); | 64 | var burnStubPath = TestData.Get(@"TestData\.Data\burn.exe"); |
@@ -51,7 +97,60 @@ namespace WixToolsetTest.CoreIntegration | |||
51 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); | 97 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); |
52 | 98 | ||
53 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); | 99 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); |
54 | Assert.Equal("test.msi", msiTuple.Id.Id ); | 100 | Assert.Equal("test.msi", msiTuple.Id.Id); |
101 | } | ||
102 | } | ||
103 | |||
104 | [Fact(Skip = "Test demonstrates failure")] | ||
105 | public void CanBuildSimpleBundleUsingExtensionBA() | ||
106 | { | ||
107 | var burnStubPath = TestData.Get(@"TestData\.Data\burn.exe"); | ||
108 | var extensionPath = Path.GetFullPath(new Uri(typeof(ExampleExtensionFactory).Assembly.CodeBase).LocalPath); | ||
109 | var folder = TestData.Get(@"TestData\SimpleBundle"); | ||
110 | |||
111 | using (var fs = new DisposableFileSystem()) | ||
112 | { | ||
113 | var baseFolder = fs.GetFolder(); | ||
114 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
115 | |||
116 | var libResult = WixRunner.Execute(new[] | ||
117 | { | ||
118 | "build", | ||
119 | Path.Combine(@"C:\src\mynewwix4\Core\src\test\Example.Extension\Data", "example.wxs"), | ||
120 | "-intermediateFolder", intermediateFolder, | ||
121 | "-o", Path.Combine(intermediateFolder, @"test.wixlib") | ||
122 | }); | ||
123 | |||
124 | var result = WixRunner.Execute(new[] | ||
125 | { | ||
126 | "build", | ||
127 | Path.Combine(folder, "MultiFileBundle.wxs"), | ||
128 | "-loc", Path.Combine(folder, "Bundle.en-us.wxl"), | ||
129 | "-ext", extensionPath, | ||
130 | "-bindpath", Path.Combine(folder, "data"), | ||
131 | "-intermediateFolder", intermediateFolder, | ||
132 | "-burnStub", burnStubPath, | ||
133 | "-o", Path.Combine(baseFolder, @"bin\test.exe") | ||
134 | }); | ||
135 | |||
136 | result.AssertSuccess(); | ||
137 | |||
138 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); | ||
139 | #if TODO | ||
140 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | ||
141 | #endif | ||
142 | |||
143 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir")); | ||
144 | var section = intermediate.Sections.Single(); | ||
145 | |||
146 | var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single(); | ||
147 | Assert.Equal("1.0.0.0", bundleTuple.Version); | ||
148 | |||
149 | var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue; | ||
150 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); | ||
151 | |||
152 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); | ||
153 | Assert.Equal("test.msi", msiTuple.Id.Id); | ||
55 | } | 154 | } |
56 | } | 155 | } |
57 | } | 156 | } |