Sha256: c5ca472ea4d9656f39dbf5bc0334af7cd8d5e0477092b77a951454771b1ea165

Contents?: true

Size: 995 Bytes

Versions: 5

Compression:

Stored size: 995 Bytes

Contents

require 'cucumber/core/test/filters/tag_filter'
module Cucumber
  module Core
    module Test

      class LocationsFilter
        def initialize(locations, receiver)
          @receiver = receiver
          @locations = locations
        end

        def test_case(test_case)
          if test_case.match_locations?(@locations)
            test_case.describe_to @receiver
          end
          self
        end

        def done
          @receiver.done
          self
        end
      end

      class NameFilter
        include Cucumber.initializer(:name_regexps, :receiver)

        def test_case(test_case)
          if accept?(test_case)
            test_case.describe_to(receiver)
          end
          self
        end

        def done
          @receiver.done
          self
        end

        private

        def accept?(test_case)
          name_regexps.empty? || name_regexps.any? { |name_regexp| test_case.match_name?(name_regexp) }
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cucumber-core-1.0.0.beta.3 lib/cucumber/core/test/filters.rb
cucumber-core-1.0.0.beta.2 lib/cucumber/core/test/filters.rb
cucumber-core-1.0.0.beta.1 lib/cucumber/core/test/filters.rb
cucumber-core-0.2.0 lib/cucumber/core/test/filters.rb
cucumber-core-0.1.0 lib/cucumber/core/test/filters.rb