From 5e9901d7be4953333b0f2c3a25e8eb484d5673d6 Mon Sep 17 00:00:00 2001 From: chris_bednarski Date: Sat, 22 Jul 2023 09:01:55 +1000 Subject: Multiple extension support in unit tests --- src/internal/WixInternal.TestSupport/Builder.cs | 35 ++++++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'src/internal') diff --git a/src/internal/WixInternal.TestSupport/Builder.cs b/src/internal/WixInternal.TestSupport/Builder.cs index 78804826..51b7bb0a 100644 --- a/src/internal/WixInternal.TestSupport/Builder.cs +++ b/src/internal/WixInternal.TestSupport/Builder.cs @@ -11,14 +11,29 @@ namespace WixInternal.TestSupport public Builder(string sourceFolder, Type extensionType = null, string[] bindPaths = null, string outputFile = null) { this.SourceFolder = sourceFolder; - this.ExtensionType = extensionType; + if (extensionType != null) + { + this.ExtensionTypes = new Type[] { extensionType }; + } + else + { + this.ExtensionTypes = new Type[] { }; + } + this.BindPaths = bindPaths; + this.OutputFile = outputFile ?? "test.msi"; + } + + public Builder(string sourceFolder, Type[] extensionTypes, string[] bindPaths = null, string outputFile = null) + { + this.SourceFolder = sourceFolder; + this.ExtensionTypes = extensionTypes; this.BindPaths = bindPaths; this.OutputFile = outputFile ?? "test.msi"; } public string[] BindPaths { get; set; } - public Type ExtensionType { get; set; } + public Type[] ExtensionTypes { get; set; } public string OutputFile { get; set; } @@ -46,10 +61,10 @@ namespace WixInternal.TestSupport "-intermediateFolder", intermediateFolder, }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { args.Add("-ext"); - args.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + args.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } args.AddRange(sourceFiles); @@ -108,10 +123,10 @@ namespace WixInternal.TestSupport "-intermediateFolder", intermediateFolder, }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { firstBuildArgs.Add("-ext"); - firstBuildArgs.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + firstBuildArgs.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } firstBuildArgs.AddRange(sourceFiles); @@ -140,10 +155,10 @@ namespace WixInternal.TestSupport "-o", decompilePath }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { decompileArgs.Add("-ext"); - decompileArgs.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + decompileArgs.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } decompileFunc(decompileArgs.ToArray()); @@ -157,10 +172,10 @@ namespace WixInternal.TestSupport "-intermediateFolder", decompileIntermediateFolder }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { secondBuildArgs.Add("-ext"); - secondBuildArgs.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + secondBuildArgs.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } secondBuildArgs.Add("-bindpath"); -- cgit v1.2.3-55-g6feb