Merge branch 'v9/task/package-as-xml' into v9/task/package-partial-views
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user