aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs101
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
3namespace WixToolsetTest.CoreIntegration 3namespace 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 }