Beispiel #1
0
        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);
        }
Beispiel #4
0
        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();
        }