skutter
Version:
Skutter: Opinionated BDD Browser based test framework
28 lines (27 loc) • 1.19 kB
JavaScript
;
const Yadda = require("yadda");
const feature_factory_1 = require("./feature-factory");
class FeatureProvider {
static load(searchPath) {
let yaddaFeatureParser = new Yadda.parsers.FeatureFileParser(Yadda.localisation.English);
let yaddaFeaturePaths = new Yadda.FeatureFileSearch(searchPath);
let yaddaFeaturePackages = [];
yaddaFeaturePaths.each((sourcePath) => {
try {
let feature = yaddaFeatureParser.parse(sourcePath);
let yaddaFeaturePackage = { feature: feature, filePath: sourcePath };
yaddaFeaturePackages.push(yaddaFeaturePackage);
}
catch (exception) {
throw new Error(`Yadda Parse error while processing file '${sourcePath}'. Message: ${exception.message}.`);
}
});
let skutterFeatures = [];
for (let sourcePackage of yaddaFeaturePackages) {
let feature = feature_factory_1.FeatureFactory.create(sourcePackage.feature, sourcePackage.filePath);
skutterFeatures.push(feature);
}
return skutterFeatures;
}
}
exports.FeatureProvider = FeatureProvider;