Merge branch 'v9/task/package-as-xml' into v9/task/package-partial-views

This commit is contained in:
Shannon
2021-07-08 13:58:54 -06:00
2 changed files with 17 additions and 11 deletions

View File

@@ -45,10 +45,11 @@ namespace Umbraco.Cms.Core.Packaging
}
public static ZipArchive GetEmbeddedPackageDataManifest(Type planType, out XDocument packageXml)
{
Stream stream = GetEmbeddedPackageStream(planType);
=> GetPackageDataManifest(GetEmbeddedPackageStream(planType), out packageXml);
var zip = new ZipArchive(stream, ZipArchiveMode.Read);
public static ZipArchive GetPackageDataManifest(Stream packageZipStream, out XDocument packageXml)
{
var zip = new ZipArchive(packageZipStream, ZipArchiveMode.Read);
ZipArchiveEntry packageXmlEntry = zip.GetEntry("package.xml");
if (packageXmlEntry == null)
{
@@ -56,7 +57,10 @@ namespace Umbraco.Cms.Core.Packaging
}
using (Stream packageXmlStream = packageXmlEntry.Open())
using (var xmlReader = XmlReader.Create(packageXmlStream))
using (var xmlReader = XmlReader.Create(packageXmlStream, new XmlReaderSettings
{
IgnoreWhitespace = true
}))
{
packageXml = XDocument.Load(xmlReader);
}

View File

@@ -207,10 +207,10 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging
string packageXmlPath = PackageBuilder.ExportPackage(def);
using (var stream = File.OpenRead(packageXmlPath))
using (var packageZipStream = File.OpenRead(packageXmlPath))
using (ZipArchive zipArchive = PackageMigrationResource.GetPackageDataManifest(packageZipStream, out XDocument packageXml))
{
var xml = XDocument.Load(stream);
var dictionaryItems = xml.Root.Element("DictionaryItems");
var dictionaryItems = packageXml.Root.Element("DictionaryItems");
Assert.IsNotNull(dictionaryItems);
var rootItems = dictionaryItems.Elements("DictionaryItem").ToList();
Assert.AreEqual(2, rootItems.Count);
@@ -247,12 +247,14 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Core.Packaging
def = PackageBuilder.GetById(def.Id); // re-get
Assert.IsNotNull(def.PackagePath);
using (var packageXmlStream = File.OpenRead(packageXmlPath))
using (FileStream packageZipStream = File.OpenRead(packageXmlPath))
using (ZipArchive zipArchive = PackageMigrationResource.GetPackageDataManifest(packageZipStream, out XDocument packageXml))
{
var xml = XDocument.Load(packageXmlStream);
Assert.AreEqual("umbPackage", xml.Root.Name.ToString());
Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString());
Assert.AreEqual($"<Templates><Template><Name>Text page</Name><Alias>textPage</Alias><Design><![CDATA[@using Umbraco.Cms.Web.Common.PublishedModels;{Environment.NewLine}@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage{Environment.NewLine}@{{{Environment.NewLine}\tLayout = null;{Environment.NewLine}}}]]></Design></Template></Templates>", xml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting));
Assert.AreEqual(
$"<Templates><Template><Name>Text page</Name><Alias>textPage</Alias><Design><![CDATA[@using Umbraco.Cms.Web.Common.PublishedModels;{Environment.NewLine}@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage{Environment.NewLine}@{{{Environment.NewLine}\tLayout = null;{Environment.NewLine}}}]]></Design></Template></Templates>",
packageXml.Element("umbPackage").Element("Templates").ToString(SaveOptions.DisableFormatting));
// TODO: There's a whole lot more assertions to be done