diff options
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs')
-rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs | 87 |
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 | } |