Module: Assert

Defined in:
lib/assert.rb,
lib/assert/cli.rb,
lib/assert/stub.rb,
lib/assert/test.rb,
lib/assert/view.rb,
lib/assert/macro.rb,
lib/assert/suite.rb,
lib/assert/utils.rb,
lib/assert/config.rb,
lib/assert/result.rb,
lib/assert/runner.rb,
lib/assert/context.rb,
lib/assert/factory.rb,
lib/assert/version.rb,
lib/assert/file_line.rb,
lib/assert/assertions.rb,
lib/assert/context_info.rb,
lib/assert/default_view.rb,
lib/assert/view_helpers.rb,
lib/assert/assert_runner.rb,
lib/assert/default_suite.rb,
lib/assert/config_helpers.rb,
lib/assert/default_runner.rb,
lib/assert/context/test_dsl.rb,
lib/assert/context/setup_dsl.rb,
lib/assert/context/suite_dsl.rb,
lib/assert/context/subject_dsl.rb

Defined Under Namespace

Modules: Assertions, ConfigHelpers, Factory, Macros, Result, RoundedMillisecondTime, Utils, ViewHelpers Classes: AssertRunner, CLI, CLIRB, Config, Context, ContextInfo, DefaultRunner, DefaultSuite, DefaultView, FileLine, Macro, Runner, Stub, Suite, Test, View

Constant Summary collapse

StubError =
Class.new(ArgumentError)
NotStubbedError =
Class.new(StubError)
StubArityError =
Class.new(StubError)
U =

alias for brevity

Utils
VERSION =
"2.16.3"

Class Method Summary collapse

Class Method Details

.configObject



13
# File 'lib/assert.rb', line 13

def self.config; @config ||= Config.new; end

.configure {|self.config| ... } ⇒ Object

Yields:



14
# File 'lib/assert.rb', line 14

def self.configure; yield self.config if block_given?; end

.runnerObject



18
# File 'lib/assert.rb', line 18

def self.runner; self.config.runner; end

.stub(obj, meth, &block) ⇒ Object



7
8
9
10
11
12
# File 'lib/assert/stub.rb', line 7

def self.stub(obj, meth, &block)
  (self.stubs[Assert::Stub.key(obj, meth)] ||= begin
    orig_caller = caller
    Assert::Stub.new(obj, meth, orig_caller)
  end).tap{ |s| s.do = block }
end

.stub_send(obj, meth, *args, &block) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/assert/stub.rb', line 22

def self.stub_send(obj, meth, *args, &block)
  orig_caller = caller
  stub = self.stubs.fetch(Assert::Stub.key(obj, meth)) do
    msg = "`#{meth}` not stubbed"
    raise NotStubbedError.new(msg).tap{ |e| e.set_backtrace(orig_caller) }
  end
  stub.call_method(args, &block)
end

.stubsObject



3
4
5
# File 'lib/assert/stub.rb', line 3

def self.stubs
  @stubs ||= {}
end

.suiteObject



17
# File 'lib/assert.rb', line 17

def self.suite;  self.config.suite;  end

.unstub(obj, meth) ⇒ Object



14
15
16
# File 'lib/assert/stub.rb', line 14

def self.unstub(obj, meth)
  (self.stubs.delete(Assert::Stub.key(obj, meth)) || Assert::Stub::NullStub.new).teardown
end

.unstub!Object



18
19
20
# File 'lib/assert/stub.rb', line 18

def self.unstub!
  self.stubs.keys.each{ |key| self.stubs.delete(key).teardown }
end

.viewObject



16
# File 'lib/assert.rb', line 16

def self.view;   self.config.view;   end