class Cucumber::Ast::Tags::And
:nodoc:
:nodoc:
This gets stored internally as ["invoice", "release_2"]
@invoice @release_2
Holds the names of tags parsed from a feature file:
def excluded?(tag_names)
def excluded?(tag_names) (@negative_tags & tag_names).any? end
def included?(tag_names)
def included?(tag_names) positive_tag_set = Set.new(@positive_tags) tag_names_set = Set.new(tag_names) positive_tag_set.subset?(tag_names_set) end
def initialize(tag_names)
:nodoc:
This gets stored internally as ["invoice", "release_2"]
@invoice @release_2
Holds the names of tags parsed from a feature file:
def initialize(tag_names) if String === tag_names # They still come in as single strings on cuke4duke some times. Not sure why... raise "Commas in tags??? #{tag_names.inspect}" if tag_names =~ /,/ # just in case... tag_names = [tag_names] end @negative_tags, @positive_tags = tag_names.partition{|tag_name| Tags.exclude_tag?(tag_name)} @negative_tags = Tags.strip_negative_char(@negative_tags) end
def matches?(tag_names)
def matches?(tag_names) included?(tag_names) && !excluded?(tag_names) end