2015-07-16 10:40:43 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
using NUnit.Framework;
|
2012-10-11 08:32:06 +05:00
|
|
|
|
using Umbraco.Core.IO;
|
2010-06-04 03:01:33 +00:00
|
|
|
|
|
2012-10-11 08:32:06 +05:00
|
|
|
|
namespace Umbraco.Tests.IO
|
2010-06-04 03:01:33 +00:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
///This is a test class for IOHelperTest and is intended
|
|
|
|
|
|
///to contain all IOHelperTest Unit Tests
|
|
|
|
|
|
///</summary>
|
2012-10-11 08:32:06 +05:00
|
|
|
|
[TestFixture()]
|
2010-06-04 03:01:33 +00:00
|
|
|
|
public class IOHelperTest
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2015-07-16 10:40:43 +02:00
|
|
|
|
[TestCase("~/Scripts", "/Scripts", null)]
|
|
|
|
|
|
[TestCase("/Scripts", "/Scripts", null)]
|
|
|
|
|
|
[TestCase("../Scripts", "/Scripts", typeof(ArgumentException))]
|
|
|
|
|
|
public void IOHelper_ResolveUrl(string input, string expected, Type expectedExceptionType)
|
2013-01-15 00:23:40 +03:00
|
|
|
|
{
|
2015-07-16 10:40:43 +02:00
|
|
|
|
if (expectedExceptionType != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
Assert.Throws(expectedExceptionType, () => IOHelper.ResolveUrl(input));
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
var result = IOHelper.ResolveUrl(input);
|
|
|
|
|
|
Assert.AreEqual(expected, result);
|
|
|
|
|
|
}
|
2013-01-15 00:23:40 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
2010-06-04 03:01:33 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
///A test for MapPath verifying that HttpContext method (which includes vdirs) matches non-HttpContext method
|
|
|
|
|
|
///</summary>
|
2012-10-11 08:32:06 +05:00
|
|
|
|
[Test]
|
2010-06-04 03:01:33 +00:00
|
|
|
|
public void IOHelper_MapPathTestVDirTraversal()
|
|
|
|
|
|
{
|
|
|
|
|
|
//System.Diagnostics.Debugger.Break();
|
|
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Bin, true), IOHelper.MapPath(SystemDirectories.Bin, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Config, true), IOHelper.MapPath(SystemDirectories.Config, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Css, true), IOHelper.MapPath(SystemDirectories.Css, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Data, true), IOHelper.MapPath(SystemDirectories.Data, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Install, true), IOHelper.MapPath(SystemDirectories.Install, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Masterpages, true), IOHelper.MapPath(SystemDirectories.Masterpages, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Media, true), IOHelper.MapPath(SystemDirectories.Media, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Packages, true), IOHelper.MapPath(SystemDirectories.Packages, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Preview, true), IOHelper.MapPath(SystemDirectories.Preview, false));
|
2012-07-16 22:40:36 +06:00
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.MacroScripts, true), IOHelper.MapPath(SystemDirectories.MacroScripts, false));
|
2010-06-04 03:01:33 +00:00
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Root, true), IOHelper.MapPath(SystemDirectories.Root, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Scripts, true), IOHelper.MapPath(SystemDirectories.Scripts, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Umbraco, true), IOHelper.MapPath(SystemDirectories.Umbraco, false));
|
2012-10-11 08:32:06 +05:00
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.UmbracoClient, true), IOHelper.MapPath(SystemDirectories.UmbracoClient, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.UserControls, true), IOHelper.MapPath(SystemDirectories.UserControls, false));
|
|
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.WebServices, true), IOHelper.MapPath(SystemDirectories.WebServices, false));
|
2010-06-04 03:01:33 +00:00
|
|
|
|
Assert.AreEqual(IOHelper.MapPath(SystemDirectories.Xslt, true), IOHelper.MapPath(SystemDirectories.Xslt, false));
|
|
|
|
|
|
}
|
2017-02-10 09:25:16 +01:00
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
public void EnsurePathIsApplicationRootPrefixed()
|
|
|
|
|
|
{
|
|
|
|
|
|
//Assert
|
|
|
|
|
|
Assert.AreEqual("~/Views/Template.cshtml", IOHelper.EnsurePathIsApplicationRootPrefixed("Views/Template.cshtml"));
|
|
|
|
|
|
Assert.AreEqual("~/Views/Template.cshtml", IOHelper.EnsurePathIsApplicationRootPrefixed("/Views/Template.cshtml"));
|
|
|
|
|
|
Assert.AreEqual("~/Views/Template.cshtml", IOHelper.EnsurePathIsApplicationRootPrefixed("~/Views/Template.cshtml"));
|
|
|
|
|
|
}
|
2010-06-04 03:01:33 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|