From c99ba1a05efffd7c43edd87380bc1442942de7a9 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 8 Dec 2017 10:10:26 -0800 Subject: Support and test preprocessor variables without "var." prefix --- .../CommandLine/CommandLineOption.cs | 27 ---------- .../ExtensibilityServices/PreprocessHelper.cs | 4 +- .../ProgramFixture.cs | 62 +++++++++++++++++++++- .../TestData/SingleFileCompressed/Package.wxs | 11 ++-- 4 files changed, 71 insertions(+), 33 deletions(-) delete mode 100644 src/WixToolset.Core/CommandLine/CommandLineOption.cs (limited to 'src') diff --git a/src/WixToolset.Core/CommandLine/CommandLineOption.cs b/src/WixToolset.Core/CommandLine/CommandLineOption.cs deleted file mode 100644 index 85a654bf..00000000 --- a/src/WixToolset.Core/CommandLine/CommandLineOption.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolset -{ - /// - /// A command line option. - /// - public struct CommandLineOption - { - public string Option; - public string Description; - public int AdditionalArguments; - - /// - /// Instantiates a new BuilderCommandLineOption. - /// - /// The option name. - /// The description of the option. - /// Count of additional arguments to require after this switch. - public CommandLineOption(string option, string description, int additionalArguments) - { - this.Option = option; - this.Description = description; - this.AdditionalArguments = additionalArguments; - } - } -} diff --git a/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs b/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs index 3b8011c4..bcbd6a67 100644 --- a/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs @@ -86,7 +86,7 @@ namespace WixToolset.Core.ExtensibilityServices // the use of open and closed parens inside variable names. Example: $(env.ProgramFiles(x86)) should resolve. if (result == null) { - result = this.GetVariableValue(context, function, false); + result = this.GetVariableValue(context, function, true); } return result; @@ -403,7 +403,7 @@ namespace WixToolset.Core.ExtensibilityServices } else { - result = this.GetVariableValue(context, subString, false); + result = this.GetVariableValue(context, subString, true); } if (null == result) diff --git a/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs b/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs index 62920142..614107b0 100644 --- a/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs @@ -73,7 +73,7 @@ namespace WixToolsetTest.CoreIntegration Assert.Equal(0, result); Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.msi"))); - Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\cab1.cab"))); + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\example.cab"))); Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wir")); @@ -85,6 +85,66 @@ namespace WixToolsetTest.CoreIntegration } } + [Fact] + public void CanBuildSingleFileCompressedWithMediaTemplate() + { + var folder = TestData.Get(@"TestData\SingleFileCompressed"); + + using (var fs = new DisposableFileSystem()) + { + var intermediateFolder = fs.GetFolder(); + + var program = new Program(); + var result = program.Run(new WixToolsetServiceProvider(), new[] + { + "build", + Path.Combine(folder, "Package.wxs"), + Path.Combine(folder, "PackageComponents.wxs"), + "-d", "MediaTemplateCompressionLevel", + "-loc", Path.Combine(folder, "Package.en-us.wxl"), + "-bindpath", Path.Combine(folder, "data"), + "-intermediateFolder", intermediateFolder, + "-o", Path.Combine(intermediateFolder, @"bin\test.msi") + }); + + Assert.Equal(0, result); + + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.msi"))); + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\cab1.cab"))); + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); + } + } + + [Fact] + public void CanBuildSingleFileCompressedWithMediaTemplateWithLowCompression() + { + var folder = TestData.Get(@"TestData\SingleFileCompressed"); + + using (var fs = new DisposableFileSystem()) + { + var intermediateFolder = fs.GetFolder(); + + var program = new Program(); + var result = program.Run(new WixToolsetServiceProvider(), new[] + { + "build", + Path.Combine(folder, "Package.wxs"), + Path.Combine(folder, "PackageComponents.wxs"), + "-d", "MediaTemplateCompressionLevel=low", + "-loc", Path.Combine(folder, "Package.en-us.wxl"), + "-bindpath", Path.Combine(folder, "data"), + "-intermediateFolder", intermediateFolder, + "-o", Path.Combine(intermediateFolder, @"bin\test.msi") + }); + + Assert.Equal(0, result); + + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.msi"))); + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\lowcab1.cab"))); + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); + } + } + [Fact] public void CanBuildSimpleModule() { diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs index 2f37a237..0b743c81 100644 --- a/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SingleFileCompressed/Package.wxs @@ -4,10 +4,15 @@ - - - + + + + + + + + -- cgit v1.2.3-55-g6feb