def verify_filter(filters, *line_ranges)
io = StringIO.new
pretty_formatter = Gherkin::Formatter::PrettyFormatter.new(io, true, false)
filter_formatter = Gherkin::Formatter::FilterFormatter.new(pretty_formatter, filters)
parser = Gherkin::Parser::Parser.new(filter_formatter)
path = File.dirname(__FILE__) + "/../fixtures/" + file
source = File.new(path).read + "# __EOF__"
parser.parse(source, path, 0)
source_lines = source.split("\n")
expected = (line_ranges.map do |line_range|
source_lines[(line_range.first-1..line_range.last-1)]
end.flatten).join("\n").gsub(/# __EOF__/, '')
io.string.should == expected
end