58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import * as plugins from './tstest.plugins';
|
|
import * as paths from './tstest.paths';
|
|
import { Smartfile } from '@pushrocks/smartfile';
|
|
|
|
// tap related stuff
|
|
import { TapCombinator } from './tstest.classes.tap.combinator';
|
|
import { TapParser } from './tstest.classes.tap.parser';
|
|
import { TapTestResult } from './tstest.classes.tap.testresult';
|
|
|
|
export class TestDirectory {
|
|
/**
|
|
* the current working directory
|
|
*/
|
|
cwd: string;
|
|
|
|
/**
|
|
* the relative location of the test dir
|
|
*/
|
|
relativePath: string;
|
|
|
|
/**
|
|
* the absolute path of the test dir
|
|
*/
|
|
absolutePath: string;
|
|
|
|
/**
|
|
* an array of Smartfiles
|
|
*/
|
|
testfileArray: Smartfile[] = [];
|
|
|
|
/**
|
|
* the constructor for TestDirectory
|
|
* tell it the path
|
|
* @param pathToTestDirectory
|
|
*/
|
|
constructor(cwdArg: string, relativePathToTestDirectory: string) {
|
|
this.cwd = cwdArg;
|
|
this.relativePath = relativePathToTestDirectory;
|
|
}
|
|
|
|
private async _init() {
|
|
this.testfileArray = await plugins.smartfile.fs.fileTreeToObject(
|
|
plugins.path.join(this.cwd, this.relativePath),
|
|
'**/*.ts'
|
|
);
|
|
}
|
|
|
|
async getTestFilePathArray() {
|
|
await this._init();
|
|
const testFilePaths: string[] = [];
|
|
for (const testFile of this.testfileArray) {
|
|
const filePath = plugins.path.join(this.relativePath, testFile.path);
|
|
testFilePaths.push(filePath);
|
|
}
|
|
return testFilePaths;
|
|
}
|
|
}
|