Module: TestBench

Defined in:
lib/test_bench/assert.rb,
lib/test_bench/output.rb,
lib/test_bench/result.rb,
lib/test_bench/runner.rb,
lib/test_bench/cli/cli.rb,
lib/test_bench/fixture.rb,
lib/test_bench/executor.rb,
lib/test_bench/registry.rb,
lib/test_bench/settings.rb,
lib/test_bench/structure.rb,
lib/test_bench/telemetry.rb,
lib/test_bench/test_bench.rb,
lib/test_bench/assert/proc.rb,
lib/test_bench/expand_path.rb,
lib/test_bench/result/null.rb,
lib/test_bench/assert/failed.rb,
lib/test_bench/assert/refute.rb,
lib/test_bench/controls/path.rb,
lib/test_bench/output/writer.rb,
lib/test_bench/controls/error.rb,
lib/test_bench/output/palette.rb,
lib/test_bench/controls/output.rb,
lib/test_bench/controls/result.rb,
lib/test_bench/controls/binding.rb,
lib/test_bench/controls/fixture.rb,
lib/test_bench/output/assertions.rb,
lib/test_bench/result/assertions.rb,
lib/test_bench/settings/defaults.rb,
lib/test_bench/settings/registry.rb,
lib/test_bench/controls/telemetry.rb,
lib/test_bench/telemetry/registry.rb,
lib/test_bench/controls/expand_path.rb,
lib/test_bench/controls/test_script.rb,
lib/test_bench/settings/environment.rb,
lib/test_bench/telemetry/assertions.rb,
lib/test_bench/controls/clock/elapsed.rb,
lib/test_bench/telemetry/subscription.rb,
lib/test_bench/controls/dir_substitute.rb,
lib/test_bench/controls/clock/reference.rb,
lib/test_bench/output/writer/assertions.rb,
lib/test_bench/controls/kernel_substitute.rb,
lib/test_bench/controls/executor/substitute.rb,
lib/test_bench/output/writer/assertions/line.rb

Defined Under Namespace

Modules: Controls, Fixture, Structure Classes: Assert, CLI, Executor, ExpandPath, Output, Registry, Result, Runner, Settings, Telemetry

Class Method Summary collapse

Class Method Details

.activateObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/test_bench/test_bench.rb', line 2

def self.activate
  # Monkeypatch assert, context, and test onto the main object
  unless TOPLEVEL_BINDING.receiver.is_a? Structure
    TOPLEVEL_BINDING.receiver.extend Structure
  end

  # Ruby pre 2.2 did not implement Binding#receiver
  unless TOPLEVEL_BINDING.respond_to? :receiver
    ::Binding.class_exec do
      def receiver
        eval "self"
      end
    end
  end
end