class TrueTest::Context

Attributes

setup[RW]

Public Class Methods

current() click to toggle source
# File lib/true_test/context.rb, line 5
def current
  @@context ||= TrueTest::Context.new
  @@context
end

Public Instance Methods

description() click to toggle source
# File lib/true_test/context.rb, line 30
def description
  parts = []
  parts += ['when', @setup] if @setup
  parts += ['with', fixtures.collect(&:description).join(' and ')] if fixtures.any?
  parts.join(' ')
end
evaluate(binding, &block) click to toggle source

safe evaluation that creates a failed test if an exception is raised instead of blowing up entire suite

# File lib/true_test/context.rb, line 37
def evaluate(binding, &block)
  begin
    binding.instance_eval &block
  rescue => e
    TrueTest::PositiveAssertion.new('not raise error', &block).evaluate binding
  end
end
fixtures() click to toggle source
# File lib/true_test/context.rb, line 26
def fixtures
  @fixtures ||= []
  @fixtures
end
setup_fixtures(binding, keys) click to toggle source
# File lib/true_test/context.rb, line 11
def setup_fixtures(binding, keys)
  context = self
  keys.each do |key|
    self.evaluate binding do
      context.fixtures << TrueTest::Fixture.evaluate(key, binding)
    end
  end
end
teardown(binding) click to toggle source
# File lib/true_test/context.rb, line 19
def teardown(binding)
  fixtures.each do |fixture|
    fixture.unbind binding
  end
  fixtures.clear
  @@context = nil
end