From 311dbab658184e603953791a075c776456226b95 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 29 May 2020 11:44:46 +1000 Subject: Add overloads to WindowsInstallerData.Load for table definitions. --- src/test/WixToolsetTest.Data/SerializeFixture.cs | 40 ++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/test/WixToolsetTest.Data/SerializeFixture.cs') diff --git a/src/test/WixToolsetTest.Data/SerializeFixture.cs b/src/test/WixToolsetTest.Data/SerializeFixture.cs index 6e224438..198b2571 100644 --- a/src/test/WixToolsetTest.Data/SerializeFixture.cs +++ b/src/test/WixToolsetTest.Data/SerializeFixture.cs @@ -8,8 +8,11 @@ namespace WixToolsetTest.Data using WixToolset.Data; using WixToolset.Data.Bind; using WixToolset.Data.Tuples; + using WixToolset.Data.WindowsInstaller.Rows; using Xunit; + using Wid = WixToolset.Data.WindowsInstaller; + public class SerializeFixture { [Fact] @@ -383,5 +386,42 @@ namespace WixToolsetTest.Data File.Delete(path); } } + + [Fact] + public void CanSaveAndLoadWindowsInstallerData() + { + var sln = new SourceLineNumber("test.wxs", 1); + var windowsInstallerData = new Wid.WindowsInstallerData(sln) + { + Type = OutputType.Product, + }; + + var fileTable = windowsInstallerData.EnsureTable(Wid.WindowsInstallerTableDefinitions.File); + var fileRow = (FileRow)fileTable.CreateRow(sln); + fileRow.File = "TestFile"; + + var path = Path.GetTempFileName(); + try + { + using (var wixout = WixOutput.Create(path)) + { + windowsInstallerData.Save(wixout); + } + + var loaded = Wid.WindowsInstallerData.Load(path); + + var loadedTable = Assert.Single(loaded.Tables); + Assert.Equal(Wid.WindowsInstallerTableDefinitions.File.Name, loadedTable.Name); + + var loadedRow = Assert.Single(loadedTable.Rows); + var loadedFileRow = Assert.IsType(loadedRow); + + Assert.Equal("TestFile", loadedFileRow.File); + } + finally + { + File.Delete(path); + } + } } } -- cgit v1.2.3-55-g6feb