protected override void DoOneTest(string testName) { Logger.Catch(() => { testName = testName + ".js"; var testFile = GetTestDataFilePath2(testName); ExecuteWithGold(testName, writer => { var expressions = File.ReadAllLines(testFile.FullPath); foreach (var angularJsExpression in expressions) { var buffer = new StringBuffer(angularJsExpression); var lexer = new AngularJsLexerGenerated(buffer); var parser = new AngularJsParser(lexer); try { var parsedFile = parser.ParseFile(); Assert.NotNull(parsedFile); writer.WriteLine("Expression: «{0}»", angularJsExpression); writer.WriteLine("Language: {0}", parsedFile.Language); DebugUtil.DumpPsi(writer, parsedFile); writer.WriteLine(); var containingFile = parsedFile.GetContainingFile(); if (containingFile != null) { var rangeTranslator = ((IFileImpl)containingFile).SecondaryRangeTranslator as RangeTranslatorWithGeneratedRangeMap; if (rangeTranslator != null) { WriteCommentedText(writer, "//", rangeTranslator.Dump(containingFile)); } } } catch (Exception e) { writer.WriteLine(e); } } }); }); }
protected override void DoOneTest(string testName) { Logger.Catch(() => { testName = testName + ".js"; var testFile = GetTestDataFilePath2(testName); ExecuteWithGold(testName, writer => { var expressions = File.ReadAllLines(testFile.FullPath); foreach (var angularJsExpression in expressions) { var buffer = new StringBuffer(angularJsExpression); var lexer = new AngularJsLexerGenerated(buffer); var parser = new AngularJsParser(lexer); try { var parsedFile = parser.ParseFile(); Assert.NotNull(parsedFile); writer.WriteLine("Expression: «{0}»", angularJsExpression); writer.WriteLine("Language: {0}", parsedFile.Language); DebugUtil.DumpPsi(writer, parsedFile); writer.WriteLine(); var containingFile = parsedFile.GetContainingFile(); if (containingFile != null) { var rangeTranslator = ((IFileImpl) containingFile).SecondaryRangeTranslator as RangeTranslatorWithGeneratedRangeMap; if (rangeTranslator != null) WriteCommentedText(writer, "//", rangeTranslator.Dump(containingFile)); } } catch (Exception e) { writer.WriteLine(e); } } }); }); }