Cleanup tests that don't work and have been ignored for years
Also means we don't need ctt.exe any more
This commit is contained in:
@@ -1,155 +0,0 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using NUnit.Framework;
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Interactions;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Integration
|
||||
{
|
||||
[Ignore("We don't want to run Selenium tests on TeamCity")]
|
||||
[TestFixture]
|
||||
public class CreateContent : BaseSeleniumTest
|
||||
{
|
||||
[SetUp]
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
base.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Install_StarterKit_And_Create_Textpage()
|
||||
{
|
||||
// Login to Umbraco
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/login.aspx?redir=");
|
||||
Driver.FindElement(By.Id("lname")).Clear();
|
||||
Driver.FindElement(By.Id("lname")).SendKeys("admin");
|
||||
Driver.FindElement(By.Id("passw")).Clear();
|
||||
Driver.FindElement(By.Id("passw")).SendKeys("test");
|
||||
Driver.FindElement(By.Id("Button1")).Click();
|
||||
Thread.Sleep(500);
|
||||
|
||||
// Install starter kit
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#developer");
|
||||
Thread.Sleep(2000);
|
||||
|
||||
var builder = new Actions(Driver);
|
||||
var packagesNode = Driver.FindElement(By.XPath("//*[@id='init'][3]"));
|
||||
builder.MoveToElement(packagesNode).DoubleClick().Build().Perform();
|
||||
Thread.Sleep(500);
|
||||
|
||||
var installStarterKitNode = Driver.FindElement(By.XPath("(//li[@id='-1']/a/div)[4]"));
|
||||
builder.MoveToElement(installStarterKitNode).Click().Build().Perform();
|
||||
Thread.Sleep(500);
|
||||
|
||||
var rightFrame = Driver.FindElement(By.XPath("//*[@id='right']"));
|
||||
Driver.SwitchTo().Frame(rightFrame);
|
||||
Thread.Sleep(500);
|
||||
|
||||
var simpleKit = Driver.FindElement(By.XPath("/html/body/form/div[2]/div[2]/div/div/div/div/div[4]/nav/ul/li[1]/a"));
|
||||
builder.MoveToElement(simpleKit).Click().Build().Perform();
|
||||
Thread.Sleep(6000);
|
||||
|
||||
// Create new content
|
||||
Driver.SwitchTo().DefaultContent();
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#content");
|
||||
Thread.Sleep(500);
|
||||
|
||||
var contentNode = Driver.FindElement(By.XPath("//*[@id = 'JTree_TreeContainer']/div/ul/li/ul/li/a/div"));
|
||||
builder.MoveToElement(contentNode).ContextClick().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var createButton = Driver.FindElement(By.XPath("//*[@id = 'jstree-contextmenu']/li[1]/a/span/div[2]"));
|
||||
createButton.Click();
|
||||
Thread.Sleep(500);
|
||||
|
||||
var umbracoModalBoxIframe = Driver.FindElement(By.CssSelector(".umbModalBoxIframe"));
|
||||
Driver.SwitchTo().Frame(umbracoModalBoxIframe);
|
||||
|
||||
var createTextBox = Driver.FindElement(By.XPath("//input[@type='text'][1]"));
|
||||
createTextBox.Clear();
|
||||
createTextBox.SendKeys("Test Page");
|
||||
|
||||
var submitButton = Driver.FindElement(By.XPath("//input[@type='submit'][1]"));
|
||||
submitButton.Click();
|
||||
Thread.Sleep(2000);
|
||||
|
||||
Driver.SwitchTo().Frame(rightFrame);
|
||||
var saveAndPublishButton = Driver.FindElement(By.XPath("//*[@id='body_TabView1_tab01layer_publish']"));
|
||||
saveAndPublishButton.Click();
|
||||
Thread.Sleep(2000);
|
||||
|
||||
var contentArea = Driver.FindElement(By.XPath("//*[@id='body_TabView1']"));
|
||||
Assert.IsNotNull(contentArea);
|
||||
Thread.Sleep(500);
|
||||
|
||||
// Perform delete
|
||||
Driver.SwitchTo().DefaultContent();
|
||||
var installingModulesNode = Driver.FindElement(By.XPath("//*[@id='1052']/a/div"));
|
||||
builder.MoveToElement(installingModulesNode).ContextClick().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var deleteButton = Driver.FindElement(By.CssSelector(".sprDelete"));
|
||||
deleteButton.Click();
|
||||
var alert = Driver.SwitchTo().Alert();
|
||||
alert.Accept();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
// Perform move
|
||||
var goFurtherNode = Driver.FindElement(By.XPath("//*[@id='1053']/a/div"));
|
||||
builder.MoveToElement(goFurtherNode).ContextClick().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var moveButton = Driver.FindElement(By.CssSelector(".sprMove"));
|
||||
moveButton.Click();
|
||||
Thread.Sleep(2000);
|
||||
|
||||
umbracoModalBoxIframe = Driver.FindElement(By.CssSelector(".umbModalBoxIframe"));
|
||||
Driver.SwitchTo().Frame(umbracoModalBoxIframe);
|
||||
|
||||
var rootNode = Driver.FindElement(By.XPath("//*[@id='1051']"));
|
||||
builder.MoveToElement(rootNode).DoubleClick().Build().Perform();
|
||||
Thread.Sleep(500);
|
||||
var gettinStartedNode = Driver.FindElement(By.XPath("//*[@id='1055']/a/div"));
|
||||
builder.MoveToElement(gettinStartedNode).Click().Build().Perform();
|
||||
Thread.Sleep(500);
|
||||
submitButton = Driver.FindElement(By.XPath("//input[@type='submit'][1]"));
|
||||
builder.MoveToElement(submitButton).Click().Build().Perform();
|
||||
Thread.Sleep(2000);
|
||||
var closeLink = Driver.FindElement(By.XPath("/html/body/form/div[2]/p[2]/a"));
|
||||
builder.MoveToElement(closeLink).Click().Build().Perform();
|
||||
|
||||
Driver.SwitchTo().DefaultContent();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
// Perform copy
|
||||
var gettingStartedNode = Driver.FindElement(By.XPath("//*[@id='1054']/a/div"));
|
||||
builder.MoveToElement(gettingStartedNode).ContextClick().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var copyButton = Driver.FindElement(By.CssSelector(".sprCopy"));
|
||||
copyButton.Click();
|
||||
Thread.Sleep(2000);
|
||||
|
||||
umbracoModalBoxIframe = Driver.FindElement(By.CssSelector(".umbModalBoxIframe"));
|
||||
Driver.SwitchTo().Frame(umbracoModalBoxIframe);
|
||||
|
||||
rootNode = Driver.FindElement(By.XPath("//*[@id='1051']"));
|
||||
builder.MoveToElement(rootNode).DoubleClick().Build().Perform();
|
||||
Thread.Sleep(500);
|
||||
|
||||
submitButton = Driver.FindElement(By.XPath("//input[@type='submit'][1]"));
|
||||
builder.MoveToElement(submitButton).Click().Build().Perform();
|
||||
Thread.Sleep(2000);
|
||||
closeLink = Driver.FindElement(By.XPath("/html/body/form/div[2]/p[2]/a"));
|
||||
builder.MoveToElement(closeLink).Click().Build().Perform();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,145 +0,0 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using NUnit.Framework;
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Interactions;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Integration
|
||||
{
|
||||
[Ignore("We don't want to run Selenium tests on TeamCity")]
|
||||
[TestFixture]
|
||||
public class InstallPackage : BaseSeleniumTest
|
||||
{
|
||||
[SetUp]
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
base.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Install_Courier_Package()
|
||||
{
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/login.aspx?redir=");
|
||||
Driver.FindElement(By.Id("lname")).Clear();
|
||||
Driver.FindElement(By.Id("lname")).SendKeys("admin");
|
||||
Driver.FindElement(By.Id("passw")).Clear();
|
||||
Driver.FindElement(By.Id("passw")).SendKeys("test");
|
||||
Driver.FindElement(By.Id("Button1")).Click();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#developer");
|
||||
Thread.Sleep(2000);
|
||||
|
||||
var builder = new Actions(Driver);
|
||||
var packagesNode = Driver.FindElement(By.XPath("//*[@id='init'][3]"));
|
||||
builder.MoveToElement(packagesNode).DoubleClick().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var installPackageNode = Driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/div/div/div/div/ul/li/ul/li[3]/ul/li[4]/a/div"));
|
||||
builder.MoveToElement(installPackageNode).Click().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var rightFrame = Driver.FindElement(By.XPath("//*[@id='right']"));
|
||||
Driver.SwitchTo().Frame(rightFrame);
|
||||
|
||||
const string packagesDir = @"C:\\Downloads\\Packages\\";
|
||||
var file = new DirectoryInfo(packagesDir).GetFiles().First(f => f.Name.ToLowerInvariant().StartsWith("Courier".ToLowerInvariant()));
|
||||
|
||||
Driver.FindElement(By.Id("cb")).Click();
|
||||
Driver.FindElement(By.XPath("//input[@type='file']")).SendKeys(file.FullName);
|
||||
Driver.FindElement(By.Id("body_ButtonLoadPackage")).Click();
|
||||
Driver.FindElement(By.Id("body_acceptCheckbox")).Click();
|
||||
Driver.FindElement(By.Id("body_ButtonInstall")).Click();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var successPanel = Driver.FindElement(By.XPath("//*[@id='body_Panel1_content']"));
|
||||
Assert.IsNotNull(successPanel);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Install_Contour_Package()
|
||||
{
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/login.aspx?redir=");
|
||||
Driver.FindElement(By.Id("lname")).Clear();
|
||||
Driver.FindElement(By.Id("lname")).SendKeys("admin");
|
||||
Driver.FindElement(By.Id("passw")).Clear();
|
||||
Driver.FindElement(By.Id("passw")).SendKeys("test");
|
||||
Driver.FindElement(By.Id("Button1")).Click();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#developer");
|
||||
Thread.Sleep(2000);
|
||||
|
||||
var builder = new Actions(Driver);
|
||||
var packagesNode = Driver.FindElement(By.XPath("//*[@id='init'][3]"));
|
||||
builder.MoveToElement(packagesNode).DoubleClick().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var installPackageNode = Driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/div/div/div/div/ul/li/ul/li[3]/ul/li[4]/a/div"));
|
||||
builder.MoveToElement(installPackageNode).Click().Build().Perform();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var rightFrame = Driver.FindElement(By.XPath("//*[@id='right']"));
|
||||
Driver.SwitchTo().Frame(rightFrame);
|
||||
|
||||
const string packagesDir = @"C:\\Downloads\\Packages\\";
|
||||
var file = new DirectoryInfo(packagesDir).GetFiles().First(f => f.Name.ToLowerInvariant().StartsWith("UmbracoContour".ToLowerInvariant()));
|
||||
|
||||
Driver.FindElement(By.Id("cb")).Click();
|
||||
Driver.FindElement(By.XPath("//input[@type='file']")).SendKeys(file.FullName);
|
||||
Driver.FindElement(By.Id("body_ButtonLoadPackage")).Click();
|
||||
Driver.FindElement(By.Id("body_acceptCheckbox")).Click();
|
||||
Driver.FindElement(By.Id("body_ButtonInstall")).Click();
|
||||
Thread.Sleep(1000);
|
||||
|
||||
var successPanel = Driver.FindElement(By.XPath("//*[@id='body_Panel1_content']"));
|
||||
Assert.IsNotNull(successPanel);
|
||||
}
|
||||
|
||||
//[Test]
|
||||
//public void Install_CMS_Import_Package()
|
||||
//{
|
||||
// Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/login.aspx?redir=");
|
||||
// Driver.FindElement(By.Id("lname")).Clear();
|
||||
// Driver.FindElement(By.Id("lname")).SendKeys("admin");
|
||||
// Driver.FindElement(By.Id("passw")).Clear();
|
||||
// Driver.FindElement(By.Id("passw")).SendKeys("test");
|
||||
// Driver.FindElement(By.Id("Button1")).Click();
|
||||
// Thread.Sleep(1000);
|
||||
|
||||
// Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#developer");
|
||||
// Thread.Sleep(2000);
|
||||
|
||||
// var builder = new Actions(Driver);
|
||||
// var packagesNode = Driver.FindElement(By.XPath("//*[@id='init'][3]"));
|
||||
// builder.MoveToElement(packagesNode).DoubleClick().Build().Perform();
|
||||
// Thread.Sleep(1000);
|
||||
|
||||
// var installPackageNode = Driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/div/div/div/div/ul/li/ul/li[3]/ul/li[4]/a/div"));
|
||||
// builder.MoveToElement(installPackageNode).Click().Build().Perform();
|
||||
// Thread.Sleep(1000);
|
||||
|
||||
// var rightFrame = Driver.FindElement(By.XPath("//*[@id='right']"));
|
||||
// Driver.SwitchTo().Frame(rightFrame);
|
||||
|
||||
// Driver.FindElement(By.Id("cb")).Click();
|
||||
// Driver.FindElement(By.Id("body_file1")).SendKeys("C:\\Downloads\\Packages\\CMSImport-2.3.1.zip");
|
||||
// Driver.FindElement(By.Id("body_ButtonLoadPackage")).Click();
|
||||
// Driver.FindElement(By.Id("body_acceptCheckbox")).Click();
|
||||
// Driver.FindElement(By.Id("body_ButtonInstall")).Click();
|
||||
// Thread.Sleep(1000);
|
||||
|
||||
// var successPanel = Driver.FindElement(By.XPath("//*[@id='body_Panel1_content']"));
|
||||
// Assert.IsNotNull(successPanel);
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
using System;
|
||||
using System.Data.SqlServerCe;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Web.Management;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Firefox;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Migrations.Initial;
|
||||
using Umbraco.Core.Persistence.SqlSyntax;
|
||||
|
||||
namespace Umbraco.Tests.TestHelpers
|
||||
{
|
||||
public class BaseSeleniumTest
|
||||
{
|
||||
internal IWebDriver Driver;
|
||||
internal string BaseUrl;
|
||||
|
||||
private StringBuilder _verificationErrors;
|
||||
private UmbracoDatabase _database;
|
||||
|
||||
protected ApplicationContext ApplicationContext
|
||||
{
|
||||
get { return ApplicationContext.Current; }
|
||||
}
|
||||
|
||||
[SetUp]
|
||||
public virtual void Initialize()
|
||||
{
|
||||
|
||||
// Disable medium trust
|
||||
var transform = TransformWebConfig("Release");
|
||||
|
||||
var assemblyPath = TestHelper.CurrentAssemblyDirectory;
|
||||
assemblyPath = Path.Combine(assemblyPath, @"..\..\..\Umbraco.Web.UI\");
|
||||
var webUiPath = Path.GetFullPath(new Uri(assemblyPath).LocalPath);
|
||||
|
||||
var installedPackagesConfig = string.Format("{0}App_Data\\packages\\installed\\installedPackages.config", webUiPath);
|
||||
if (File.Exists(installedPackagesConfig))
|
||||
File.Delete(installedPackagesConfig);
|
||||
|
||||
var databaseDataPath = string.Format(@"{0}\App_Data\Umbraco.sdf", webUiPath);
|
||||
var connectionString = string.Format(@"Data Source={0}", databaseDataPath);
|
||||
|
||||
//Create the Sql CE database
|
||||
using (var engine = new SqlCeEngine(connectionString))
|
||||
{
|
||||
if (File.Exists(databaseDataPath) == false)
|
||||
engine.CreateDatabase();
|
||||
}
|
||||
|
||||
var syntaxProvider = new SqlCeSyntaxProvider();
|
||||
SqlSyntaxContext.SqlSyntaxProvider = syntaxProvider;
|
||||
|
||||
_database = new UmbracoDatabase(connectionString, Constants.DatabaseProviders.SqlCe, Mock.Of<ILogger>());
|
||||
|
||||
// First remove anything in the database
|
||||
var creation = new DatabaseSchemaCreation(_database, Mock.Of<ILogger>(), syntaxProvider);
|
||||
creation.UninstallDatabaseSchema();
|
||||
|
||||
// Then populate it with fresh data
|
||||
_database.CreateDatabaseSchema(false);
|
||||
|
||||
_database.Execute("UPDATE umbracoUser SET userName = 'admin', userPassword = 'W477AMlLwwJQeAGlPZKiEILr8TA=', userEmail = 'none' WHERE id = 0"); // password: test
|
||||
|
||||
// Recycle app pool so the new user can log in
|
||||
//var webConfigFilePath = string.Format(@"{0}\web.config", webUiPath);
|
||||
//File.SetLastWriteTime(webConfigFilePath, DateTime.Now);
|
||||
|
||||
// Disable medium trust
|
||||
transform = TransformWebConfig("Release");
|
||||
|
||||
Driver = new FirefoxDriver();
|
||||
BaseUrl = "http://localhost:61639/";
|
||||
_verificationErrors = new StringBuilder();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public virtual void TearDown()
|
||||
{
|
||||
try
|
||||
{
|
||||
Driver.Quit();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Ignore errors if unable to close the browser
|
||||
}
|
||||
|
||||
// Re-enable medium trust
|
||||
var transform = TransformWebConfig("Debug");
|
||||
|
||||
Assert.AreEqual("", _verificationErrors.ToString());
|
||||
}
|
||||
|
||||
private static string TransformWebConfig(string configurationToUse)
|
||||
{
|
||||
var assemblyPath = TestHelper.CurrentAssemblyDirectory;
|
||||
var toolsPath = Path.Combine(assemblyPath, @"..\..\..\..\tools\ConfigTransformTool\");
|
||||
var webUiPath = Path.GetFullPath(new Uri(Path.Combine(assemblyPath, @"..\..\..\Umbraco.Web.UI\")).LocalPath);
|
||||
|
||||
var fileToTransform = webUiPath + "web.config";
|
||||
var transformFile = string.Format("{0}web.Template.{1}.config", webUiPath, configurationToUse);
|
||||
|
||||
var psi = new ProcessStartInfo(string.Format("{0}ctt.exe", toolsPath), string.Format("s:\"{0}\" t:\"{1}\" d:\"{2}\" pw v", fileToTransform, transformFile, fileToTransform))
|
||||
{
|
||||
WorkingDirectory = Environment.CurrentDirectory,
|
||||
UseShellExecute = false,
|
||||
RedirectStandardOutput = true,
|
||||
RedirectStandardError = true,
|
||||
CreateNoWindow = true
|
||||
};
|
||||
|
||||
string[] result = {string.Empty};
|
||||
using (var process = new Process { StartInfo = psi })
|
||||
{
|
||||
// delegate for writing the process output to the response output
|
||||
Action<Object, DataReceivedEventArgs> dataReceived = ((sender, e) =>
|
||||
{
|
||||
if (e.Data != null) // sometimes a random event is received with null data, not sure why - I prefer to leave it out
|
||||
{
|
||||
result[0] += e.Data;
|
||||
result[0] += "\r\n";
|
||||
}
|
||||
});
|
||||
|
||||
process.OutputDataReceived += new DataReceivedEventHandler(dataReceived);
|
||||
process.ErrorDataReceived += new DataReceivedEventHandler(dataReceived);
|
||||
|
||||
// start the process and start reading the standard and error outputs
|
||||
process.Start();
|
||||
process.BeginErrorReadLine();
|
||||
process.BeginOutputReadLine();
|
||||
|
||||
// wait for the process to exit
|
||||
process.WaitForExit();
|
||||
|
||||
// an exit code other than 0 generally means an error
|
||||
if (process.ExitCode != 0)
|
||||
{
|
||||
result[0] = result[0] + "\r\n - Exited with exitcode " + process.ExitCode;
|
||||
}
|
||||
}
|
||||
|
||||
return result[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -386,7 +386,6 @@
|
||||
<Compile Include="DynamicsAndReflection\QueryableExtensionTests.cs" />
|
||||
<Compile Include="DynamicsAndReflection\ExtensionMethodFinderTests.cs" />
|
||||
<Compile Include="DynamicsAndReflection\ReflectionTests.cs" />
|
||||
<Compile Include="Integration\CreateContent.cs" />
|
||||
<Compile Include="Macros\MacroParserTests.cs" />
|
||||
<Compile Include="Migrations\Upgrades\ValidateV7UpgradeTest.cs" />
|
||||
<Compile Include="Models\ContentExtensionsTests.cs" />
|
||||
@@ -438,8 +437,6 @@
|
||||
<Compile Include="Manifest\ManifestParserTests.cs" />
|
||||
<Compile Include="Templates\TemplateRepositoryTests.cs" />
|
||||
<Compile Include="Templates\ViewHelperTests.cs" />
|
||||
<Compile Include="TestHelpers\BaseSeleniumTest.cs" />
|
||||
<Compile Include="Integration\InstallPackage.cs" />
|
||||
<Compile Include="CoreXml\NavigableNavigatorTests.cs" />
|
||||
<Compile Include="Cache\PublishedCache\PublishedMediaCacheTests.cs" />
|
||||
<Compile Include="Strings\CmsHelperCasingTests.cs" />
|
||||
|
||||
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
More information at:
|
||||
https://ctt.codeplex.com/documentation
|
||||
Reference in New Issue
Block a user