Module: Sus

Defined in:
lib/sus/be.rb,
lib/sus/it.rb,
lib/sus/let.rb,
lib/sus/base.rb,
lib/sus/file.rb,
lib/sus/have.rb,
lib/sus/mock.rb,
lib/sus/tree.rb,
lib/sus/with.rb,
lib/sus/clock.rb,
lib/sus/config.rb,
lib/sus/expect.rb,
lib/sus/filter.rb,
lib/sus/output.rb,
lib/sus/shared.rb,
lib/sus/context.rb,
lib/sus/receive.rb,
lib/sus/version.rb,
lib/sus/describe.rb,
lib/sus/fixtures.rb,
lib/sus/have/all.rb,
lib/sus/have/any.rb,
lib/sus/identity.rb,
lib/sus/registry.rb,
lib/sus/be_truthy.rb,
lib/sus/be_within.rb,
lib/sus/assertions.rb,
lib/sus/output/bar.rb,
lib/sus/respond_to.rb,
lib/sus/output/null.rb,
lib/sus/output/text.rb,
lib/sus/integrations.rb,
lib/sus/output/lines.rb,
lib/sus/output/xterm.rb,
lib/sus/have_duration.rb,
lib/sus/output/status.rb,
lib/sus/include_context.rb,
lib/sus/it_behaves_like.rb,
lib/sus/output/buffered.rb,
lib/sus/output/messages.rb,
lib/sus/output/progress.rb,
lib/sus/raise_exception.rb,
lib/sus/output/backtrace.rb,
lib/sus/output/structured.rb

Overview

Released under the MIT License. Copyright, 2022-2024, by Samuel Williams.

Defined Under Namespace

Modules: BeFalsey, BeTruthy, Context, Describe, File, Fixtures, Have, Integrations, It, ItBehavesLike, Mocks, Output, Shared, With Classes: Assertions, Base, Be, BeWithin, Clock, Config, Expect, Filter, HaveDuration, Identity, Mock, RaiseException, Receive, Registry, RespondTo, Tree

Constant Summary collapse

TOPLEVEL_CLASS_EVAL =

This has to be done at the top level. It allows us to define constants within the given class while still retaining top-level constant resolution.

->(__klass__, __path__){__klass__.class_eval(::File.read(__path__), __path__)}
VERSION =
"0.33.1"

Class Method Summary collapse

Class Method Details

.base(description = nil, root: nil) ⇒ Object



55
56
57
58
59
60
61
62
63
64
# File 'lib/sus/base.rb', line 55

def self.base(description = nil, root: nil)
	base = Class.new(Base)
	
	base.extend(Context)
	base.identity = Identity.new(root) if root
	base.description = description
	base.set_temporary_name("#{self}[#{description}]")
	
	return base
end

.Shared(name, &block) ⇒ Object



31
32
33
# File 'lib/sus/shared.rb', line 31

def self.Shared(name, &block)
	Shared.build(name, block)
end