2022-05-16 14:23:59 +02:00
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Xml;
|
|
|
|
|
using Microsoft.Extensions.FileProviders;
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
using Umbraco.Cms.Core.Composing;
|
|
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.EmbeddedResources;
|
|
|
|
|
|
|
|
|
|
[TestFixture]
|
|
|
|
|
public class LanguageXmlTests
|
2022-05-16 14:23:59 +02:00
|
|
|
{
|
2022-06-21 08:09:38 +02:00
|
|
|
[Test]
|
|
|
|
|
public void Can_Load_Language_Xml_Files()
|
2022-05-16 14:23:59 +02:00
|
|
|
{
|
2022-06-21 08:09:38 +02:00
|
|
|
var readFilesCount = 0;
|
|
|
|
|
var xmlDocument = new XmlDocument();
|
2022-05-16 14:23:59 +02:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
var languageProvider = new EmbeddedFileProvider(typeof(IAssemblyProvider).Assembly, "Umbraco.Cms.Core.EmbeddedResources.Lang");
|
|
|
|
|
var files = languageProvider.GetDirectoryContents(string.Empty)
|
|
|
|
|
.Where(x => !x.IsDirectory && x.Name.EndsWith(".xml"));
|
2022-05-16 14:23:59 +02:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
foreach (var languageFile in files)
|
|
|
|
|
{
|
|
|
|
|
using var stream = new StreamReader(languageFile.CreateReadStream());
|
2022-05-16 14:23:59 +02:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
// Load will throw an exception if the XML isn't valid.
|
|
|
|
|
xmlDocument.Load(stream);
|
|
|
|
|
readFilesCount++;
|
2022-05-16 14:23:59 +02:00
|
|
|
}
|
2022-06-21 08:09:38 +02:00
|
|
|
|
|
|
|
|
// Ensure that at least one file was read.
|
|
|
|
|
Assert.AreNotEqual(0, readFilesCount);
|
2022-05-16 14:23:59 +02:00
|
|
|
}
|
|
|
|
|
}
|