public void Text_returns_directive_token_text(string code) { var submissionParser = new SubmissionParser("csharp"); var tree = submissionParser.Parse(code); tree.GetRoot() .DescendantNodesAndTokensAndSelf() .Should() .ContainSingle <DirectiveToken>() .Which .Text .Should() .Be("#!foo"); }
public void Directive_character_ranges_can_be_read() { var markupCode = @" [|#!csharp|] var x = 123; x "; MarkupTestFile.GetSpan(markupCode, out var code, out var span); var tree = new SubmissionParser("csharp").Parse(code); var textSpan = tree.GetRoot() .FindNode(span) .ChildTokens .OfType <DirectiveToken>() .Single() .Span; textSpan.Should().BeEquivalentTo(span); }