parent
66aea52542
commit
d080dc8f71
|
|
@ -7,13 +7,13 @@ using Xunit;
|
|||
|
||||
namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||
{
|
||||
public class TagHelpersExecutionContextTest
|
||||
public class TagHelperExecutionContextTest
|
||||
{
|
||||
[Fact]
|
||||
public void AddHtmlAttribute_MaintainsHTMLAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var expectedAttributes = new Dictionary<string, string>
|
||||
{
|
||||
{ "class", "btn" },
|
||||
|
|
@ -29,10 +29,10 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void TagHelpersExecutionContext_MaintainsAllAttributes()
|
||||
public void TagHelperExecutionContext_MaintainsAllAttributes()
|
||||
{
|
||||
// Arrange
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var expectedAttributes = new Dictionary<string, object>
|
||||
{
|
||||
{ "class", "btn" },
|
||||
|
|
@ -53,7 +53,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
public void Add_MaintainsTagHelpers()
|
||||
{
|
||||
// Arrange
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var tagHelper = new PTagHelper();
|
||||
|
||||
// Act
|
||||
|
|
@ -68,7 +68,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
public void Add_MaintainsMultipleTagHelpers()
|
||||
{
|
||||
// Arrange
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var tagHelper1 = new PTagHelper();
|
||||
var tagHelper2 = new PTagHelper();
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
{
|
||||
// Arrange
|
||||
var runner = new TagHelperRunner();
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var executableTagHelper1 = new ExecutableTagHelper();
|
||||
var executableTagHelper2 = new ExecutableTagHelper();
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
{
|
||||
// Arrange
|
||||
var runner = new TagHelperRunner();
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var executableTagHelper = new ExecutableTagHelper();
|
||||
|
||||
// Act
|
||||
|
|
@ -54,7 +54,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
{
|
||||
// Arrange
|
||||
var runner = new TagHelperRunner();
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var tagHelper = new TagHelperContextTouchingTagHelper();
|
||||
|
||||
// Act
|
||||
|
|
@ -71,7 +71,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
{
|
||||
// Arrange
|
||||
var runner = new TagHelperRunner();
|
||||
var executionContext = new TagHelpersExecutionContext("p");
|
||||
var executionContext = new TagHelperExecutionContext("p");
|
||||
var tagHelper = new ExecutableTagHelper();
|
||||
var contentWriter = new StringWriter(new StringBuilder("Hello World"));
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,91 @@
|
|||
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.AspNet.Razor.Runtime.Test.TagHelpers
|
||||
{
|
||||
public class TagHelperScopeManagerTest
|
||||
{
|
||||
[Fact]
|
||||
public void Begin_CreatesContextWithAppropriateTagName()
|
||||
{
|
||||
// Arrange
|
||||
var scopeManager = new TagHelperScopeManager();
|
||||
|
||||
// Act
|
||||
var executionContext = scopeManager.Begin("p");
|
||||
|
||||
// Assert
|
||||
Assert.Equal("p", executionContext.TagName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Begin_CanNest()
|
||||
{
|
||||
// Arrange
|
||||
var scopeManager = new TagHelperScopeManager();
|
||||
|
||||
// Act
|
||||
var executionContext = scopeManager.Begin("p");
|
||||
executionContext = scopeManager.Begin("div");
|
||||
|
||||
// Assert
|
||||
Assert.Equal("div", executionContext.TagName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void End_ReturnsParentExecutionContext()
|
||||
{
|
||||
// Arrange
|
||||
var scopeManager = new TagHelperScopeManager();
|
||||
|
||||
// Act
|
||||
var executionContext = scopeManager.Begin("p");
|
||||
executionContext = scopeManager.Begin("div");
|
||||
executionContext = scopeManager.End();
|
||||
|
||||
// Assert
|
||||
Assert.Equal("p", executionContext.TagName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void End_ReturnsNullIfNoNestedContext()
|
||||
{
|
||||
// Arrange
|
||||
var scopeManager = new TagHelperScopeManager();
|
||||
|
||||
// Act
|
||||
var executionContext = scopeManager.Begin("p");
|
||||
executionContext = scopeManager.Begin("div");
|
||||
executionContext = scopeManager.End();
|
||||
executionContext = scopeManager.End();
|
||||
|
||||
// Assert
|
||||
Assert.Null(executionContext);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void End_ThrowsIfNoScope()
|
||||
{
|
||||
// Arrange
|
||||
var scopeManager = new TagHelperScopeManager();
|
||||
var expectedError = string.Format(
|
||||
"Must call '{2}.{1}' before calling '{2}.{0}'.",
|
||||
nameof(TagHelperScopeManager.End),
|
||||
nameof(TagHelperScopeManager.Begin),
|
||||
nameof(TagHelperScopeManager));
|
||||
|
||||
// Act & Assert
|
||||
var ex = Assert.Throws<InvalidOperationException>(() =>
|
||||
{
|
||||
scopeManager.End();
|
||||
});
|
||||
|
||||
Assert.Equal(expectedError, ex.Message);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue