public void OnProvidersExecuting_ValidatesChecksum_AcceptsPageWhenContentMatches() { // Arrange Provider.Descriptors.AddRange(new[] { CreateVersion_2_1_Descriptor("/Pages/About.cshtml", metadata: new object[] { new RazorSourceChecksumAttribute("SHA1", GetChecksum("some content"), "/Pages/About.cshtml"), new RazorSourceChecksumAttribute("SHA1", GetChecksum("some import"), "/Pages/_ViewImports.cshtml"), }), }); FileProvider.AddFile("/Pages/About.cshtml", "some content"); FileProvider.AddFile("/Pages/_ViewImports.cshtml", "some import"); var context = new PageRouteModelProviderContext(); // Act Provider.OnProvidersExecuting(context); // Assert Assert.Collection( context.RouteModels, result => Assert.Equal("/Pages/About.cshtml", result.RelativePath)); }
public void NestedIncludeWithInnerEscape() { // Given FileProvider.AddFile( "/TestFiles/Input/test-outer.txt", "3 \\^\"test-a.txt\" 4"); IDocument[] documents = { Context.GetDocument( new FilePath("/TestFiles/Input/test.txt"), Context.GetContentStream("1 ^\"test-outer.txt\" 2")) }; Include include = new Include().WithRecursion(false); // When List <IDocument> results = include.Execute(documents, Context).ToList(); // Then Assert.AreEqual("1 3 \\^\"test-a.txt\" 4 2", results.Single().Content); }
public void NestedInclude() { // Given FileProvider.AddFile( "/TestFiles/Input/test-outer.txt", "3 ^\"test-a.txt\" 4"); IDocument[] documents = { Context.GetDocument( new FilePath("/TestFiles/Input/test.txt"), "1 ^\"test-outer.txt\" 2") }; Include include = new Include(); // When List <IDocument> results = include.Execute(documents, Context).ToList(); // Then Assert.AreEqual("1 3 aaa 4 2", results.Single().Content); }
public void OnProvidersExecuting_ValidatesChecksum_RejectsPageWhenContentDoesntMatch() { // Arrange Provider.Descriptors.AddRange(new[] { CreateVersion_2_1_Descriptor("/Pages/About.cshtml", metadata: new object[] { new RazorSourceChecksumAttribute("SHA1", GetChecksum("some content"), "/Pages/About.cshtml"), }), }); FileProvider.AddFile("/Pages/About.cshtml", "some other content"); var context = new PageRouteModelProviderContext(); // Act Provider.OnProvidersExecuting(context); // Assert Assert.Empty(context.RouteModels); }