aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs87
1 files changed, 76 insertions, 11 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
index d056a1d6..e201b61f 100644
--- a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
@@ -312,9 +312,8 @@ namespace WixToolsetTest.CoreIntegration
312 var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb"); 312 var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb");
313 Assert.True(File.Exists(pdbPath)); 313 Assert.True(File.Exists(pdbPath));
314 314
315 var pdb = Pdb.Load(pdbPath, suppressVersionCheck: true); 315 var output = Output.Load(pdbPath, suppressVersionCheck: true);
316 Assert.NotNull(pdb); 316 Assert.NotNull(output);
317 Assert.NotNull(pdb.Output);
318 } 317 }
319 } 318 }
320 319
@@ -449,6 +448,74 @@ namespace WixToolsetTest.CoreIntegration
449 } 448 }
450 449
451 [Fact] 450 [Fact]
451 public void CanBuildBinaryWixlib()
452 {
453 var folder = TestData.Get(@"TestData\SingleFile");
454
455 using (var fs = new DisposableFileSystem())
456 {
457 var baseFolder = fs.GetFolder();
458 var intermediateFolder = Path.Combine(baseFolder, "obj");
459
460 var result = WixRunner.Execute(
461 "build",
462 Path.Combine(folder, "Package.wxs"),
463 Path.Combine(folder, "PackageComponents.wxs"),
464 "-loc", Path.Combine(folder, "Package.en-us.wxl"),
465 "-bindpath", Path.Combine(folder, "data"),
466 "-intermediateFolder", intermediateFolder,
467 "-bindfiles",
468 "-o", Path.Combine(baseFolder, @"bin\test.wixlib"));
469
470 result.AssertSuccess();
471
472 using (var wixout = WixOutput.Read(Path.Combine(baseFolder, @"bin\test.wixlib")))
473 {
474 Assert.NotNull(wixout.GetDataStream("wix-ir.json"));
475
476 var text = wixout.GetData("wix-ir/test.txt");
477 Assert.Equal("This is test.txt.", text);
478 }
479 }
480 }
481
482 [Fact]
483 public void CanBuildBinaryWixlibWithCollidingFilenames()
484 {
485 var folder = TestData.Get(@"TestData\SameFileFolders");
486
487 using (var fs = new DisposableFileSystem())
488 {
489 var baseFolder = fs.GetFolder();
490 var intermediateFolder = Path.Combine(baseFolder, "obj");
491
492 var result = WixRunner.Execute(
493 "build",
494 Path.Combine(folder, "TestComponents.wxs"),
495 "-bindpath", Path.Combine(folder, "data"),
496 "-intermediateFolder", intermediateFolder,
497 "-bindfiles",
498 "-o", Path.Combine(baseFolder, @"bin\test.wixlib"));
499
500 result.AssertSuccess();
501
502 using (var wixout = WixOutput.Read(Path.Combine(baseFolder, @"bin\test.wixlib")))
503 {
504 Assert.NotNull(wixout.GetDataStream("wix-ir.json"));
505
506 var text = wixout.GetData("wix-ir/test.txt");
507 Assert.Equal(@"This is a\test.txt.", text);
508
509 var text2 = wixout.GetData("wix-ir/test.txt-1");
510 Assert.Equal(@"This is b\test.txt.", text2);
511
512 var text3 = wixout.GetData("wix-ir/test.txt-2");
513 Assert.Equal(@"This is c\test.txt.", text3);
514 }
515 }
516 }
517
518 [Fact]
452 public void CanBuildWithIncludePath() 519 public void CanBuildWithIncludePath()
453 { 520 {
454 var folder = TestData.Get(@"TestData\IncludePath"); 521 var folder = TestData.Get(@"TestData\IncludePath");
@@ -459,8 +526,7 @@ namespace WixToolsetTest.CoreIntegration
459 var baseFolder = fs.GetFolder(); 526 var baseFolder = fs.GetFolder();
460 var intermediateFolder = Path.Combine(baseFolder, "obj"); 527 var intermediateFolder = Path.Combine(baseFolder, "obj");
461 528
462 var result = WixRunner.Execute(new[] 529 var result = WixRunner.Execute(
463 {
464 "build", 530 "build",
465 Path.Combine(folder, "Package.wxs"), 531 Path.Combine(folder, "Package.wxs"),
466 Path.Combine(folder, "PackageComponents.wxs"), 532 Path.Combine(folder, "PackageComponents.wxs"),
@@ -468,8 +534,7 @@ namespace WixToolsetTest.CoreIntegration
468 "-bindpath", bindpath, 534 "-bindpath", bindpath,
469 "-intermediateFolder", intermediateFolder, 535 "-intermediateFolder", intermediateFolder,
470 "-o", Path.Combine(baseFolder, @"bin\test.msi"), 536 "-o", Path.Combine(baseFolder, @"bin\test.msi"),
471 "-i", bindpath, 537 "-i", bindpath);
472 });
473 538
474 result.AssertSuccess(); 539 result.AssertSuccess();
475 540
@@ -635,8 +700,8 @@ namespace WixToolsetTest.CoreIntegration
635 700
636 result.AssertSuccess(); 701 result.AssertSuccess();
637 702
638 var pdb = Pdb.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"), false); 703 var output = Output.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"), false);
639 var caRows = pdb.Output.Tables["CustomAction"].Rows.Single(); 704 var caRows = output.Tables["CustomAction"].Rows.Single();
640 Assert.Equal("SetINSTALLLOCATION", caRows.FieldAsString(0)); 705 Assert.Equal("SetINSTALLLOCATION", caRows.FieldAsString(0));
641 Assert.Equal("51", caRows.FieldAsString(1)); 706 Assert.Equal("51", caRows.FieldAsString(1));
642 Assert.Equal("INSTALLLOCATION", caRows.FieldAsString(2)); 707 Assert.Equal("INSTALLLOCATION", caRows.FieldAsString(2));
@@ -711,8 +776,8 @@ namespace WixToolsetTest.CoreIntegration
711 776
712 result.AssertSuccess(); 777 result.AssertSuccess();
713 778
714 var pdb = Pdb.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false); 779 var output = Output.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false);
715 Assert.NotEmpty(pdb.Output.SubStorages); 780 Assert.NotEmpty(output.SubStorages);
716 } 781 }
717 } 782 }
718 } 783 }