Final cleanup to remove all traces of ParseBlockTest (dotnet/aspnetcore-tooling#169)
\n\nCommit migrated from e160872142
This commit is contained in:
parent
67588374aa
commit
642a2f5789
|
|
@ -171,18 +171,16 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
return Regex.Replace(content, "(?<!\r)\n", "\r\n", RegexOptions.None, TimeSpan.FromSeconds(10));
|
return Regex.Replace(content, "(?<!\r)\n", "\r\n", RegexOptions.None, TimeSpan.FromSeconds(10));
|
||||||
}
|
}
|
||||||
|
|
||||||
internal virtual void BaselineTest(RazorSyntaxTree syntaxTree, bool verifySyntaxTree = true, bool ensureFullFidelity = true, int? expectedParseLength = null)
|
internal virtual void BaselineTest(RazorSyntaxTree syntaxTree, bool verifySyntaxTree = true, bool ensureFullFidelity = true)
|
||||||
{
|
{
|
||||||
if (verifySyntaxTree)
|
if (verifySyntaxTree)
|
||||||
{
|
{
|
||||||
SyntaxTreeVerifier.Verify(syntaxTree, ensureFullFidelity, expectedParseLength);
|
SyntaxTreeVerifier.Verify(syntaxTree, ensureFullFidelity);
|
||||||
}
|
}
|
||||||
|
|
||||||
AssertSyntaxTreeNodeMatchesBaseline(syntaxTree);
|
AssertSyntaxTreeNodeMatchesBaseline(syntaxTree);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal abstract RazorSyntaxTree ParseBlock(RazorLanguageVersion version, string document, IEnumerable<DirectiveDescriptor> directives, bool designTime);
|
|
||||||
|
|
||||||
internal RazorSyntaxTree ParseDocument(string document, bool designTime = false, IEnumerable<DirectiveDescriptor> directives = null, RazorParserFeatureFlags featureFlags = null)
|
internal RazorSyntaxTree ParseDocument(string document, bool designTime = false, IEnumerable<DirectiveDescriptor> directives = null, RazorParserFeatureFlags featureFlags = null)
|
||||||
{
|
{
|
||||||
return ParseDocument(RazorLanguageVersion.Latest, document, directives, designTime, featureFlags);
|
return ParseDocument(RazorLanguageVersion.Latest, document, directives, designTime, featureFlags);
|
||||||
|
|
@ -218,85 +216,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
return syntaxTree;
|
return syntaxTree;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal virtual RazorSyntaxTree ParseHtmlBlock(RazorLanguageVersion version, string document, IEnumerable<DirectiveDescriptor> directives, bool designTime = false)
|
|
||||||
{
|
|
||||||
directives = directives ?? Array.Empty<DirectiveDescriptor>();
|
|
||||||
|
|
||||||
var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true);
|
|
||||||
|
|
||||||
var options = CreateParserOptions(version, directives, designTime);
|
|
||||||
var context = new ParserContext(source, options);
|
|
||||||
|
|
||||||
var codeParser = new CSharpCodeParser(directives, context);
|
|
||||||
var markupParser = new HtmlMarkupParser(context);
|
|
||||||
|
|
||||||
codeParser.HtmlParser = markupParser;
|
|
||||||
markupParser.CodeParser = codeParser;
|
|
||||||
|
|
||||||
var root = markupParser.ParseBlock().CreateRed();
|
|
||||||
|
|
||||||
var diagnostics = context.ErrorSink.Errors;
|
|
||||||
|
|
||||||
var syntaxTree = RazorSyntaxTree.Create(root, source, diagnostics, options);
|
|
||||||
|
|
||||||
return syntaxTree;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual RazorSyntaxTree ParseCodeBlock(
|
|
||||||
RazorLanguageVersion version,
|
|
||||||
string document,
|
|
||||||
IEnumerable<DirectiveDescriptor> directives,
|
|
||||||
bool designTime)
|
|
||||||
{
|
|
||||||
directives = directives ?? Array.Empty<DirectiveDescriptor>();
|
|
||||||
|
|
||||||
var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true);
|
|
||||||
|
|
||||||
var options = CreateParserOptions(version, directives, designTime);
|
|
||||||
var context = new ParserContext(source, options);
|
|
||||||
|
|
||||||
var codeParser = new CSharpCodeParser(directives, context);
|
|
||||||
var markupParser = new HtmlMarkupParser(context);
|
|
||||||
|
|
||||||
codeParser.HtmlParser = markupParser;
|
|
||||||
markupParser.CodeParser = codeParser;
|
|
||||||
|
|
||||||
var root = codeParser.ParseBlock().CreateRed();
|
|
||||||
|
|
||||||
var diagnostics = context.ErrorSink.Errors;
|
|
||||||
|
|
||||||
var syntaxTree = RazorSyntaxTree.Create(root, source, diagnostics, options);
|
|
||||||
|
|
||||||
return syntaxTree;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual void ParseBlockTest(string document, int? expectedParseLength = null)
|
|
||||||
{
|
|
||||||
ParseBlockTest(document, null, false, expectedParseLength);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual void ParseBlockTest(string document, bool designTime, int? expectedParseLength = null)
|
|
||||||
{
|
|
||||||
ParseBlockTest(document, null, designTime, expectedParseLength);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual void ParseBlockTest(string document, IEnumerable<DirectiveDescriptor> directives, int? expectedParseLength = null)
|
|
||||||
{
|
|
||||||
ParseBlockTest(document, directives, false, expectedParseLength);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual void ParseBlockTest(string document, IEnumerable<DirectiveDescriptor> directives, bool designTime, int? expectedParseLength = null)
|
|
||||||
{
|
|
||||||
ParseBlockTest(RazorLanguageVersion.Latest, document, directives, designTime, expectedParseLength);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, IEnumerable<DirectiveDescriptor> directives, bool designTime, int? expectedParseLength = null)
|
|
||||||
{
|
|
||||||
var result = ParseBlock(version, document, directives, designTime);
|
|
||||||
|
|
||||||
BaselineTest(result, expectedParseLength: expectedParseLength);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal virtual void ParseDocumentTest(string document)
|
internal virtual void ParseDocumentTest(string document)
|
||||||
{
|
{
|
||||||
ParseDocumentTest(document, null, false);
|
ParseDocumentTest(document, null, false);
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
||||||
// Verifies recursively that a syntax tree has no gaps in terms of position/location.
|
// Verifies recursively that a syntax tree has no gaps in terms of position/location.
|
||||||
internal class SyntaxTreeVerifier
|
internal class SyntaxTreeVerifier
|
||||||
{
|
{
|
||||||
public static void Verify(RazorSyntaxTree syntaxTree, bool ensureFullFidelity = true, int? expectedParseLength = null)
|
public static void Verify(RazorSyntaxTree syntaxTree, bool ensureFullFidelity = true)
|
||||||
{
|
{
|
||||||
var verifier = new Verifier(syntaxTree.Source);
|
var verifier = new Verifier(syntaxTree.Source);
|
||||||
verifier.Visit(syntaxTree.Root);
|
verifier.Visit(syntaxTree.Root);
|
||||||
|
|
@ -21,8 +21,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
||||||
{
|
{
|
||||||
var syntaxTreeString = syntaxTree.Root.ToFullString();
|
var syntaxTreeString = syntaxTree.Root.ToFullString();
|
||||||
var builder = new StringBuilder(syntaxTree.Source.Length);
|
var builder = new StringBuilder(syntaxTree.Source.Length);
|
||||||
var sourceLength = expectedParseLength ?? syntaxTree.Source.Length;
|
for (var i = 0; i < syntaxTree.Source.Length; i++)
|
||||||
for (var i = 0; i < sourceLength; i++)
|
|
||||||
{
|
{
|
||||||
builder.Append(syntaxTree.Source[i]);
|
builder.Append(syntaxTree.Source[i]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue