tstest/ts/tstest.classes.testdirectory.ts

58 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

2018-08-03 17:18:42 +00:00
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';
2018-08-03 17:18:42 +00:00
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),
2019-10-02 08:56:02 +00:00
'test*.ts'
2018-08-03 17:18:42 +00:00
);
}
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;
}
}