public void NestedDefintion() { var content = @" # Header comment Document 'Doc1' { } "; var scriptAst = ScriptBlock.Create(content).Ast; var visitor = new LanguageAst(GetContext()); scriptAst.Visit(visitor); Assert.Null(visitor.Errors); content = @" # Header comment Document 'Doc1' { Document 'Doc2' { } } "; scriptAst = ScriptBlock.Create(content).Ast; visitor = new LanguageAst(GetContext()); scriptAst.Visit(visitor); Assert.Single(visitor.Errors); }
public void UnvalidDefinition() { var content = @" Document '' { } Document { } Document 'Doc1'; Document '' { } Document 'Doc2' { } Document -Name 'Doc3' { } Document -Name 'Doc3' -Body { } "; var scriptAst = ScriptBlock.Create(content).Ast; var visitor = new LanguageAst(GetContext()); scriptAst.Visit(visitor); Assert.NotNull(visitor.Errors); Assert.Equal(4, visitor.Errors.Count); }