module Pork::Suite::Imp

Attributes

desc[R]
tests[R]

Public Instance Methods

after(█) click to toggle source
# File lib/pork/suite.rb, line 11
def after  &block; @tests << [:after , block]; end
before(&block;) click to toggle source
# File lib/pork/suite.rb, line 10
def before &block; @tests << [:before, block]; end
copy(desc=:default, &suite) click to toggle source
# File lib/pork/suite.rb, line 13
def copy  desc=:default, &suite
  @stash[desc] = suite
end
describe(desc=:default, opts={}) click to toggle source
# File lib/pork/suite.rb, line 20
def describe desc=:default, opts={}, &suite
  executor = Class.new(self){ init(desc) }
  executor.module_eval(&suite)
  @tests << [:describe, executor, suite, opts]
end
description_for(name='') click to toggle source
# File lib/pork/suite.rb, line 31
def description_for name=''
  if @super_executor
    "#{@super_executor.description_for}#{@desc}: #{name}"
  else
    name
  end
end
paste(desc=:default, *args) click to toggle source
# File lib/pork/suite.rb, line 16
def paste desc=:default, *args
  module_exec(*args, &search_stash(desc))
end
run(*args) click to toggle source
# File lib/pork/suite.rb, line 39
def run *args
  Runner.new(self, Pork.reseed, *args).run
end
would(desc=:default, opts={}) click to toggle source
# File lib/pork/suite.rb, line 26
def would desc=:default, opts={}, &test
  raise ArgumentError.new("no block given") unless test
  @tests << [:would   , desc    , test, opts]
end

Protected Instance Methods

search_stash(desc) click to toggle source
# File lib/pork/suite.rb, line 50
def search_stash desc
  @stash[desc] or @super_executor && @super_executor.search_stash(desc)
end

Private Instance Methods

init(desc='') click to toggle source
# File lib/pork/suite.rb, line 44
def init desc=''
  @desc, @tests, @stash = desc, [], {}
  @super_executor = ancestors[1..-1].find{ |a| a <= Suite }
end