From ed3aa4d9186104de4266486cf13a01da545a279b Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 13 Apr 2017 07:55:30 -0700 Subject: [PATCH] Adding functional tests for @namespace --- samples/MvcSandbox/Pages/_ViewImports.cshtml | 2 +- .../RazorPagesNamespaceTest.cs | 53 +++++++++++++++++++ .../RazorPagesWebSite/DefaultNamespace.cshtml | 2 + .../Namespace/Nested/Folder/Index.cshtml | 2 + .../Namespace/Nested/Override/Index.cshtml | 3 ++ .../Pages/Namespace/_ViewImports.cshtml | 1 + .../Pages/_ViewImports.cshtml | 1 + 7 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 test/Microsoft.AspNetCore.Mvc.FunctionalTests/RazorPagesNamespaceTest.cs create mode 100644 test/WebSites/RazorPagesWebSite/DefaultNamespace.cshtml create mode 100644 test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Folder/Index.cshtml create mode 100644 test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Override/Index.cshtml create mode 100644 test/WebSites/RazorPagesWebSite/Pages/Namespace/_ViewImports.cshtml create mode 100644 test/WebSites/RazorPagesWebSite/Pages/_ViewImports.cshtml diff --git a/samples/MvcSandbox/Pages/_ViewImports.cshtml b/samples/MvcSandbox/Pages/_ViewImports.cshtml index 96ba4523d1..f4b9eaae4f 100644 --- a/samples/MvcSandbox/Pages/_ViewImports.cshtml +++ b/samples/MvcSandbox/Pages/_ViewImports.cshtml @@ -1,2 +1,2 @@ -@using MvcSandbox +@namespace MvcSandbox.Pages @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RazorPagesNamespaceTest.cs b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RazorPagesNamespaceTest.cs new file mode 100644 index 0000000000..e1feea929f --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RazorPagesNamespaceTest.cs @@ -0,0 +1,53 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Mvc.FunctionalTests +{ + public class RazorPagesNamespaceTest : IClassFixture> + { + public RazorPagesNamespaceTest(MvcTestFixture fixture) + { + Client = fixture.Client; + } + + public HttpClient Client { get; } + + [Fact] + public async Task Page_DefaultNamespace_IfUnset() + { + // Arrange & Act + var content = await Client.GetStringAsync("http://localhost/DefaultNamespace"); + + // Assert + Assert.Equal("AspNetCore", content.Trim()); + } + + [Fact] + public async Task Page_ImportedNamespace_UsedFromViewImports() + { + // Arrange & Act + var content = await Client.GetStringAsync("http://localhost/Pages/Namespace/Nested/Folder"); + + // Assert + Assert.Equal("CustomNamespace.Nested.Folder", content.Trim()); + } + + [Fact] + public async Task Page_OverrideNamespace_SetByPage() + { + // Arrange & Act + var content = await Client.GetStringAsync("http://localhost/Pages/Namespace/Nested/Override"); + + // Assert + Assert.Equal("Override", content.Trim()); + } + } +} diff --git a/test/WebSites/RazorPagesWebSite/DefaultNamespace.cshtml b/test/WebSites/RazorPagesWebSite/DefaultNamespace.cshtml new file mode 100644 index 0000000000..047d31292b --- /dev/null +++ b/test/WebSites/RazorPagesWebSite/DefaultNamespace.cshtml @@ -0,0 +1,2 @@ +@page +@(GetType().Namespace) \ No newline at end of file diff --git a/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Folder/Index.cshtml b/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Folder/Index.cshtml new file mode 100644 index 0000000000..047d31292b --- /dev/null +++ b/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Folder/Index.cshtml @@ -0,0 +1,2 @@ +@page +@(GetType().Namespace) \ No newline at end of file diff --git a/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Override/Index.cshtml b/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Override/Index.cshtml new file mode 100644 index 0000000000..d09ea87809 --- /dev/null +++ b/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Override/Index.cshtml @@ -0,0 +1,3 @@ +@page +@namespace Override +@(GetType().Namespace) \ No newline at end of file diff --git a/test/WebSites/RazorPagesWebSite/Pages/Namespace/_ViewImports.cshtml b/test/WebSites/RazorPagesWebSite/Pages/Namespace/_ViewImports.cshtml new file mode 100644 index 0000000000..436ecd54cd --- /dev/null +++ b/test/WebSites/RazorPagesWebSite/Pages/Namespace/_ViewImports.cshtml @@ -0,0 +1 @@ +@namespace CustomNamespace \ No newline at end of file diff --git a/test/WebSites/RazorPagesWebSite/Pages/_ViewImports.cshtml b/test/WebSites/RazorPagesWebSite/Pages/_ViewImports.cshtml new file mode 100644 index 0000000000..bb6dc2d8fc --- /dev/null +++ b/test/WebSites/RazorPagesWebSite/Pages/_ViewImports.cshtml @@ -0,0 +1 @@ +@namespace RazorPagesWebSite.Pages \ No newline at end of file