public static void AddTempFile(this XapZipArchive xapZipArchive, string fileName, byte[] value = null) { if (value == null) { value = new byte[] { 1, 2 } } ; XapRewriter.AddFileInternal(xapZipArchive, fileName, value); } }
private byte[] RewriteXapWithSpecialFiles(byte[] xapHost, IEnumerable <ITestFile> filesToCopyIntoHostXap) { if (filesToCopyIntoHostXap.Any()) { var rewriter = new XapRewriter(_logger); xapHost = rewriter.RewriteZipHostWithFiles(xapHost, filesToCopyIntoHostXap) .ToByteArray(); } return(xapHost); }
private byte[] RewriteXapWithSpecialFiles(byte[] xapHost, Func <IEnumerable <ITestFile> > filesToCopyIntoHostXapFunc, string runtimeVersion) { var files = filesToCopyIntoHostXapFunc(); if (files.Any()) { var rewriter = new XapRewriter(_logger); xapHost = rewriter .RewriteZipHostWithFiles(xapHost, files, runtimeVersion) .ToByteArray(); } return(xapHost); }
protected override void Before_all_tests() { base.Before_all_tests(); _xapRewriter = new XapRewriter(base.TestLogger); var appManifest = @"<Deployment xmlns=""http://schemas.microsoft.com/client/2007/deployment"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" EntryPointAssembly=""StatLight.Client.Harness"" EntryPointType=""StatLight.Client.Harness.App"" RuntimeVersion=""4.0.50826.0""> <Deployment.Parts> <AssemblyPart x:Name=""StatLight.Client.Harness"" Source=""StatLight.Client.Harness.dll"" /> <AssemblyPart x:Name=""System.Windows.Controls"" Source=""System.Windows.Controls.dll"" /> <AssemblyPart x:Name=""System.Xml.Linq"" Source=""System.Xml.Linq.dll"" /> <AssemblyPart x:Name=""System.Xml.Serialization"" Source=""System.Xml.Serialization.dll"" /> <AssemblyPart x:Name=""Microsoft.Silverlight.Testing"" Source=""Microsoft.Silverlight.Testing.dll"" /> <AssemblyPart x:Name=""Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight"" Source=""Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"" /> </Deployment.Parts> </Deployment> "; var originalXapHost = new XapZipArchive(); originalXapHost.AddTempFile("AppManifest.xaml", appManifest.ToByteArray()); originalXapHost.AddTempFile("StatLight.Client.Harness.dll"); originalXapHost.AddTempFile("StatLight.Client.Harness.MSTest.dll"); originalXapHost.AddTempFile("System.Windows.Controls.dll"); originalXapHost.AddTempFile("System.Xml.Linq.dll"); originalXapHost.AddTempFile("System.Xml.Serialization.dll"); originalXapHost.AddTempFile("Microsoft.Silverlight.Testing.dll"); originalXapHost.AddTempFile("Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"); _originalXapHost = originalXapHost.ToByteArray(); var appManifest2 = @"<Deployment xmlns=""http://schemas.microsoft.com/client/2007/deployment"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" EntryPointAssembly=""StatLight.IntegrationTests.Silverlight.MSTest"" EntryPointType=""StatLight.IntegrationTests.Silverlight.App"" RuntimeVersion=""4.0.50826.0""> <Deployment.Parts> <AssemblyPart x:Name=""StatLight.IntegrationTests.Silverlight.MSTest"" Source=""StatLight.IntegrationTests.Silverlight.MSTest.dll"" /> <AssemblyPart x:Name=""Microsoft.Silverlight.Testing"" Source=""Microsoft.Silverlight.Testing.dll"" /> <AssemblyPart x:Name=""Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight"" Source=""Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"" /> </Deployment.Parts> </Deployment> "; var originalXapUnderTest = new XapZipArchive(); originalXapUnderTest.AddTempFile("/AppManifest.xaml", appManifest2.ToByteArray()); originalXapUnderTest.AddTempFile("/StatLight.IntegrationTests.Silverlight.MSTest.dll"); originalXapUnderTest.AddTempFile("/Microsoft.Silverlight.Testing.dll"); originalXapUnderTest.AddTempFile("/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"); originalXapUnderTest.AddTempFile("/Test/Test/Test.xml", "Hello".ToByteArray()); // This was a crazy case that the Sterling db project exposed to StatLight (They had duplicate test assemblies) originalXapUnderTest.AddTempFile("/Binaries/Microsoft.Silverlight.Testing.dll", new byte[] { 1, 2 }); originalXapUnderTest.AddTempFile("/Binaries/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll", new byte[] { 1, 2 }); _originalXapUnderTest = originalXapUnderTest.ToByteArray(); _expectedAppManifest = @"<Deployment xmlns=""http://schemas.microsoft.com/client/2007/deployment"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" EntryPointAssembly=""StatLight.Client.Harness"" EntryPointType=""StatLight.Client.Harness.App"" RuntimeVersion=""4.0.50826.0""> <Deployment.Parts> <AssemblyPart x:Name=""StatLight.Client.Harness"" Source=""StatLight.Client.Harness.dll"" /> <AssemblyPart x:Name=""System.Windows.Controls"" Source=""System.Windows.Controls.dll"" /> <AssemblyPart x:Name=""System.Xml.Linq"" Source=""System.Xml.Linq.dll"" /> <AssemblyPart x:Name=""System.Xml.Serialization"" Source=""System.Xml.Serialization.dll"" /> <AssemblyPart x:Name=""Microsoft.Silverlight.Testing"" Source=""Microsoft.Silverlight.Testing.dll"" /> <AssemblyPart x:Name=""Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight"" Source=""Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"" /> <AssemblyPart x:Name=""StatLight.IntegrationTests.Silverlight.MSTest"" Source=""StatLight.IntegrationTests.Silverlight.MSTest.dll"" /> </Deployment.Parts> </Deployment> "; var expectedXapHost = new XapZipArchive(); expectedXapHost.AddTempFile("/StatLight.Client.Harness.dll"); expectedXapHost.AddTempFile("/StatLight.Client.Harness.MSTest.dll"); expectedXapHost.AddTempFile("/System.Windows.Controls.dll"); expectedXapHost.AddTempFile("/System.Xml.Linq.dll"); expectedXapHost.AddTempFile("/System.Xml.Serialization.dll"); expectedXapHost.AddTempFile("/Microsoft.Silverlight.Testing.dll"); expectedXapHost.AddTempFile("/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"); expectedXapHost.AddTempFile("/StatLight.IntegrationTests.Silverlight.MSTest.dll"); expectedXapHost.AddTempFile("/Test/Test/Test.xml", "Hello".ToByteArray()); expectedXapHost.AddTempFile("/AppManifest.xaml", _expectedAppManifest.ToByteArray()); // This was a crazy case that the Sterling db project exposed to StatLight (They had duplicate test assemblies) expectedXapHost.AddTempFile("/Binaries/Microsoft.Silverlight.Testing.dll"); expectedXapHost.AddTempFile("/Binaries/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll"); _expectedXapHost = expectedXapHost.ToByteArray(); }