Make tests public - xUnit requires this

This commit is contained in:
Ryan Nowak 2016-10-27 09:21:10 -07:00 committed by N. Taylor Mullen
parent d06e5b6002
commit 49d3574677
49 changed files with 153 additions and 137 deletions

View File

@ -7,6 +7,7 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyMetadata("Serviceable", "True")] [assembly: AssemblyMetadata("Serviceable", "True")]
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Razor.Evolution.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Razor.Evolution.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
[assembly: NeutralResourcesLanguage("en-us")] [assembly: NeutralResourcesLanguage("en-us")]
[assembly: AssemblyCompany("Microsoft Corporation.")] [assembly: AssemblyCompany("Microsoft Corporation.")]
[assembly: AssemblyCopyright("© Microsoft Corporation. All rights reserved.")] [assembly: AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class BlockTest public class BlockTest
{ {
[Fact] [Fact]
public void ConstructorWithBlockBuilderSetsParent() public void ConstructorWithBlockBuilderSetsParent()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpAutoCompleteTest : CsHtmlCodeParserTestBase public class CSharpAutoCompleteTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void FunctionsDirectiveAutoCompleteAtEOF() public void FunctionsDirectiveAutoCompleteAtEOF()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpBlockTest : CsHtmlCodeParserTestBase public class CSharpBlockTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void ParseBlock_NestedCodeBlockWithCSharpAt() public void ParseBlock_NestedCodeBlockWithCSharpAt()
@ -1113,10 +1113,10 @@ catch(bar) { baz(); }", BlockType.Statement, SpanKind.Code);
[Theory] [Theory]
[MemberData(nameof(BlockWithEscapedTransitionData))] [MemberData(nameof(BlockWithEscapedTransitionData))]
public void ParseBlock_WithDoubleTransition_DoesNotThrow(string input, Block expected) public void ParseBlock_WithDoubleTransition_DoesNotThrow(string input, object expected)
{ {
// Act & Assert // Act & Assert
ParseBlockTest(input, expected); ParseBlockTest(input, (Block)expected);
} }
[Fact] [Fact]

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpDirectivesTest : CsHtmlCodeParserTestBase public class CSharpDirectivesTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void TagHelperPrefixDirective_NoValueSucceeds() public void TagHelperPrefixDirective_NoValueSucceeds()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpErrorTest : CsHtmlCodeParserTestBase public class CSharpErrorTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void ParseBlockHandlesQuotesAfterTransition() public void ParseBlockHandlesQuotesAfterTransition()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpExplicitExpressionTest : CsHtmlCodeParserTestBase public class CSharpExplicitExpressionTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void ParseBlockShouldOutputZeroLengthCodeSpanIfExplicitExpressionIsEmpty() public void ParseBlockShouldOutputZeroLengthCodeSpanIfExplicitExpressionIsEmpty()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpImplicitExpressionTest : CsHtmlCodeParserTestBase public class CSharpImplicitExpressionTest : CsHtmlCodeParserTestBase
{ {
private const string TestExtraKeyword = "model"; private const string TestExtraKeyword = "model";
@ -60,15 +60,15 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket( public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket(
string implicitExpresison, string implicitExpresison,
string expectedImplicitExpression, string expectedImplicitExpression,
AcceptedCharacters acceptedCharacters, object acceptedCharacters,
RazorError[] expectedErrors) object expectedErrors)
{ {
// Act & Assert // Act & Assert
ImplicitExpressionTest( ImplicitExpressionTest(
implicitExpresison, implicitExpresison,
expectedImplicitExpression, expectedImplicitExpression,
acceptedCharacters, (AcceptedCharacters)acceptedCharacters,
expectedErrors); (RazorError[])expectedErrors);
} }
public static TheoryData NullConditionalOperatorData_Dot public static TheoryData NullConditionalOperatorData_Dot

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpNestedStatementsTest : CsHtmlCodeParserTestBase public class CSharpNestedStatementsTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void NestedSimpleStatement() public void NestedSimpleStatement()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpRazorCommentsTest : CsHtmlMarkupParserTestBase public class CSharpRazorCommentsTest : CsHtmlMarkupParserTestBase
{ {
[Fact] [Fact]
public void UnterminatedRazorComment() public void UnterminatedRazorComment()

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpReservedWordsTest : CsHtmlCodeParserTestBase public class CSharpReservedWordsTest : CsHtmlCodeParserTestBase
{ {
[Theory] [Theory]
[InlineData("namespace")] [InlineData("namespace")]

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpSectionTest : CsHtmlMarkupParserTestBase public class CSharpSectionTest : CsHtmlMarkupParserTestBase
{ {
[Fact] [Fact]
public void ParseSectionBlockCapturesNewlineImmediatelyFollowing() public void ParseSectionBlockCapturesNewlineImmediatelyFollowing()
@ -580,9 +580,9 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
[Theory] [Theory]
[MemberData(nameof(SectionWithEscapedTransitionData))] [MemberData(nameof(SectionWithEscapedTransitionData))]
public void ParseSectionBlock_WithDoubleTransition_DoesNotThrow(string input, Block expected) public void ParseSectionBlock_WithDoubleTransition_DoesNotThrow(string input, object expected)
{ {
ParseDocumentTest(input, expected); ParseDocumentTest(input, (Block)expected);
} }
} }
} }

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpSpecialBlockTest : CsHtmlCodeParserTestBase public class CSharpSpecialBlockTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void ParseInheritsStatementMarksInheritsSpanAsCanGrowIfMissingTrailingSpace() public void ParseInheritsStatementMarksInheritsSpanAsCanGrowIfMissingTrailingSpace()

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
// * Tests for various types of nested statements // * Tests for various types of nested statements
// * Comment tests // * Comment tests
internal class CSharpStatementTest : CsHtmlCodeParserTestBase public class CSharpStatementTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void ForStatement() public void ForStatement()
@ -235,10 +235,10 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
[Theory] [Theory]
[MemberData(nameof(ExceptionFilterData))] [MemberData(nameof(ExceptionFilterData))]
public void ExceptionFilters(string document, StatementBlock expectedStatement) public void ExceptionFilters(string document, object expectedStatement)
{ {
// Act & Assert // Act & Assert
ParseBlockTest(document, expectedStatement); ParseBlockTest(document, (StatementBlock)expectedStatement);
} }
public static TheoryData ExceptionFilterErrorData public static TheoryData ExceptionFilterErrorData
@ -289,11 +289,11 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
[MemberData(nameof(ExceptionFilterErrorData))] [MemberData(nameof(ExceptionFilterErrorData))]
public void ExceptionFilterErrors( public void ExceptionFilterErrors(
string document, string document,
StatementBlock expectedStatement, object expectedStatement,
RazorError[] expectedErrors) object expectedErrors)
{ {
// Act & Assert // Act & Assert
ParseBlockTest(document, expectedStatement, expectedErrors); ParseBlockTest(document, (StatementBlock)expectedStatement, (RazorError[])expectedErrors);
} }
[Fact] [Fact]
@ -349,10 +349,10 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
[Theory] [Theory]
[MemberData(nameof(StaticUsingData))] [MemberData(nameof(StaticUsingData))]
public void StaticUsingImport(string document, DirectiveBlock expectedResult) public void StaticUsingImport(string document, object expectedResult)
{ {
// Act & Assert // Act & Assert
ParseBlockTest(document, expectedResult); ParseBlockTest(document, (DirectiveBlock)expectedResult);
} }
[Fact] [Fact]

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpTemplateTest : CsHtmlCodeParserTestBase public class CSharpTemplateTest : CsHtmlCodeParserTestBase
{ {
private const string TestTemplateCode = " @<p>Foo #@item</p>"; private const string TestTemplateCode = " @<p>Foo #@item</p>";

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpToMarkupSwitchTest : CsHtmlCodeParserTestBase public class CSharpToMarkupSwitchTest : CsHtmlCodeParserTestBase
{ {
[Fact] [Fact]
public void SingleAngleBracketDoesNotCauseSwitchIfOuterBlockIsTerminated() public void SingleAngleBracketDoesNotCauseSwitchIfOuterBlockIsTerminated()

View File

@ -5,8 +5,10 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpTokenizerCommentTest : CSharpTokenizerTestBase public class CSharpTokenizerCommentTest : CSharpTokenizerTestBase
{ {
private new CSharpSymbol IgnoreRemaining => (CSharpSymbol)base.IgnoreRemaining;
[Fact] [Fact]
public void Next_Ignores_Star_At_EOF_In_RazorComment() public void Next_Ignores_Star_At_EOF_In_RazorComment()
{ {

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpTokenizerIdentifierTest : CSharpTokenizerTestBase public class CSharpTokenizerIdentifierTest : CSharpTokenizerTestBase
{ {
[Fact] [Fact]
public void Simple_Identifier_Is_Recognized() public void Simple_Identifier_Is_Recognized()

View File

@ -6,8 +6,10 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpTokenizerLiteralTest : CSharpTokenizerTestBase public class CSharpTokenizerLiteralTest : CSharpTokenizerTestBase
{ {
private new CSharpSymbol IgnoreRemaining => (CSharpSymbol)base.IgnoreRemaining;
[Fact] [Fact]
public void Simple_Integer_Literal_Is_Recognized() public void Simple_Integer_Literal_Is_Recognized()
{ {

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpTokenizerOperatorsTest : CSharpTokenizerTestBase public class CSharpTokenizerOperatorsTest : CSharpTokenizerTestBase
{ {
[Fact] [Fact]
public void LeftBrace_Is_Recognized() public void LeftBrace_Is_Recognized()

View File

@ -5,8 +5,10 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpTokenizerTest : CSharpTokenizerTestBase public class CSharpTokenizerTest : CSharpTokenizerTestBase
{ {
private new CSharpSymbol IgnoreRemaining => (CSharpSymbol)base.IgnoreRemaining;
[Fact] [Fact]
public void Next_Returns_Null_When_EOF_Reached() public void Next_Returns_Null_When_EOF_Reached()
{ {

View File

@ -3,23 +3,28 @@
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class CSharpTokenizerTestBase : TokenizerTestBase<CSharpSymbol, CSharpSymbolType> public abstract class CSharpTokenizerTestBase : TokenizerTestBase
{ {
private static CSharpSymbol _ignoreRemaining = new CSharpSymbol(0, 0, 0, string.Empty, CSharpSymbolType.Unknown); private static CSharpSymbol _ignoreRemaining = new CSharpSymbol(0, 0, 0, string.Empty, CSharpSymbolType.Unknown);
protected override CSharpSymbol IgnoreRemaining internal override object IgnoreRemaining
{ {
get { return _ignoreRemaining; } get { return _ignoreRemaining; }
} }
protected override Tokenizer<CSharpSymbol, CSharpSymbolType> CreateTokenizer(ITextDocument source) internal override object CreateTokenizer(ITextDocument source)
{ {
return new CSharpTokenizer(source); return new CSharpTokenizer(source);
} }
protected void TestSingleToken(string text, CSharpSymbolType expectedSymbolType) internal void TestSingleToken(string text, CSharpSymbolType expectedSymbolType)
{ {
TestTokenizer(text, new CSharpSymbol(0, 0, 0, text, expectedSymbolType)); TestTokenizer(text, new CSharpSymbol(0, 0, 0, text, expectedSymbolType));
} }
internal void TestTokenizer(string input, params CSharpSymbol[] expectedSymbols)
{
base.TestTokenizer<CSharpSymbol, CSharpSymbolType>(input, expectedSymbols);
}
} }
} }

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpVerbatimBlockTest : CsHtmlCodeParserTestBase public class CSharpVerbatimBlockTest : CsHtmlCodeParserTestBase
{ {
private const string TestExtraKeyword = "model"; private const string TestExtraKeyword = "model";

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class CSharpWhitespaceHandlingTest : CsHtmlMarkupParserTestBase public class CSharpWhitespaceHandlingTest : CsHtmlMarkupParserTestBase
{ {
[Fact] [Fact]
public void StatementBlockDoesNotAcceptTrailingNewlineIfNewlinesAreSignificantToAncestor() public void StatementBlockDoesNotAcceptTrailingNewlineIfNewlinesAreSignificantToAncestor()

View File

@ -5,62 +5,62 @@ using System.Collections.Generic;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class CodeParserTestBase : ParserTestBase public abstract class CodeParserTestBase : ParserTestBase
{ {
protected abstract ISet<string> KeywordSet { get; } internal abstract ISet<string> KeywordSet { get; }
protected override RazorSyntaxTree ParseBlock(string document, bool designTime) internal override RazorSyntaxTree ParseBlock(string document, bool designTime)
{ {
return ParseCodeBlock(document, designTime); return ParseCodeBlock(document, designTime);
} }
protected void ImplicitExpressionTest(string input, params RazorError[] errors) internal void ImplicitExpressionTest(string input, params RazorError[] errors)
{ {
ImplicitExpressionTest(input, AcceptedCharacters.NonWhiteSpace, errors); ImplicitExpressionTest(input, AcceptedCharacters.NonWhiteSpace, errors);
} }
protected void ImplicitExpressionTest(string input, AcceptedCharacters acceptedCharacters, params RazorError[] errors) internal void ImplicitExpressionTest(string input, AcceptedCharacters acceptedCharacters, params RazorError[] errors)
{ {
ImplicitExpressionTest(input, input, acceptedCharacters, errors); ImplicitExpressionTest(input, input, acceptedCharacters, errors);
} }
protected void ImplicitExpressionTest(string input, string expected, params RazorError[] errors) internal void ImplicitExpressionTest(string input, string expected, params RazorError[] errors)
{ {
ImplicitExpressionTest(input, expected, AcceptedCharacters.NonWhiteSpace, errors); ImplicitExpressionTest(input, expected, AcceptedCharacters.NonWhiteSpace, errors);
} }
protected override void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any) internal override void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any)
{ {
SingleSpanBlockTest(document, blockType, spanType, acceptedCharacters, expectedError: null); SingleSpanBlockTest(document, blockType, spanType, acceptedCharacters, expectedError: null);
} }
protected override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any) internal override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any)
{ {
SingleSpanBlockTest(document, spanContent, blockType, spanType, acceptedCharacters, expectedErrors: null); SingleSpanBlockTest(document, spanContent, blockType, spanType, acceptedCharacters, expectedErrors: null);
} }
protected override void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, params RazorError[] expectedError) internal override void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, params RazorError[] expectedError)
{ {
SingleSpanBlockTest(document, document, blockType, spanType, expectedError); SingleSpanBlockTest(document, document, blockType, spanType, expectedError);
} }
protected override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, params RazorError[] expectedErrors) internal override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, params RazorError[] expectedErrors)
{ {
SingleSpanBlockTest(document, spanContent, blockType, spanType, AcceptedCharacters.Any, expectedErrors ?? new RazorError[0]); SingleSpanBlockTest(document, spanContent, blockType, spanType, AcceptedCharacters.Any, expectedErrors ?? new RazorError[0]);
} }
protected override void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedError) internal override void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedError)
{ {
SingleSpanBlockTest(document, document, blockType, spanType, acceptedCharacters, expectedError); SingleSpanBlockTest(document, document, blockType, spanType, acceptedCharacters, expectedError);
} }
protected override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors) internal override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors)
{ {
var b = CreateSimpleBlockAndSpan(spanContent, blockType, spanType, acceptedCharacters); var b = CreateSimpleBlockAndSpan(spanContent, blockType, spanType, acceptedCharacters);
ParseBlockTest(document, b, expectedErrors ?? new RazorError[0]); ParseBlockTest(document, b, expectedErrors ?? new RazorError[0]);
} }
protected void ImplicitExpressionTest(string input, string expected, AcceptedCharacters acceptedCharacters, params RazorError[] errors) internal void ImplicitExpressionTest(string input, string expected, AcceptedCharacters acceptedCharacters, params RazorError[] errors)
{ {
var factory = CreateSpanFactory(); var factory = CreateSpanFactory();
ParseBlockTest(SyntaxConstants.TransitionString + input, ParseBlockTest(SyntaxConstants.TransitionString + input,

View File

@ -5,14 +5,14 @@ using System.Collections.Generic;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class CsHtmlCodeParserTestBase : CodeParserTestBase public abstract class CsHtmlCodeParserTestBase : CodeParserTestBase
{ {
protected override ISet<string> KeywordSet internal override ISet<string> KeywordSet
{ {
get { return CSharpCodeParser.DefaultKeywords; } get { return CSharpCodeParser.DefaultKeywords; }
} }
protected override BlockFactory CreateBlockFactory() internal override BlockFactory CreateBlockFactory()
{ {
return new BlockFactory(Factory ?? CreateSpanFactory()); return new BlockFactory(Factory ?? CreateSpanFactory());
} }

View File

@ -5,14 +5,14 @@ using System.Collections.Generic;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class CsHtmlMarkupParserTestBase : MarkupParserTestBase public abstract class CsHtmlMarkupParserTestBase : MarkupParserTestBase
{ {
protected override ISet<string> KeywordSet internal override ISet<string> KeywordSet
{ {
get { return CSharpCodeParser.DefaultKeywords; } get { return CSharpCodeParser.DefaultKeywords; }
} }
protected override BlockFactory CreateBlockFactory() internal override BlockFactory CreateBlockFactory()
{ {
return new BlockFactory(Factory ?? CreateSpanFactory()); return new BlockFactory(Factory ?? CreateSpanFactory());
} }

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class DisposableActionTest public class DisposableActionTest
{ {
[Fact] [Fact]
public void ActionIsExecutedOnDispose() public void ActionIsExecutedOnDispose()

View File

@ -6,7 +6,7 @@ using System.Text;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class ErrorCollector public class ErrorCollector
{ {
private StringBuilder _message = new StringBuilder(); private StringBuilder _message = new StringBuilder();
private int _indent = 0; private int _indent = 0;

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class HtmlBlockTest : CsHtmlMarkupParserTestBase public class HtmlBlockTest : CsHtmlMarkupParserTestBase
{ {
[Fact] [Fact]
public void ParseBlockHandlesOpenAngleAtEof() public void ParseBlockHandlesOpenAngleAtEof()
@ -388,12 +388,11 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
[Theory] [Theory]
[MemberData(nameof(HtmlCommentSupportsMultipleDashesData))] [MemberData(nameof(HtmlCommentSupportsMultipleDashesData))]
public void HtmlCommentSupportsMultipleDashes(string documentContent, MarkupBlock expectedOutput) public void HtmlCommentSupportsMultipleDashes(string documentContent, object expectedOutput)
{ {
ParseBlockTest(documentContent, expectedOutput); ParseBlockTest(documentContent, (MarkupBlock)expectedOutput);
} }
[Fact] [Fact]
public void ParseBlockProperlyBalancesCommentStartAndEndTags() public void ParseBlockProperlyBalancesCommentStartAndEndTags()
{ {

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class HtmlDocumentTest : CsHtmlMarkupParserTestBase public class HtmlDocumentTest : CsHtmlMarkupParserTestBase
{ {
private static readonly TestFile Nested1000 = TestFile.Create("TestFiles/nested-1000.html"); private static readonly TestFile Nested1000 = TestFile.Create("TestFiles/nested-1000.html");
@ -744,10 +744,10 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
[Theory] [Theory]
[MemberData(nameof(BlockWithEscapedTransitionData))] [MemberData(nameof(BlockWithEscapedTransitionData))]
public void ParseBlock_WithDoubleTransition_DoesNotThrow(string input, Block expected) public void ParseBlock_WithDoubleTransition_DoesNotThrow(string input, object expected)
{ {
// Act & Assert // Act & Assert
ParseDocumentTest(input, expected); ParseDocumentTest(input, (Block)expected);
} }
[Fact] [Fact]

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class HtmlErrorTest : CsHtmlMarkupParserTestBase public class HtmlErrorTest : CsHtmlMarkupParserTestBase
{ {
[Fact] [Fact]
public void ParseBlockAllowsInvalidTagNamesAsLongAsParserCanIdentifyEndTag() public void ParseBlockAllowsInvalidTagNamesAsLongAsParserCanIdentifyEndTag()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class HtmlTagsTest : CsHtmlMarkupParserTestBase public class HtmlTagsTest : CsHtmlMarkupParserTestBase
{ {
public static IEnumerable<string[]> VoidElementNames public static IEnumerable<string[]> VoidElementNames
{ {

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class HtmlToCodeSwitchTest : CsHtmlMarkupParserTestBase public class HtmlToCodeSwitchTest : CsHtmlMarkupParserTestBase
{ {
[Fact] [Fact]
public void ParseBlockSwitchesWhenCharacterBeforeSwapIsNonAlphanumeric() public void ParseBlockSwitchesWhenCharacterBeforeSwapIsNonAlphanumeric()

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class HtmlTokenizerTest : HtmlTokenizerTestBase public class HtmlTokenizerTest : HtmlTokenizerTestBase
{ {
[Fact] [Fact]
public void Next_Returns_Null_When_EOF_Reached() public void Next_Returns_Null_When_EOF_Reached()

View File

@ -3,23 +3,28 @@
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class HtmlTokenizerTestBase : TokenizerTestBase<HtmlSymbol, HtmlSymbolType> public abstract class HtmlTokenizerTestBase : TokenizerTestBase
{ {
private static HtmlSymbol _ignoreRemaining = new HtmlSymbol(0, 0, 0, string.Empty, HtmlSymbolType.Unknown); private static HtmlSymbol _ignoreRemaining = new HtmlSymbol(0, 0, 0, string.Empty, HtmlSymbolType.Unknown);
protected override HtmlSymbol IgnoreRemaining internal override object IgnoreRemaining
{ {
get { return _ignoreRemaining; } get { return _ignoreRemaining; }
} }
protected override Tokenizer<HtmlSymbol, HtmlSymbolType> CreateTokenizer(ITextDocument source) internal override object CreateTokenizer(ITextDocument source)
{ {
return new HtmlTokenizer(source); return new HtmlTokenizer(source);
} }
protected void TestSingleToken(string text, HtmlSymbolType expectedSymbolType) internal void TestSingleToken(string text, HtmlSymbolType expectedSymbolType)
{ {
TestTokenizer(text, new HtmlSymbol(0, 0, 0, text, expectedSymbolType)); TestTokenizer(text, new HtmlSymbol(0, 0, 0, text, expectedSymbolType));
} }
internal void TestTokenizer(string input, params HtmlSymbol[] expectedSymbols)
{
base.TestTokenizer<HtmlSymbol, HtmlSymbolType>(input, expectedSymbols);
}
} }
} }

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class LineTrackingStringBufferTest public class LineTrackingStringBufferTest
{ {
[Fact] [Fact]
public void CtorInitializesProperties() public void CtorInitializesProperties()

View File

@ -4,14 +4,14 @@
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class MarkupParserTestBase : CodeParserTestBase public abstract class MarkupParserTestBase : CodeParserTestBase
{ {
protected override RazorSyntaxTree ParseBlock(string document, bool designTime) internal override RazorSyntaxTree ParseBlock(string document, bool designTime)
{ {
return ParseHtmlBlock(document, designTime); return ParseHtmlBlock(document, designTime);
} }
protected virtual void SingleSpanDocumentTest(string document, BlockType blockType, SpanKind spanType) internal virtual void SingleSpanDocumentTest(string document, BlockType blockType, SpanKind spanType)
{ {
var b = CreateSimpleBlockAndSpan(document, blockType, spanType); var b = CreateSimpleBlockAndSpan(document, blockType, spanType);
ParseDocumentTest(document, b); ParseDocumentTest(document, b);

View File

@ -10,22 +10,22 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class ParserTestBase public abstract class ParserTestBase
{ {
protected static Block IgnoreOutput = new IgnoreOutputBlock(); internal static Block IgnoreOutput = new IgnoreOutputBlock();
public SpanFactory Factory { get; private set; } internal SpanFactory Factory { get; private set; }
public BlockFactory BlockFactory { get; private set; } internal BlockFactory BlockFactory { get; private set; }
protected ParserTestBase() internal ParserTestBase()
{ {
Factory = CreateSpanFactory(); Factory = CreateSpanFactory();
BlockFactory = CreateBlockFactory(); BlockFactory = CreateBlockFactory();
} }
protected abstract RazorSyntaxTree ParseBlock(string document, bool designTime); internal abstract RazorSyntaxTree ParseBlock(string document, bool designTime);
protected virtual RazorSyntaxTree ParseDocument(string document, bool designTime = false) internal virtual RazorSyntaxTree ParseDocument(string document, bool designTime = false)
{ {
using (var reader = new SeekableTextReader(document)) using (var reader = new SeekableTextReader(document))
{ {
@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
protected virtual RazorSyntaxTree ParseHtmlBlock(string document, bool designTime = false) internal virtual RazorSyntaxTree ParseHtmlBlock(string document, bool designTime = false)
{ {
using (var reader = new SeekableTextReader(document)) using (var reader = new SeekableTextReader(document))
{ {
@ -58,7 +58,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
protected virtual RazorSyntaxTree ParseCodeBlock(string document, bool designTime = false) internal virtual RazorSyntaxTree ParseCodeBlock(string document, bool designTime = false)
{ {
using (var reader = new SeekableTextReader(document)) using (var reader = new SeekableTextReader(document))
{ {
@ -78,49 +78,49 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
protected SpanFactory CreateSpanFactory() internal SpanFactory CreateSpanFactory()
{ {
return new SpanFactory(); return new SpanFactory();
} }
protected abstract BlockFactory CreateBlockFactory(); internal abstract BlockFactory CreateBlockFactory();
protected virtual void ParseBlockTest(string document) internal virtual void ParseBlockTest(string document)
{ {
ParseBlockTest(document, null, false, new RazorError[0]); ParseBlockTest(document, null, false, new RazorError[0]);
} }
protected virtual void ParseBlockTest(string document, bool designTime) internal virtual void ParseBlockTest(string document, bool designTime)
{ {
ParseBlockTest(document, null, designTime, new RazorError[0]); ParseBlockTest(document, null, designTime, new RazorError[0]);
} }
protected virtual void ParseBlockTest(string document, params RazorError[] expectedErrors) internal virtual void ParseBlockTest(string document, params RazorError[] expectedErrors)
{ {
ParseBlockTest(document, false, expectedErrors); ParseBlockTest(document, false, expectedErrors);
} }
protected virtual void ParseBlockTest(string document, bool designTime, params RazorError[] expectedErrors) internal virtual void ParseBlockTest(string document, bool designTime, params RazorError[] expectedErrors)
{ {
ParseBlockTest(document, null, designTime, expectedErrors); ParseBlockTest(document, null, designTime, expectedErrors);
} }
protected virtual void ParseBlockTest(string document, Block expectedRoot) internal virtual void ParseBlockTest(string document, Block expectedRoot)
{ {
ParseBlockTest(document, expectedRoot, false, null); ParseBlockTest(document, expectedRoot, false, null);
} }
protected virtual void ParseBlockTest(string document, Block expectedRoot, bool designTime) internal virtual void ParseBlockTest(string document, Block expectedRoot, bool designTime)
{ {
ParseBlockTest(document, expectedRoot, designTime, null); ParseBlockTest(document, expectedRoot, designTime, null);
} }
protected virtual void ParseBlockTest(string document, Block expectedRoot, params RazorError[] expectedErrors) internal virtual void ParseBlockTest(string document, Block expectedRoot, params RazorError[] expectedErrors)
{ {
ParseBlockTest(document, expectedRoot, false, expectedErrors); ParseBlockTest(document, expectedRoot, false, expectedErrors);
} }
protected virtual void ParseBlockTest(string document, Block expected, bool designTime, params RazorError[] expectedErrors) internal virtual void ParseBlockTest(string document, Block expected, bool designTime, params RazorError[] expectedErrors)
{ {
var result = ParseBlock(document, designTime); var result = ParseBlock(document, designTime);
@ -130,32 +130,32 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
protected virtual void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any) internal virtual void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any)
{ {
SingleSpanBlockTest(document, blockType, spanType, acceptedCharacters, expectedError: null); SingleSpanBlockTest(document, blockType, spanType, acceptedCharacters, expectedError: null);
} }
protected virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any) internal virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any)
{ {
SingleSpanBlockTest(document, spanContent, blockType, spanType, acceptedCharacters, expectedErrors: null); SingleSpanBlockTest(document, spanContent, blockType, spanType, acceptedCharacters, expectedErrors: null);
} }
protected virtual void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, params RazorError[] expectedError) internal virtual void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, params RazorError[] expectedError)
{ {
SingleSpanBlockTest(document, document, blockType, spanType, expectedError); SingleSpanBlockTest(document, document, blockType, spanType, expectedError);
} }
protected virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, params RazorError[] expectedErrors) internal virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, params RazorError[] expectedErrors)
{ {
SingleSpanBlockTest(document, spanContent, blockType, spanType, AcceptedCharacters.Any, expectedErrors ?? new RazorError[0]); SingleSpanBlockTest(document, spanContent, blockType, spanType, AcceptedCharacters.Any, expectedErrors ?? new RazorError[0]);
} }
protected virtual void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedError) internal virtual void SingleSpanBlockTest(string document, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedError)
{ {
SingleSpanBlockTest(document, document, blockType, spanType, acceptedCharacters, expectedError); SingleSpanBlockTest(document, document, blockType, spanType, acceptedCharacters, expectedError);
} }
protected virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors) internal virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors)
{ {
var result = ParseBlock(document, designTime: false); var result = ParseBlock(document, designTime: false);
@ -169,32 +169,32 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
protected virtual void ParseDocumentTest(string document) internal virtual void ParseDocumentTest(string document)
{ {
ParseDocumentTest(document, null, false); ParseDocumentTest(document, null, false);
} }
protected virtual void ParseDocumentTest(string document, Block expectedRoot) internal virtual void ParseDocumentTest(string document, Block expectedRoot)
{ {
ParseDocumentTest(document, expectedRoot, false, null); ParseDocumentTest(document, expectedRoot, false, null);
} }
protected virtual void ParseDocumentTest(string document, Block expectedRoot, params RazorError[] expectedErrors) internal virtual void ParseDocumentTest(string document, Block expectedRoot, params RazorError[] expectedErrors)
{ {
ParseDocumentTest(document, expectedRoot, false, expectedErrors); ParseDocumentTest(document, expectedRoot, false, expectedErrors);
} }
protected virtual void ParseDocumentTest(string document, bool designTime) internal virtual void ParseDocumentTest(string document, bool designTime)
{ {
ParseDocumentTest(document, null, designTime); ParseDocumentTest(document, null, designTime);
} }
protected virtual void ParseDocumentTest(string document, Block expectedRoot, bool designTime) internal virtual void ParseDocumentTest(string document, Block expectedRoot, bool designTime)
{ {
ParseDocumentTest(document, expectedRoot, designTime, null); ParseDocumentTest(document, expectedRoot, designTime, null);
} }
protected virtual void ParseDocumentTest(string document, Block expectedRoot, bool designTime, params RazorError[] expectedErrors) internal virtual void ParseDocumentTest(string document, Block expectedRoot, bool designTime, params RazorError[] expectedErrors)
{ {
var result = ParseDocument(document, designTime); var result = ParseDocument(document, designTime);
@ -204,7 +204,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
protected virtual RazorSyntaxTree RunParse( internal virtual RazorSyntaxTree RunParse(
string document, string document,
Func<ParserBase, Action> parserActionSelector, Func<ParserBase, Action> parserActionSelector,
bool designTimeParser, bool designTimeParser,
@ -214,7 +214,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
throw null; throw null;
} }
protected virtual void RunParseTest( internal virtual void RunParseTest(
string document, string document,
Func<ParserBase, Action> parserActionSelector, Func<ParserBase, Action> parserActionSelector,
Block expectedRoot, IList<RazorError> expectedErrors, Block expectedRoot, IList<RazorError> expectedErrors,
@ -245,18 +245,18 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
} }
} }
public static void EvaluateResults(RazorSyntaxTree result, Block expectedRoot) internal static void EvaluateResults(RazorSyntaxTree result, Block expectedRoot)
{ {
EvaluateResults(result, expectedRoot, null); EvaluateResults(result, expectedRoot, null);
} }
public static void EvaluateResults(RazorSyntaxTree result, Block expectedRoot, IList<RazorError> expectedErrors) internal static void EvaluateResults(RazorSyntaxTree result, Block expectedRoot, IList<RazorError> expectedErrors)
{ {
EvaluateParseTree(result.Root, expectedRoot); EvaluateParseTree(result.Root, expectedRoot);
EvaluateRazorErrors(result.Diagnostics, expectedErrors); EvaluateRazorErrors(result.Diagnostics, expectedErrors);
} }
public static void EvaluateParseTree(Block actualRoot, Block expectedRoot) internal static void EvaluateParseTree(Block actualRoot, Block expectedRoot)
{ {
// Evaluate the result // Evaluate the result
var collector = new ErrorCollector(); var collector = new ErrorCollector();
@ -366,7 +366,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
collector.AddError("{0} - FAILED :: Actual: << Null >>", expected); collector.AddError("{0} - FAILED :: Actual: << Null >>", expected);
} }
public static void EvaluateRazorErrors(IEnumerable<RazorError> actualErrors, IList<RazorError> expectedErrors) internal static void EvaluateRazorErrors(IEnumerable<RazorError> actualErrors, IList<RazorError> expectedErrors)
{ {
var realCount = actualErrors.Count(); var realCount = actualErrors.Count();
@ -389,7 +389,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
WriteTraceLine("Expected Errors were raised:" + Environment.NewLine + FormatErrors(expectedErrors)); WriteTraceLine("Expected Errors were raised:" + Environment.NewLine + FormatErrors(expectedErrors));
} }
public static string FormatErrors(IEnumerable<RazorError> errors) internal static string FormatErrors(IEnumerable<RazorError> errors)
{ {
if (errors == null) if (errors == null)
{ {
@ -411,7 +411,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
Trace.WriteLine(string.Format(format, args)); Trace.WriteLine(string.Format(format, args));
} }
protected virtual Block CreateSimpleBlockAndSpan(string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any) internal virtual Block CreateSimpleBlockAndSpan(string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any)
{ {
var span = Factory.Span(spanType, spanContent, spanType == SpanKind.Markup).Accepts(acceptedCharacters); var span = Factory.Span(spanType, spanContent, spanType == SpanKind.Markup).Accepts(acceptedCharacters);
var b = new BlockBuilder() var b = new BlockBuilder()
@ -421,7 +421,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
return ConfigureAndAddSpanToBlock(b, span); return ConfigureAndAddSpanToBlock(b, span);
} }
protected virtual Block ConfigureAndAddSpanToBlock(BlockBuilder block, SpanConstructor span) internal virtual Block ConfigureAndAddSpanToBlock(BlockBuilder block, SpanConstructor span)
{ {
switch (block.Type) switch (block.Type)
{ {

View File

@ -7,7 +7,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class RazorErrorTest public class RazorErrorTest
{ {
[Fact] [Fact]
public void RazorError_CanBeSerialized() public void RazorError_CanBeSerialized()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class RazorParserTest public class RazorParserTest
{ {
[Fact] [Fact]
public void CanParseStuff() public void CanParseStuff()

View File

@ -6,7 +6,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class SourceLocationTest public class SourceLocationTest
{ {
[Fact] [Fact]
public void ConstructorWithLineAndCharacterIndexSetsAssociatedProperties() public void ConstructorWithLineAndCharacterIndexSetsAssociatedProperties()

View File

@ -5,7 +5,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class SourceLocationTrackerTest public class SourceLocationTrackerTest
{ {
private static readonly SourceLocation TestStartLocation = new SourceLocation(10, 42, 45); private static readonly SourceLocation TestStartLocation = new SourceLocation(10, 42, 45);

View File

@ -5,7 +5,7 @@ using System;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class StringTextBuffer : ITextBuffer, IDisposable public class StringTextBuffer : ITextBuffer, IDisposable
{ {
private string _buffer; private string _buffer;
public bool Disposed { get; set; } public bool Disposed { get; set; }

View File

@ -8,7 +8,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class TestFile public class TestFile
{ {
public TestFile(string resourceName, Assembly assembly) public TestFile(string resourceName, Assembly assembly)
{ {

View File

@ -7,7 +7,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class TextChangeTest public class TextChangeTest
{ {
[Fact] [Fact]
public void ConstructorRequiresNonNegativeOldPosition() public void ConstructorRequiresNonNegativeOldPosition()

View File

@ -7,7 +7,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class TextReaderExtensionsTest public class TextReaderExtensionsTest
{ {
[Fact] [Fact]
public void ReadUntilWithCharReadsAllTextUpToSpecifiedCharacterButNotPast() public void ReadUntilWithCharReadsAllTextUpToSpecifiedCharacterButNotPast()

View File

@ -9,7 +9,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal class TokenizerLookaheadTest : HtmlTokenizerTestBase public class TokenizerLookaheadTest : HtmlTokenizerTestBase
{ {
[Fact] [Fact]
public void Lookahead_MaintainsExistingBufferWhenRejected() public void Lookahead_MaintainsExistingBufferWhenRejected()

View File

@ -9,14 +9,14 @@ using Xunit;
namespace Microsoft.AspNetCore.Razor.Evolution.Legacy namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
internal abstract class TokenizerTestBase<TSymbol, TSymbolType> public abstract class TokenizerTestBase
{
internal abstract object IgnoreRemaining { get; }
internal abstract object CreateTokenizer(ITextDocument source);
internal void TestTokenizer<TSymbol, TSymbolType>(string input, params TSymbol[] expectedSymbols)
where TSymbolType : struct where TSymbolType : struct
where TSymbol : SymbolBase<TSymbolType> where TSymbol : SymbolBase<TSymbolType>
{
protected abstract TSymbol IgnoreRemaining { get; }
protected abstract Tokenizer<TSymbol, TSymbolType> CreateTokenizer(ITextDocument source);
protected void TestTokenizer(string input, params TSymbol[] expectedSymbols)
{ {
// Arrange // Arrange
var success = true; var success = true;
@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Razor.Evolution.Legacy
{ {
using (SeekableTextReader source = new SeekableTextReader(reader)) using (SeekableTextReader source = new SeekableTextReader(reader))
{ {
Tokenizer<TSymbol, TSymbolType> tokenizer = CreateTokenizer(source); var tokenizer = (Tokenizer<TSymbol, TSymbolType>)CreateTokenizer(source);
var counter = 0; var counter = 0;
TSymbol current = null; TSymbol current = null;
while ((current = tokenizer.NextSymbol()) != null) while ((current = tokenizer.NextSymbol()) != null)