Module: Pork::Imp

Included in:
Executor
Defined in:
lib/pork/imp.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#descObject (readonly)

Returns the value of attribute desc.



9
10
11
# File 'lib/pork/imp.rb', line 9

def desc
  @desc
end

#testsObject (readonly)

Returns the value of attribute tests.



9
10
11
# File 'lib/pork/imp.rb', line 9

def tests
  @tests
end

Instance Method Details

#after(&block) ⇒ Object



12
# File 'lib/pork/imp.rb', line 12

def after  &block; @tests << [:after , block]; end

#before(&block) ⇒ Object



11
# File 'lib/pork/imp.rb', line 11

def before &block; @tests << [:before, block]; end

#copy(desc = :default, &suite) ⇒ Object



14
15
16
# File 'lib/pork/imp.rb', line 14

def copy  desc=:default, &suite
  @stash[desc] = suite
end

#describe(desc = :default, &suite) ⇒ Object



21
22
23
24
25
# File 'lib/pork/imp.rb', line 21

def describe desc=:default, &suite
  executor = Class.new(self){ init("#{desc}: ") }
  executor.module_eval(&suite)
  @tests << [:describe, executor]
end

#execute(mode, *args) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/pork/imp.rb', line 31

def execute mode, *args
  require "pork/mode/#{mode}"
  if args.size == 1 || mode.to_s != 'sequential'
    send(mode, *args)
  else # cannot run sequential tests for specific paths
    shuffled(*args)
  end
end

#paste(desc = :default, *args) ⇒ Object



17
18
19
# File 'lib/pork/imp.rb', line 17

def paste desc=:default, *args
  module_exec(*args, &search_stash(desc))
end

#would(desc = :default, &test) ⇒ Object



27
28
29
# File 'lib/pork/imp.rb', line 27

def would desc=:default, &test
  @tests << [:would, desc, test]
end