Пример #1
0
        public void TryGetPageDirective_NoQuotesAroundPath_LogsWarning()
        {
            // Arrange
            var expected    = "The page directive at 'Test.cshtml' is malformed. Please fix the following issues: The 'page' directive expects a string surrounded by double quotes.";
            var sink        = new TestSink();
            var logger      = new TestLogger("logger", sink, enabled: true);
            var projectItem = new TestRazorProjectItem(@"@page Some/Path/{value}");

            // Act & Assert
            Assert.True(PageDirectiveFeature.TryGetPageDirective(logger, projectItem, out var template));
            Assert.Null(template);
            var logs = sink.Writes.Select(w => w.State.ToString().Trim()).ToList();

            Assert.Collection(sink.Writes,
                              log =>
            {
                Assert.Equal(LogLevel.Warning, log.LogLevel);
                Assert.Equal(expected, log.State.ToString());
            });
        }