public void IsAbsolutePathWorks() { var pb = new VirtualPathBuilder().CombineWith("~/"); Assert.IsFalse(pb.IsAbsolutePath()); pb.Normalize(); Assert.IsTrue(pb.IsAbsolutePath()); pb = new VirtualPathBuilder().CombineWith("~"); Assert.IsFalse(pb.IsAbsolutePath()); pb.Normalize(); Assert.IsTrue(pb.IsAbsolutePath()); pb = new VirtualPathBuilder().CombineWith("~/Foo"); Assert.IsFalse(pb.IsAbsolutePath()); pb.Normalize(); Assert.IsTrue(pb.IsAbsolutePath()); pb = new VirtualPathBuilder("/Foo"); Assert.IsFalse(pb.IsAbsolutePath()); Assert.IsTrue(pb.CombineWith("/Foo/").IsAbsolutePath()); Assert.IsTrue(pb.Clear().CombineWith("/Foo").IsAbsolutePath()); Assert.IsTrue(pb.Clear().CombineWith("/Foo/Doo").IsAbsolutePath()); Assert.IsTrue(pb.Clear().CombineWith("/Foo/Doo/Boo").IsAbsolutePath()); Assert.IsTrue(pb.CombineWith("../..") == "/Foo"); Assert.IsTrue(pb.WithRootOperator().HasRootOperator()); pb = new VirtualPathBuilder("/Foo"); pb.CombineWith("/Doo/Foo"); Assert.IsTrue(pb.IsAbsolutePath()); Assert.IsFalse(pb.IsValidAbsolutePath()); }
public void GetVirtualPath_TestAssembly_ReturnsAssemblyNameWithPrefix() { var controllerAssembly = Assembly.GetExecutingAssembly(); var result = new VirtualPathBuilder().GetVirtualPath(controllerAssembly); Assert.AreEqual("Frontend-Assembly/Telerik.Sitefinity.Frontend.Test/", result); }
private static VirtualPathBuilder NormalizeWorks(string appName, string part, params string[] normalizeResults) { var pb = new VirtualPathBuilder(appName); pb.CombineWith(part); Assert.IsTrue(pb == part); if (normalizeResults.Length > 0) { foreach (var normalizeResult in normalizeResults) { Assert.IsTrue(pb == normalizeResult); } pb = pb.Normalize(); } else { var caught = false; try { pb.Normalize(); } catch (InvalidOperationException ex) { Debug.WriteLine("Expected error: {0}".FormatWith(ex.Message)); caught = true; } Assert.IsTrue(caught); return(null); } return(pb); }
public void RemoveTrailingSlashWorks() { var pb = new VirtualPathBuilder().CombineWith("/").RemoveTrailingSlash(); Assert.IsTrue(pb == ""); pb.Clear().CombineWith("/").RemoveTrailingSlash(true); Assert.IsTrue(pb == "/"); }
public void PathBuilderWorksWithRootPartAdded() { var pb = new VirtualPathBuilder(); pb.CombineWith("/"); pb.CombineWith("/"); Assert.AreEqual("/", pb.ToString()); }
public void AppendTrailingSlashWorks() { var pb = new VirtualPathBuilder().CombineWith("/").AppendTrailingSlash(); Assert.IsTrue(pb == "/"); pb.Clear().CombineWith("/foo").AppendTrailingSlash(); Assert.IsTrue(pb.HasTrailingSlash()); Assert.IsTrue(pb == "/foo/"); }
public void PathBuilderCanBeCreatedFromTwoParts() { var pb = new VirtualPathBuilder(); pb.CombineWith("~/part1", "part2").Normalize(); Assert.AreEqual("/part1/part2", pb.ToString()); pb.WithRootOperator(); Assert.AreEqual("~/part1/part2", pb.ToString()); }
private static void AssertIsAbsolute(VirtualPathBuilder pb) { Assert.IsTrue(pb.IsAbsolutePath()); Assert.IsFalse(pb.IsRelativePath()); Assert.IsFalse(pb.HasRootOperator()); Assert.IsFalse(pb.HasExtension()); Assert.IsFalse(pb.HasTrailingSlash()); Assert.IsTrue(pb.IsValidAbsolutePath()); }
public void RemoveExtensionWorks() { var pb = new VirtualPathBuilder(); pb.RemoveExtension(); pb.CombineWith("oops.cs"); Assert.IsTrue(pb.GetExtension() == "cs"); pb.RemoveExtension(); Assert.IsNull(pb.GetExtension()); }
public void NormalizingToRootRelativeWorksForBackDirectory() { var pb = new VirtualPathBuilder(); pb .CombineWith("/", "/foo/..") .Normalize() .WithRootOperator(); Assert.AreEqual("~/", pb.ToString()); }
public void GetVirtualPath_TestAssembly_ReturnsAssemblyNameWithPrefix() { //Arrange var controllerAssembly = Assembly.GetExecutingAssembly(); //Act var result = new VirtualPathBuilder().GetVirtualPath(controllerAssembly); //Assert Assert.AreEqual("Frontend-Assembly/Telerik.Sitefinity.Frontend.Test/", result, "The virtual path is not resolved correctly."); }
public void CombineWithWorks() { var pb = new VirtualPathBuilder("/foo").CombineWith("oops/../doo/.").Normalize(); Assert.IsTrue(pb == "/foo/doo"); pb = new VirtualPathBuilder("/foo").CombineWith("oops", "..", "doo", ".", ".").Normalize(); Assert.IsTrue(pb == "/foo/doo"); pb = new VirtualPathBuilder("/foo").CombineWith("oops", "..", "doo", ".", ".", "~/").Normalize(); Assert.IsTrue(pb == "/foo"); Assert.IsTrue(pb == "~/"); }
public void HasExtensionWorks() { var pb = new VirtualPathBuilder().CombineWith("."); Assert.IsTrue(pb == "."); Assert.IsFalse(pb.HasExtension()); pb.Clear().CombineWith("~/oops.cshtml"); Assert.IsTrue(pb.HasExtension()); pb.Normalize(); Assert.IsTrue(pb.HasExtension()); }
public void HasTrailingSlashWorks() { var pb = new VirtualPathBuilder().CombineWith("/").Normalize(); Assert.IsTrue(pb.HasTrailingSlash()); Assert.IsFalse(pb.HasTrailingSlash(true)); pb.Clear().CombineWith("/foo/"); Assert.IsTrue(pb.HasTrailingSlash()); pb.Clear().CombineWith("/foo"); Assert.IsFalse(pb.HasTrailingSlash()); }
public void AddParams_WithoutParams_PreservesUrl() { // Arrange var virtualPathBuilder = new VirtualPathBuilder(); string urlWithoutParams = "/sfLayouts/test.master"; // Act string resultUrl = virtualPathBuilder.AddParams(urlWithoutParams, string.Empty); // Assert Assert.AreEqual(urlWithoutParams, resultUrl, "The URL has been changed."); }
protected string NormalizeVirtualPath(string virtualPath) { if (virtualPath.NullOrEmpty()) { throw new ArgumentNullException("virtualPath"); } virtualPath = new VirtualPathBuilder(Context.Config.RootOperator.Path) .CombineWith(virtualPath) .WithRootOperator() .AddOrKeepExtension(Context.Config.Templates.DefaultExtension); return(virtualPath); }
public void RemoveParams_WithoutParams_PreservesUrl() { //Arrange var vpBuilder = new VirtualPathBuilder(); var urlWithoutParams = "/sfLayouts/test.master"; //Act var resultUrl = vpBuilder.RemoveParams(urlWithoutParams); //Assert Assert.AreEqual(urlWithoutParams, resultUrl, "The URL has been changed."); }
public void AddOrKeepExtensionWorks() { var pb = new VirtualPathBuilder().CombineWith("~/t.cs"); Assert.IsTrue(pb.GetExtension() == "cs"); pb.AddOrKeepExtension("vb"); Assert.IsTrue(pb.GetExtension() == "cs"); pb.Clear().CombineWith("foo"); Assert.IsFalse(pb.HasExtension()); pb.AddOrKeepExtension("vb"); Assert.IsTrue(pb.GetExtension() == "vb"); }
public void RemoveParams_UrlWithParams_RemovesParams() { // Arrange var virtualPathBuilder = new VirtualPathBuilder(); string urlWithParams = "/sfLayouts/test.master#someParam.master"; string expectedUrl = "/sfLayouts/test.master"; // Act string resultUrl = virtualPathBuilder.RemoveParams(urlWithParams); // Assert Assert.AreEqual(expectedUrl, resultUrl, "The parameters are not stripped correctly from the URL."); }
public void AddParams_WithParams_AddsParams() { // Arrange var virtualPathBuilder = new VirtualPathBuilder(); string urlWithParams = "/sfLayouts/test.master#someParam.master"; string url = "/sfLayouts/test.master"; // Act string resultUrl = virtualPathBuilder.AddParams(url, "someParam"); // Assert Assert.AreEqual(urlWithParams, resultUrl, "The parameters are not added correctly from the URL."); }
public void IsRelativePathWorks() { var pb = new VirtualPathBuilder(); Assert.IsFalse(pb.IsRelativePath()); pb.CombineWith("."); Assert.IsTrue(pb.IsRelativePath()); pb.Clear().CombineWith("Foo"); Assert.IsTrue(pb.IsRelativePath()); pb.Normalize(); Assert.IsFalse(pb.IsRelativePath()); Assert.IsTrue(pb.IsAbsolutePath()); }
public void GetVirtualPath_RegisteredWidget_ReturnsVirtualPathForItsAssembly() { var controllerAssembly = typeof(DummyController).Assembly; var vpBuilder = new VirtualPathBuilder(); var expected = vpBuilder.GetVirtualPath(controllerAssembly); using (var factoryReg = new ControllerFactoryRegion <DummyControllerFactory>()) { factoryReg.Factory.ControllerRegistry["Dummy"] = typeof(DummyController); var result = vpBuilder.GetVirtualPath(typeof(DummyController)); Assert.AreEqual(expected, result); } }
public void ClearWorks() { var pb = new VirtualPathBuilder("/Foo"); Assert.AreEqual(string.Empty, pb.ToString()); Assert.AreEqual("/Foo/", pb.ApplicationRoot); pb.CombineWith("Doo"); Assert.AreEqual("Doo", pb.ToString()); Assert.AreEqual("/Foo/Doo", pb.Normalize().ToString()); pb.Clear(); Assert.AreEqual(string.Empty, pb.ToString()); pb.CombineWith("."); Assert.AreEqual("", pb.Normalize().ToString()); }
public void WithRootOperatorWorks() { var pb = new VirtualPathBuilder("/Foo"); var caught = false; try{ pb.WithRootOperator(); } catch (InvalidOperationException) { caught = true; } Assert.IsTrue(caught); Assert.IsTrue(pb.CombineWith("/Foo").WithRootOperator() == "~/"); Assert.IsTrue(pb.Clear().CombineWith("Doo").WithRootOperator() == "~/Doo"); }
private static void MonkeyTest(string appName) { var pb = new VirtualPathBuilder(appName); Assert.AreEqual("", pb.ToString()); Assert.AreEqual((appName + "/").Replace("//", "/"), pb.ApplicationRoot); Assert.AreEqual(pb.Length, 0); Assert.IsTrue(pb == ""); Assert.IsFalse(pb.IsAbsolutePath()); Assert.IsFalse(pb.IsApplicationRoot()); Assert.IsFalse(pb.IsRelativePath()); Assert.IsFalse(pb.HasRootOperator()); Assert.IsFalse(pb.HasExtension()); Assert.IsFalse(pb.HasTrailingSlash()); Assert.IsFalse(pb.IsValidAbsolutePath()); }
public void IsApplicationRootWorks() { var pb = new VirtualPathBuilder(); Assert.IsFalse(pb.IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("/").Normalize().IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("~").Normalize().IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("~/").Normalize().IsApplicationRoot()); pb = new VirtualPathBuilder("/Foo"); Assert.IsFalse(pb.IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("/Foo").Normalize().IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("/Foo/").Normalize().IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("~").Normalize().IsApplicationRoot()); Assert.IsTrue(pb.Clear().CombineWith("~/").Normalize().IsApplicationRoot()); }
public void GetVirtualPath_RegisteredWidget_ReturnsVirtualPathForItsAssembly() { // Arrange Assembly controllerAssembly = typeof(DummyController).Assembly; var virtualPathBuilder = new VirtualPathBuilder(); string expected = virtualPathBuilder.GetVirtualPath(controllerAssembly); using (var factoryReg = new ControllerFactoryRegion <DummyControllerFactory>()) { factoryReg.Factory.ControllerRegistry["Dummy"] = typeof(DummyController); // Act string result = virtualPathBuilder.GetVirtualPath(typeof(DummyController)); // Assert Assert.AreEqual(expected, result, "The virtual path is not retrieved properly."); } }
/// <summary> /// Registers an in-memory template bound to a virtual path. /// </summary> /// <param name="virtualPath">The virtual path.</param> /// <param name="content">The content.</param> /// <returns></returns> public RazorMachine RegisterTemplate(string virtualPath, string content) { if (virtualPath.NullOrEmpty()) { throw new ArgumentNullException("virtualPath"); } virtualPath = new VirtualPathBuilder(Context.Config.RootOperator.Path) .CombineWith(virtualPath) .WithRootOperator() .AddOrKeepExtension(Context.Config.Templates.DefaultExtension); var provider = Context.TemplateFactory.ContentManager.TryGetContentProvider <MemoryContentProvider>(); if (provider == null) { Context.TemplateFactory.ContentManager.AddContentProvider(provider = new MemoryContentProvider()); } provider.RegisterTemplate(virtualPath, content); return(this); }
public void ResolveRootOperatorWorks() { var pb = new VirtualPathBuilder(); Assert.IsTrue(pb.CombineWith("Foo").ResolveRootOperator().ToString() == "/Foo"); Assert.IsTrue(pb.Clear().CombineWith("~/").ResolveRootOperator().ToString() == "/"); Assert.IsTrue(pb.Clear().CombineWith("~").ResolveRootOperator().ToString() == "/"); pb = new VirtualPathBuilder("/Foo"); Assert.IsTrue(pb.CombineWith("~/Doo").ResolveRootOperator().ToString() == "/Foo/Doo"); var caught = false; try{ pb.Clear().CombineWith("/Oops").ResolveRootOperator(); } catch (InvalidOperationException) { caught = true; } Assert.IsTrue(caught); }
public void GetLastPartWorks() { var pb = new VirtualPathBuilder("/foo").CombineWith("~/app/path/"); Assert.IsTrue(pb.GetLastPart() == "path"); Assert.IsTrue(pb.GetLastPart(true) == "path"); Assert.IsTrue(pb.GetLastPart() == "app"); Assert.IsTrue(pb.GetLastPart(true) == "app"); Assert.IsTrue(pb.GetLastPart() == "~/"); Assert.IsTrue(pb.GetLastPart(true) == "~/"); Assert.IsTrue(pb.GetLastPart(true) == ""); pb = new VirtualPathBuilder("/foo").CombineWith("~/app/path/").Normalize(); Assert.IsTrue(pb.GetLastPart() == "path"); Assert.IsTrue(pb.GetLastPart(true) == "path"); Assert.IsTrue(pb.GetLastPart() == "app"); Assert.IsTrue(pb.GetLastPart(true) == "app"); Assert.IsTrue(pb.GetLastPart() == "foo"); Assert.IsTrue(pb.GetLastPart(true) == "foo"); Assert.IsTrue(pb.GetLastPart(true) == "/"); }