Convert CSharpSectionTest
This commit is contained in:
parent
c0929a9002
commit
4fda468f06
|
|
@ -923,6 +923,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
|
||||
if (UseBaselineTests && !IsTheory)
|
||||
{
|
||||
SyntaxTreeVerifier.Verify(result);
|
||||
AssertSyntaxTreeNodeMatchesBaseline(result);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,78 +9,33 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
public class CSharpSectionTest : CsHtmlMarkupParserTestBase
|
||||
{
|
||||
public CSharpSectionTest()
|
||||
{
|
||||
UseBaselineTests = true;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockCapturesNewlineImmediatelyFollowing()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_DirectiveExpectsIdentifier(
|
||||
new SourceSpan(new SourceLocation(8, 0, 8), contentLength: Environment.NewLine.Length), SectionDirective.Directive.Directive));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section" + Environment.NewLine,
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, string.Empty, CSharpSymbolType.Unknown)
|
||||
.AsDirectiveToken(DirectiveTokenDescriptor.CreateToken(DirectiveTokenKind.Member))),
|
||||
Factory.Markup(Environment.NewLine)));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockCapturesWhitespaceToEndOfLineInSectionStatementMissingOpenBrace()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedEOFAfterDirective(
|
||||
new SourceSpan(new SourceLocation(25 + Environment.NewLine.Length, 1, 4), contentLength: 1),
|
||||
SectionDirective.Directive.Directive,
|
||||
"{"));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section Foo " + Environment.NewLine + " ",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " " + Environment.NewLine + " ", markup: false).Accepts(AcceptedCharactersInternal.AllWhiteSpace)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockCapturesWhitespaceToEndOfLineInSectionStatementMissingName()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_DirectiveExpectsIdentifier(
|
||||
new SourceSpan(new SourceLocation(17, 0, 17), contentLength: Environment.NewLine.Length), SectionDirective.Directive.Directive));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section " + Environment.NewLine + " ",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory
|
||||
.Span(SpanKindInternal.Code, string.Empty, CSharpSymbolType.Unknown)
|
||||
.AsDirectiveToken(DirectiveTokenDescriptor.CreateToken(DirectiveTokenKind.Member))),
|
||||
Factory.Markup(Environment.NewLine + " ")));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -88,210 +43,83 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
ParseDocumentTest(
|
||||
"@Section foo",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("Section")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Markup(" foo")));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockReportsErrorAndTerminatesSectionBlockIfKeywordNotFollowedByIdentifierStartCharacter()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_DirectiveExpectsIdentifier(
|
||||
new SourceSpan(new SourceLocation(9, 0, 9), contentLength: 1), SectionDirective.Directive.Directive));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section 9 { <p>Foo</p> }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace)),
|
||||
Factory.Markup("9 { "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
Factory.Markup("Foo"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>")),
|
||||
Factory.Markup(" }")));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockReportsErrorAndTerminatesSectionBlockIfNameNotFollowedByOpenBrace()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedDirectiveLiteral(
|
||||
new SourceSpan(new SourceLocation(12, 0, 12), contentLength: 1),
|
||||
SectionDirective.Directive.Directive,
|
||||
"{"));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo-bar { <p>Foo</p> }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0])),
|
||||
Factory.Markup("-bar { "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
Factory.Markup("Foo"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>")),
|
||||
Factory.Markup(" }")));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParserOutputsErrorOnNestedSections()
|
||||
{
|
||||
// Arrange
|
||||
var erroredChunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
erroredChunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_DirectiveMustAppearAtStartOfLine(
|
||||
new SourceSpan(new SourceLocation(16, 0, 16), contentLength: 7), "section"));
|
||||
erroredChunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_SectionsCannotBeNested(
|
||||
new SourceSpan(new SourceLocation(15, 0, 15), 8)));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo { @section bar { <p>Foo</p> } }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new DirectiveBlock(erroredChunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "bar", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
Factory.Markup("Foo"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>")),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockHandlesEOFAfterOpenBrace()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(13, 0, 13), contentLength: 1), SectionDirective.Directive.Directive, "}", "{"));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo {",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml()))));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(" ")]
|
||||
[InlineData("\n")]
|
||||
[InlineData(" abc")]
|
||||
[InlineData(" \n abc")]
|
||||
public void ParseSectionBlockHandlesEOFAfterOpenContent(string postStartBrace)
|
||||
[Fact]
|
||||
public void ParseSectionBlockHandlesEOFAfterOpenContent1()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(13, 0, 13), contentLength: 1), "section", "}", "{"));
|
||||
|
||||
// Act & Assert
|
||||
|
||||
ParseDocumentTest(
|
||||
"@section foo {" + postStartBrace,
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(postStartBrace)))));
|
||||
"@section foo { ",
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockHandlesEOFAfterOpenContent2()
|
||||
{
|
||||
|
||||
ParseDocumentTest(
|
||||
"@section foo {\n",
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockHandlesEOFAfterOpenContent3()
|
||||
{
|
||||
|
||||
ParseDocumentTest(
|
||||
"@section foo {abc",
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockHandlesEOFAfterOpenContent4()
|
||||
{
|
||||
|
||||
ParseDocumentTest(
|
||||
"@section foo {\n abc",
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockHandlesUnterminatedSection()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(13, 0, 13), contentLength: 1), "section", "}", "{"));
|
||||
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo { <p>Foo{}</p>",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
// Need to provide the markup span as fragments, since the parser will split the {} into separate symbols.
|
||||
Factory.Markup("Foo", "{", "}"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>"))))));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -299,10 +127,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
// Arrange
|
||||
var newLine = Environment.NewLine;
|
||||
var chunkGenerator = new DirectiveChunkGenerator(SectionDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(13 + newLine.Length, 1, 0), contentLength: 1), "section", "}", "{"));
|
||||
var spaces = " ";
|
||||
|
||||
// Act & Assert
|
||||
|
|
@ -311,29 +135,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
"@section Test{0}{{{0}{1}@if(true){0}{1}{{{0}{1}{1}<p>Hello World</p>{0}{1}}}",
|
||||
newLine,
|
||||
spaces),
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "Test", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, Environment.NewLine, CSharpSymbolType.NewLine).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(newLine),
|
||||
new StatementBlock(
|
||||
Factory.Code(spaces).AsStatement(),
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code($"if(true){newLine}{spaces}{{{newLine}").AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup($"{spaces}{spaces}"),
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Hello World"),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup(newLine).Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code($"{spaces}}}").AsStatement())))));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -350,22 +152,12 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo " + Environment.NewLine,
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " " + Environment.NewLine, markup: false).Accepts(AcceptedCharactersInternal.AllWhiteSpace)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockAcceptsOpenBraceMultipleLinesBelowSectionName()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo "
|
||||
+ Environment.NewLine
|
||||
|
|
@ -377,239 +169,76 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ "{" + Environment.NewLine
|
||||
+ "<p>Foo</p>" + Environment.NewLine
|
||||
+ "}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " " + string.Format("{0}{0}{0}{0}{0}{0}", Environment.NewLine), markup: false).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
Factory.Markup("Foo"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>")),
|
||||
Factory.Markup(Environment.NewLine)),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockParsesNamedSectionCorrectly()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo { <p>Foo</p> }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
Factory.Markup("Foo"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>")),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockDoesNotRequireSpaceBetweenSectionNameAndOpenBrace()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo{ <p>Foo</p> }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>")),
|
||||
Factory.Markup("Foo"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>")),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockBalancesBraces()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo { <script>(function foo() { return 1; })();</script> }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<script>")),
|
||||
Factory.Markup("(function foo() { return 1; })();"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</script>")),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockAllowsBracesInCSharpExpression()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo { I really want to render a close brace, so here I go: @(\"}\") }",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" I really want to render a close brace, so here I go: "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("(").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code("\"}\"").AsExpression(),
|
||||
Factory.MetaCode(")").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SectionIsCorrectlyTerminatedWhenCloseBraceImmediatelyFollowsCodeBlock()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section Foo {" + Environment.NewLine
|
||||
+ "@if(true) {" + Environment.NewLine
|
||||
+ "}" + Environment.NewLine
|
||||
+ "}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code($"if(true) {{{Environment.NewLine}}}{Environment.NewLine}").AsStatement()
|
||||
)),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SectionIsCorrectlyTerminatedWhenCloseBraceImmediatelyFollowsCodeBlockNoWhitespace()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section Foo {" + Environment.NewLine
|
||||
+ "@if(true) {" + Environment.NewLine
|
||||
+ "}}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code($"if(true) {{{Environment.NewLine}}}").AsStatement()
|
||||
)),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockCorrectlyTerminatesWhenCloseBraceImmediatelyFollowsMarkup()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section foo {something}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup("something")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockParsesComment()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section s {<!-- -->}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
BlockFactory.HtmlCommentBlock(" "),
|
||||
Factory.EmptyHtml()),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
// This was a user reported bug (codeplex #710), the section parser wasn't handling
|
||||
|
|
@ -617,150 +246,38 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
[Fact]
|
||||
public void ParseSectionBlockParsesCommentWithDelimiters()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section s {<!-- > \" '-->}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
BlockFactory.HtmlCommentBlock(" > \" '"),
|
||||
Factory.EmptyHtml()),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockCommentRecoversFromUnclosedTag()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section s {" + Environment.NewLine + "<a" + Environment.NewLine + "<!-- > \" '-->}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<a" + Environment.NewLine)),
|
||||
BlockFactory.HtmlCommentBlock(" > \" '"),
|
||||
Factory.EmptyHtml()),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseSectionBlockParsesXmlProcessingInstruction()
|
||||
{
|
||||
// Act & Assert
|
||||
ParseDocumentTest(
|
||||
"@section s { <? xml bleh ?>}",
|
||||
new[] { SectionDirective.Directive },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" <? xml bleh ?>")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
public static TheoryData SectionWithEscapedTransitionData
|
||||
[Fact]
|
||||
public void ParseSectionBlock_WithDoubleTransition1()
|
||||
{
|
||||
get
|
||||
{
|
||||
var factory = new SpanFactory();
|
||||
|
||||
return new TheoryData<string, Block>
|
||||
{
|
||||
{
|
||||
"@section s {<span foo='@@' />}",
|
||||
new MarkupBlock(
|
||||
factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
factory.CodeTransition(),
|
||||
factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
factory.Span(SpanKindInternal.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
factory.Markup("<span"),
|
||||
new MarkupBlock(
|
||||
new AttributeBlockChunkGenerator("foo", new LocationTagged<string>(" foo='", 17, 0, 17), new LocationTagged<string>("'", 25, 0, 25)),
|
||||
factory.Markup(" foo='").With(SpanChunkGenerator.Null),
|
||||
new MarkupBlock(
|
||||
factory.Markup("@").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 23, 0, 23), new LocationTagged<string>("@", 23, 0, 23))).Accepts(AcceptedCharactersInternal.None),
|
||||
factory.Markup("@").With(SpanChunkGenerator.Null).Accepts(AcceptedCharactersInternal.None)),
|
||||
factory.Markup("'").With(SpanChunkGenerator.Null)),
|
||||
factory.Markup(" />"))),
|
||||
factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
factory.EmptyHtml())
|
||||
},
|
||||
{
|
||||
"@section s {<span foo='@DateTime.Now @@' />}",
|
||||
new MarkupBlock(
|
||||
factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
factory.CodeTransition(),
|
||||
factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
factory.Span(SpanKindInternal.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
factory.Markup("<span"),
|
||||
new MarkupBlock(
|
||||
new AttributeBlockChunkGenerator("foo", new LocationTagged<string>(" foo='", 17, 0, 17), new LocationTagged<string>("'", 39, 0, 39)),
|
||||
factory.Markup(" foo='").With(SpanChunkGenerator.Null),
|
||||
new MarkupBlock(
|
||||
new DynamicAttributeBlockChunkGenerator(new LocationTagged<string>(string.Empty, 23, 0, 23), 23, 0, 23),
|
||||
new ExpressionBlock(
|
||||
factory.CodeTransition(),
|
||||
factory.Code("DateTime.Now")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace))),
|
||||
new MarkupBlock(
|
||||
factory.Markup(" @").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(" ", 36, 0, 36), new LocationTagged<string>("@", 37, 0, 37))).Accepts(AcceptedCharactersInternal.None),
|
||||
factory.Markup("@").With(SpanChunkGenerator.Null).Accepts(AcceptedCharactersInternal.None)),
|
||||
factory.Markup("'").With(SpanChunkGenerator.Null)),
|
||||
factory.Markup(" />"))),
|
||||
factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
factory.EmptyHtml())
|
||||
},
|
||||
};
|
||||
}
|
||||
ParseDocumentTest("@section s {<span foo='@@' />}", new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(SectionWithEscapedTransitionData))]
|
||||
public void ParseSectionBlock_WithDoubleTransition_DoesNotThrow(string input, object expected)
|
||||
[Fact]
|
||||
public void ParseSectionBlock_WithDoubleTransition2()
|
||||
{
|
||||
FixupSpans = true;
|
||||
|
||||
ParseDocumentTest(input, new[] { SectionDirective.Directive }, (Block)expected);
|
||||
ParseDocumentTest("@section s {<span foo='@DateTime.Now @@' />}", new[] { SectionDirective.Directive });
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
Markup block - Gen<None> - 46 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 46 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ LFLFLFLFLFLF] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:7
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (30:6,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 14 - (31:6,1)
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (31:6,1) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Tag block - Gen<None> - 3 - (33:7,0)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (33:7,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (36:7,3) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (39:7,6)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (39:7,6) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (43:7,10) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (45:8,0) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (46:8,1) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
Markup block - Gen<None> - 76 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 76 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 61 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ I really want to render a close brace, so here I go: ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:25
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[I];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[really];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[want];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[to];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[render];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[a];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[close];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[brace,];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[so];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[here];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[I];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[go:];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 6 - (68:0,68)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (68:0,68) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [(] - SpanEditHandler;Accepts:None - (69:0,69) - Symbols:1
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
Code span - Gen<Expr> - ["}"] - SpanEditHandler;Accepts:Any - (70:0,70) - Symbols:1
|
||||
CSharpSymbolType.StringLiteral;["}"];
|
||||
MetaCode span - Gen<None> - [)] - SpanEditHandler;Accepts:None - (73:0,73) - Symbols:1
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (74:0,74) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (75:0,75) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (76:0,76) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
Markup block - Gen<None> - 67 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 67 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 52 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 8 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<script>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[script];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [(function foo() { return 1; })();] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:11
|
||||
HtmlSymbolType.Text;[(function];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo()];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[{];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[return];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[1;];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[})();];
|
||||
Tag block - Gen<None> - 9 - (56:0,56)
|
||||
Markup span - Gen<Markup> - [</script>] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[script];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (65:0,65) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (66:0,66) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (67:0,67) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
Markup block - Gen<None> - 10 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1015(8:0,8 [2] )]> - 8 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
Markup block - Gen<None> - 23 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1015(17:0,17 [2] )]> - 17 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (17:0,17) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
Markup span - Gen<Markup> - [LF ] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:2
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
Markup block - Gen<None> - 27 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1012(27:1,4 [1] )]> - 27 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
Markup span - Gen<None> - [ LF ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:3
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (27:1,4) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
Markup block - Gen<None> - 33 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 33 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [s] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[s];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 20 - (12:0,12)
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Tag block - Gen<None> - 4 - (14:1,0)
|
||||
Markup span - Gen<Markup> - [<aLF] - SpanEditHandler;Accepts:Any - (14:1,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[a];
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
HtmlComment block - Gen<None> - 14 - (18:2,0)
|
||||
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (18:2,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Bang;[!];
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
Markup span - Gen<Markup> - [ > " '] - SpanEditHandler;Accepts:WhiteSpace - (22:2,4) - Symbols:6
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.DoubleQuote;["];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.SingleQuote;['];
|
||||
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (29:2,11) - Symbols:2
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (32:2,14) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (32:2,14) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (33:2,15) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
Markup block - Gen<None> - 24 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 24 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 9 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [something] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.Text;[something];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
Markup block - Gen<None> - 26 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 26 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 12 - (13:0,13)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (20:0,20)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Markup block - Gen<None> - 14 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(13:0,13 [1] )]> - 14 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 0 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Markup block - Gen<None> - 15 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(13:0,13 [1] )]> - 15 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 1 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Markup block - Gen<None> - 16 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(13:0,13 [1] )]> - 16 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 2 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Markup block - Gen<None> - 17 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(13:0,13 [1] )]> - 17 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 3 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [abc] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.Text;[abc];
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
Markup block - Gen<None> - 20 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(13:0,13 [1] )]> - 20 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 6 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [LF abc] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[abc];
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
Markup block - Gen<None> - 27 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(13:0,13 [1] )]> - 27 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 13 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo{}] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:3
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
HtmlSymbolType.Text;[{];
|
||||
HtmlSymbolType.Text;[}];
|
||||
Tag block - Gen<None> - 4 - (23:0,23)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
Markup block - Gen<None> - 73 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1006(15:1,0 [1] )]> - 73 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [Test] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Test];
|
||||
Markup span - Gen<None> - [LF] - SpanEditHandler;Accepts:AllWhiteSpace - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (15:1,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 57 - (16:1,1)
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (16:1,1) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Statement block - Gen<None> - 55 - (18:2,0)
|
||||
Code span - Gen<Stmt> - [ ] - SpanEditHandler;Accepts:Any - (18:2,0) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (22:2,4) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [if(true)LF {LF] - SpanEditHandler;Accepts:Any - (23:2,5) - Symbols:8
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup block - Gen<None> - 28 - (40:4,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (40:4,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (48:4,8)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (48:4,8) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Hello World] - SpanEditHandler;Accepts:Any - (51:4,11) - Symbols:3
|
||||
HtmlSymbolType.Text;[Hello];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[World];
|
||||
Tag block - Gen<None> - 4 - (62:4,22)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (62:4,22) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (66:4,26) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Code span - Gen<Stmt> - [ }] - SpanEditHandler;Accepts:Any - (68:5,0) - Symbols:2
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
Markup block - Gen<None> - 12 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Expression block - Gen<Expr> - 8 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [Section] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K15 - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Section];
|
||||
Markup span - Gen<Markup> - [ foo] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:2
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
Markup block - Gen<None> - 21 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 21 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [s] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[s];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 8 - (12:0,12)
|
||||
HtmlComment block - Gen<None> - 8 - (12:0,12)
|
||||
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Bang;[!];
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (16:0,16) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:2
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
Markup block - Gen<None> - 26 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 26 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [s] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[s];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 13 - (12:0,12)
|
||||
HtmlComment block - Gen<None> - 13 - (12:0,12)
|
||||
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Bang;[!];
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
Markup span - Gen<Markup> - [ > " '] - SpanEditHandler;Accepts:WhiteSpace - (16:0,16) - Symbols:6
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.DoubleQuote;["];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.SingleQuote;['];
|
||||
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:2
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
Markup block - Gen<None> - 27 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 27 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 12 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (21:0,21)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (26:0,26) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
Markup block - Gen<None> - 28 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 28 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [s] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[s];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 15 - (12:0,12)
|
||||
Markup span - Gen<Markup> - [ <? xml bleh ?>] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:10
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.QuestionMark;[?];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[xml];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[bleh];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.QuestionMark;[?];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
Markup block - Gen<None> - 20 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1012(20:1,0 [1] )]> - 20 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ LF] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:2
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (20:1,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
Markup block - Gen<None> - 25 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1015(9:0,9 [1] )]> - 9 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup span - Gen<Markup> - [9 { ] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:4
|
||||
HtmlSymbolType.Text;[9];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[{];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (13:0,13)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (19:0,19)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ }] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:2
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[}];
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
Markup block - Gen<None> - 31 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ1017(12:0,12 [1] )]> - 12 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<Markup> - [-bar { ] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:4
|
||||
HtmlSymbolType.Text;[-bar];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[{];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (19:0,19)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (25:0,25)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ }] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:2
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[}];
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
Markup block - Gen<None> - 30 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 30 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [s] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[s];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 17 - (12:0,12)
|
||||
Tag block - Gen<None> - 17 - (12:0,12)
|
||||
Markup span - Gen<Markup> - [<span] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:2
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[span];
|
||||
Markup block - Gen<Attr:foo, foo='@(17:0,17),'@(25:0,25)> - 9 - (17:0,17)
|
||||
Markup span - Gen<None> - [ foo='] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:4
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.Equals;[=];
|
||||
HtmlSymbolType.SingleQuote;['];
|
||||
Markup block - Gen<None> - 2 - (23:0,23)
|
||||
Markup span - Gen<LitAttr:@(23:0,23)> - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - ['] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1
|
||||
HtmlSymbolType.SingleQuote;['];
|
||||
Markup span - Gen<Markup> - [ />] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:3
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (29:0,29) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
Markup block - Gen<None> - 44 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 44 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [s] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[s];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 31 - (12:0,12)
|
||||
Tag block - Gen<None> - 31 - (12:0,12)
|
||||
Markup span - Gen<Markup> - [<span] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:2
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[span];
|
||||
Markup block - Gen<Attr:foo, foo='@(17:0,17),'@(39:0,39)> - 23 - (17:0,17)
|
||||
Markup span - Gen<None> - [ foo='] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:4
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.Equals;[=];
|
||||
HtmlSymbolType.SingleQuote;['];
|
||||
Markup block - Gen<DynAttr:@(23:0,23)> - 13 - (23:0,23)
|
||||
Expression block - Gen<Expr> - 13 - (23:0,23)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K15 - (24:0,24) - Symbols:3
|
||||
CSharpSymbolType.Identifier;[DateTime];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Now];
|
||||
Markup block - Gen<None> - 3 - (36:0,36)
|
||||
Markup span - Gen<LitAttr: @(36:0,36)> - [ @] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:2
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - ['] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1
|
||||
HtmlSymbolType.SingleQuote;['];
|
||||
Markup span - Gen<Markup> - [ />] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:3
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (43:0,43) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
Markup block - Gen<None> - 44 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 44 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 29 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted} [RZ2005(16:0,16 [7] ), RZ2002(15:0,15 [8] )]> - 27 - (15:0,15)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (23:0,23) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [bar] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (24:0,24) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (27:0,27) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (28:0,28) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 12 - (29:0,29)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (30:0,30)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (36:0,36)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (41:0,41) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (43:0,43) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
Markup block - Gen<None> - 33 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 33 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 18 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Statement block - Gen<None> - 16 - (16:1,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (16:1,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [if(true) {LF}LF] - SpanEditHandler;Accepts:Any - (17:1,1) - Symbols:9
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (32:3,0) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (33:3,1) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
Markup block - Gen<None> - 31 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 31 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 16 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Statement block - Gen<None> - 14 - (16:1,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (16:1,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [if(true) {LF}] - SpanEditHandler;Accepts:Any - (17:1,1) - Symbols:8
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (30:2,1) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (31:2,2) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -358,6 +358,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
|
||||
if (UseBaselineTests && !IsTheory)
|
||||
{
|
||||
SyntaxTreeVerifier.Verify(result);
|
||||
AssertSyntaxTreeNodeMatchesBaseline(result);
|
||||
return;
|
||||
}
|
||||
|
|
@ -486,6 +487,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
|
||||
if (UseBaselineTests && !IsTheory)
|
||||
{
|
||||
SyntaxTreeVerifier.Verify(result);
|
||||
AssertSyntaxTreeNodeMatchesBaseline(result);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue