Sha256: 4d991b8668dea9cabd7ede2c617df41e79774d0d2e4598822af61d550bff1808
Contents?: true
Size: 1.05 KB
Versions: 46
Compression:
Stored size: 1.05 KB
Contents
require 'gherkin/tag_expression' require 'cucumber/runtime' require 'cucumber' require 'parallel_tests/cucumber/scenario_line_logger' require 'parallel_tests/gherkin/listener' module ParallelTests module Cucumber class Scenarios class << self def all(files, options={}) tags = [] tags.concat options[:ignore_tag_pattern].to_s.split(/\s*,\s*/).map {|tag| "~#{tag}" } tags.concat options[:test_options].to_s.scan(/(?:-t|--tags) (~?@[\w,~@]+)/).flatten split_into_scenarios files, tags.uniq end private def split_into_scenarios(files, tags=[]) tag_expression = ::Gherkin::TagExpression.new(tags) scenario_line_logger = ParallelTests::Cucumber::Formatters::ScenarioLineLogger.new(tag_expression) loader = ::Cucumber::Runtime::FeaturesLoader.new(files, [], tag_expression) loader.features.each do |feature| feature.accept(scenario_line_logger) end scenario_line_logger.scenarios end end end end end
Version data entries
46 entries across 46 versions & 2 rubygems