From c98e207fdaa1fd5373301abc2d50274b464e5378 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Thu, 22 Oct 2020 19:35:52 -0400 Subject: Add _SummaryInformation support to Query. --- .../DisposableFileSystem.cs | 11 +++++++++-- src/WixBuildTools.TestSupport/Query.cs | 21 +++++++++++++++++++++ src/WixBuildTools.TestSupport/WixAssert.cs | 2 +- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/WixBuildTools.TestSupport/DisposableFileSystem.cs b/src/WixBuildTools.TestSupport/DisposableFileSystem.cs index 28440f90..f096db72 100644 --- a/src/WixBuildTools.TestSupport/DisposableFileSystem.cs +++ b/src/WixBuildTools.TestSupport/DisposableFileSystem.cs @@ -1,4 +1,4 @@ -// 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. +// 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 WixBuildTools.TestSupport { @@ -12,6 +12,13 @@ namespace WixBuildTools.TestSupport private List CleanupPaths { get; } = new List(); + public bool Keep { get; } + + public DisposableFileSystem(bool keep = false) + { + this.Keep = keep; + } + protected string GetFile(bool create = false) { var path = Path.GetTempFileName(); @@ -56,7 +63,7 @@ namespace WixBuildTools.TestSupport return; } - if (disposing) + if (disposing && !this.Keep) { foreach (var path in this.CleanupPaths) { diff --git a/src/WixBuildTools.TestSupport/Query.cs b/src/WixBuildTools.TestSupport/Query.cs index b4e6b7f9..101a8890 100644 --- a/src/WixBuildTools.TestSupport/Query.cs +++ b/src/WixBuildTools.TestSupport/Query.cs @@ -44,6 +44,26 @@ namespace WixBuildTools.TestSupport { foreach (var table in tables) { + if (table == "_SummaryInformation") + { + var entries = new List(); + results.Add(table, entries); + + entries.Add($"Title\t{db.SummaryInfo.Title}"); + entries.Add($"Subject\t{db.SummaryInfo.Subject}"); + entries.Add($"Author\t{db.SummaryInfo.Author}"); + entries.Add($"Keywords\t{db.SummaryInfo.Keywords}"); + entries.Add($"Comments\t{db.SummaryInfo.Comments}"); + entries.Add($"Template\t{db.SummaryInfo.Template}"); + entries.Add($"CodePage\t{db.SummaryInfo.CodePage}"); + entries.Add($"PageCount\t{db.SummaryInfo.PageCount}"); + entries.Add($"WordCount\t{db.SummaryInfo.WordCount}"); + entries.Add($"CharacterCount\t{db.SummaryInfo.CharacterCount}"); + entries.Add($"Security\t{db.SummaryInfo.Security}"); + + continue; + } + if (!db.IsTablePersistent(table)) { results.Add(table, null); @@ -52,6 +72,7 @@ namespace WixBuildTools.TestSupport var rows = new List(); results.Add(table, rows); + using (var view = db.OpenView("SELECT * FROM `{0}`", table)) { view.Execute(); diff --git a/src/WixBuildTools.TestSupport/WixAssert.cs b/src/WixBuildTools.TestSupport/WixAssert.cs index 0882e26e..5638a787 100644 --- a/src/WixBuildTools.TestSupport/WixAssert.cs +++ b/src/WixBuildTools.TestSupport/WixAssert.cs @@ -22,8 +22,8 @@ namespace WixBuildTools.TestSupport public static void CompareXml(XContainer xExpected, XContainer xActual) { - var actuals = xActual.Descendants().Select(x => $"{x.Name.LocalName}:{String.Join(",", x.Attributes().OrderBy(a => a.Name.LocalName).Select(a => $"{a.Name.LocalName}={a.Value}"))}"); var expecteds = xExpected.Descendants().Select(x => $"{x.Name.LocalName}:{String.Join(",", x.Attributes().OrderBy(a => a.Name.LocalName).Select(a => $"{a.Name.LocalName}={a.Value}"))}"); + var actuals = xActual.Descendants().Select(x => $"{x.Name.LocalName}:{String.Join(",", x.Attributes().OrderBy(a => a.Name.LocalName).Select(a => $"{a.Name.LocalName}={a.Value}"))}"); CompareLineByLine(expecteds.OrderBy(s => s).ToArray(), actuals.OrderBy(s => s).ToArray()); } -- cgit v1.2.3-55-g6feb