import AbstractProvenanceProvider from '@cafetextual/util/dist/src/module/AbstractProvenanceProvider'; import GSuiteContext from "./GSuiteContext"; import GTestContext from "./GTestContext"; import { ITypeManifest, IIterator } from '@cafetextual/util'; import GrammarTestSuite from '../testsuite/GrammarTestSuite'; import GrammarTest from '../testsuite/GrammarTest'; import ParseResult from '../testsuite/ParseResult'; import GrammarTestSrc from '../testsuite/GrammarTestSrc'; export declare type ResourceData = { rtype: string; suri: string; data: any; }; /** * Create a GSuiteContext, while handling all the serializaion, metagrammar parsing, initialization etc * required to set up a suites of grammar tests. * * (Run the tests using GrammarTestsuiteRunner) * * note: - stateless, should just make all mehods static * */ export default class GrammarTestsuiteMgr extends AbstractProvenanceProvider { context: GSuiteContext; parseGrammarLocally: boolean; jsonResourcesByURI: { [suri: string]: any; }; constructor(resources: Array, rawResouces: Array, manifest: ITypeManifest, parseGrammarLocally?: boolean); rawResourceByDocURI(docURI: string): any; getAllTestsuiteRawResoure(): Array; private init(resources, rawResouces, manifest, parseGrammarLocally); addTestsuiteFromSrc(uri: string, src: string): void; /** * Resolve and initialze grammar as per test * * * @param parseGrammarLocally - do this when we need * * */ initTestGrammar(gtest: GrammarTest, testContext: GTestContext, parseGrammarLocally: boolean): ParseResult; initTestSuite(ts: GrammarTestSuite, suiteContext: GSuiteContext, parseGrammarLocally: boolean): GTestContext; addTestSuite(testContext: GTestContext, suiteContext: GSuiteContext, parseGrammarLocally: boolean): GTestContext; srcIt(ts: GrammarTestSuite): IIterator; private resolveImportGrammar(importDef, context); private deserializeGrammar(data, context); private initializeGrammar(g, context); parseTestSuite(uri: string, src: string, suiteContext: GSuiteContext): GTestContext; /** * serializes a list of test suites */ serializeTestsuites(): string; runAllTestSuites(asReference: boolean): void; runTest(ctx: GTestContext, gtest: GrammarTest, src: GrammarTestSrc): ParseResult; parseGrammarToAst(ctx: GTestContext, src: Array): ParseResult; updateGrammarSrc(ts: GrammarTestSuite, gctx: GTestContext, gtest: GrammarTest, newSrc: Array): ParseResult; grammarHasfutureDependencis(gctx: GTestContext, gtest: GrammarTest): boolean; }