import IGrammarProvider from "./IGrammarProvider"; import GSuiteContext from "./GSuiteContext"; import { ITypeManifest, IIterator } from "@cafetextual/util"; import GrammarTest from "../testsuite/GrammarTest"; import GrammarTestSrc from "../testsuite/GrammarTestSrc"; import ParseResult from "../testsuite/ParseResult"; import GrammarTestSuite from "../testsuite/GrammarTestSuite"; import SeepGrammar from "../parser/SeepGrammar"; /** * context for the execution of grammar tests * */ export default class GTestContext implements IGrammarProvider { constructor(ts: GrammarTestSuite, suiteContext: GSuiteContext); testSuite: GrammarTestSuite; private _suiteContext; private _localGrammarsByURI; private _grammarsById; private _grammarsByTestUid; registerGrammarByUri(g: SeepGrammar, suri: string): void; registerGrammarById(g: SeepGrammar, id: string): void; grammarById(id: string): SeepGrammar; getGrammar(suri: string): SeepGrammar; getManifest(): ITypeManifest; private _log; log(v: string): void; registerGrammarForTest(g: SeepGrammar, gtest: GrammarTest): void; grammarByTest(gtest: GrammarTest): SeepGrammar; it(): IIterator; logStart(testSrc: GrammarTestSrc): void; /** * Log results of parsing (excluding data) * */ logResult(result: ParseResult): void; _results: { [testid: string]: any; }; /** * logs expected data */ logTestDataResult(gtest: GrammarTest, src: GrammarTestSrc, ok: boolean): void; uri(): string; updateSource(gtest: GrammarTest, gsrc: GrammarTestSrc, newSrc: Array): void; }