aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs32
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/.data/A.txt1
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs25
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Patch.wxs16
4 files changed, 74 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs b/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs
index dda4ca28..788cc01f 100644
--- a/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs
@@ -53,6 +53,38 @@ namespace WixToolsetTest.CoreIntegration
53 } 53 }
54 54
55 [Fact] 55 [Fact]
56 public void CanBuildSimplePatchWithNoFileChanges()
57 {
58 var folder = TestData.Get(@"TestData\PatchNoFileChanges");
59
60 using (var fs = new DisposableFileSystem())
61 {
62 var tempFolder = fs.GetFolder();
63
64 var baselinePdb = BuildMsi("Baseline.msi", folder, tempFolder, "1.0.0", "1.0.0", "1.0.0");
65 var update1Pdb = BuildMsi("Update.msi", folder, tempFolder, "1.0.1", "1.0.1", "1.0.1");
66 var patchPdb = BuildMsp("Patch1.msp", folder, tempFolder, "1.0.1", hasNoFiles: true);
67 var patchPath = Path.ChangeExtension(patchPdb, ".msp");
68
69 Assert.True(File.Exists(baselinePdb));
70 Assert.True(File.Exists(update1Pdb));
71
72 var doc = GetExtractPatchXml(patchPath);
73 Assert.Equal("{7D326855-E790-4A94-8611-5351F8321FCA}", doc.Root.Element(PatchNamespace + "TargetProductCode").Value);
74
75 var names = Query.GetSubStorageNames(patchPath);
76 Assert.Equal(new[] { "#RTM.1", "RTM.1" }, names);
77
78 var cab = Path.Combine(tempFolder, "foo.cab");
79 Query.ExtractStream(patchPath, "foo.cab", cab);
80 Assert.True(File.Exists(cab));
81
82 var files = Query.GetCabinetFiles(cab);
83 Assert.Empty(files);
84 }
85 }
86
87 [Fact]
56 public void CanBuildBundleWithNonSpecificPatches() 88 public void CanBuildBundleWithNonSpecificPatches()
57 { 89 {
58 var folder = TestData.Get(@"TestData\PatchNonSpecific"); 90 var folder = TestData.Get(@"TestData\PatchNonSpecific");
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/.data/A.txt b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/.data/A.txt
new file mode 100644
index 00000000..6fd385bd
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/.data/A.txt
@@ -0,0 +1 @@
This is A v1.0.0
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs
new file mode 100644
index 00000000..9d530376
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Package.wxs
@@ -0,0 +1,25 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="~Test Package" Version="$(V)" Manufacturer="Example Corporation" Language="1033" UpgradeCode="7d326855-e790-4a94-8611-5351f8321fca" Compressed="yes" Scope="perMachine" ProductCode="7d326855-e790-4a94-8611-5351f8321fca">
3
4 <MajorUpgrade DowngradeErrorMessage="Newer version already installed." />
5 <MediaTemplate EmbedCab="yes" />
6
7 <Directory Id="INSTALLFOLDER" Name="ProgramFilesFolder:\~Test App" />
8
9 <Feature Id="Main">
10 <ComponentGroupRef Id="Components" />
11 </Feature>
12 </Package>
13
14 <Fragment>
15 <ComponentGroup Id="Components" Directory="INSTALLFOLDER">
16 <Component>
17 <File Id="a.txt" Name="a.txt" Source="A.txt" />
18 </Component>
19
20 <Component>
21 <RegistryValue Root="HKLM" Key="SOFTWARE\!(bind.property.ProductName)\Patch" Name="Version" Value="$(V)" />
22 </Component>
23 </ComponentGroup>
24 </Fragment>
25</Wix>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Patch.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Patch.wxs
new file mode 100644
index 00000000..889b1220
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchNoFileChanges/Patch.wxs
@@ -0,0 +1,16 @@
1<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>
2 <Patch
3 AllowRemoval="yes"
4 DisplayName="~Test Patch v$(V)"
5 Description="~Test Small Update Patch v$(V)"
6 MoreInfoURL="http://www.example.com/"
7 Manufacturer="Example Corporation"
8 Classification="Update">
9
10 <Media Id="1" Cabinet="foo.cab">
11 <PatchBaseline Id="RTM" BaselineFile="Baseline.wixpdb" UpdateFile="Update.wixpdb" />
12 </Media>
13
14 <PatchFamily Id='SequenceFamily' Version='$(V)' />
15 </Patch>
16</Wix>