class ParallelTests::Cucumber::GherkinListener

Attributes

collect[R]

Public Class Methods

new() click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 8
def initialize
  @steps, @uris = [], []
  @collect = {}
  reset_counters!
end

Public Instance Methods

background(*args) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 14
def background(*args)
  @background = 1
end
eof(*args) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 46
def eof(*args)
  @collect[@uri] += (@background_steps * @scenarios) + (@outline_steps * @examples)
  reset_counters!
end
examples(*args) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 42
def examples(*args)
  @examples += 1
end
method_missing(*args) click to toggle source

ignore lots of other possible callbacks …

# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 56
def method_missing(*args)
end
reset_counters!() click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 51
def reset_counters!
  @examples = @outline = @outline_steps = @background = @background_steps = @scenarios = 0
end
scenario(*args) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 18
def scenario(*args)
  @scenarios += 1
  @outline = @background = 0
end
scenario_outline(*args) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 23
def scenario_outline(*args)
  @outline = 1
end
step(*args) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 27
def step(*args)
  if @background == 1
    @background_steps += 1
  elsif @outline > 0
    @outline_steps += 1
  else
    @collect[@uri] += 1
  end
end
uri(path) click to toggle source
# File lib/parallel_tests/cucumber/gherkin_listener.rb, line 37
def uri(path)
  @uri = path
  @collect[@uri] = 0
end