Exemple #1
0
        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));
        }
Exemple #2
0
            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);
            }
Exemple #3
0
            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);
            }
Exemple #4
0
        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);
        }