UNPKG

cucumber

Version:

The official JavaScript implementation of Cucumber.

51 lines (43 loc) 1.68 kB
var Configuration = function(argv) { var Cucumber = require('../../cucumber'); var argumentParser = Cucumber.Cli.ArgumentParser(); argumentParser.parse(argv); var self = { getFeatureSources: function getFeatureSources() { var featureFilePaths = argumentParser.getFeatureFilePaths(); var featureSourceLoader = Cucumber.Cli.FeatureSourceLoader(featureFilePaths); var featureSources = featureSourceLoader.getSources(); return featureSources; }, getAstFilter: function getAstFilter() { var tagRules = self.getTagAstFilterRules(); var astFilter = Cucumber.Ast.Filter(tagRules); return astFilter; }, getSupportCodeLibrary: function getSupportCodeLibrary() { var supportCodeFilePaths = argumentParser.getSupportCodeFilePaths(); var supportCodeLoader = Cucumber.Cli.SupportCodeLoader(supportCodeFilePaths); var supportCodeLibrary = supportCodeLoader.getSupportCodeLibrary(); return supportCodeLibrary; }, getTagAstFilterRules: function getTagAstFilterRules() { var tagGroups = argumentParser.getTagGroups(); var rules = []; tagGroups.forEach(function(tags) { var rule = Cucumber.Ast.Filter.AnyOfTagsRule(tags); rules.push(rule); }); return rules; }, isHelpRequested: function isHelpRequested() { var isHelpRequested = argumentParser.isHelpRequested(); return isHelpRequested; }, isVersionRequested: function isVersionRequested() { var isVersionRequested = argumentParser.isVersionRequested(); return isVersionRequested; } }; return self; }; module.exports = Configuration;