Module: VerifiedDouble
- Extended by:
- RSpec::Mocks::ExampleMethods
- Defined in:
- lib/verified_double.rb,
lib/verified_double/boolean.rb,
lib/verified_double/version.rb,
lib/verified_double/matchers.rb,
lib/verified_double/stack_frame.rb,
lib/verified_double/simple_double.rb,
lib/verified_double/method_signature.rb,
lib/verified_double/is_a_class_double.rb,
lib/verified_double/is_an_instance_double.rb,
lib/verified_double/method_signature/value.rb,
lib/verified_double/parse_method_signature.rb,
lib/verified_double/can_record_interactions.rb,
lib/verified_double/method_signatures_report.rb,
lib/verified_double/recorded_method_signature.rb,
lib/verified_double/method_signature/class_value.rb,
lib/verified_double/rspec_mocks_syntax_overrides.rb,
lib/verified_double/method_signature/boolean_value.rb,
lib/verified_double/method_signature/instance_value.rb,
lib/verified_double/recorded_method_signature_registry.rb,
lib/verified_double/method_signature/rspec_double_value.rb
Defined Under Namespace
Modules: Boolean, CanRecordInteractions, IsAClassDouble, IsAnInstanceDouble, Matchers, RSpecMocksSyntaxOverrides
Classes: MethodSignature, MethodSignaturesReport, ParseMethodSignature, RecordedMethodSignature, RecordedMethodSignatureRegistry, SimpleDouble, StackFrame
Constant Summary
collapse
- VERSION =
"0.4.2"
Class Method Summary
collapse
Class Method Details
.of_class(class_name, options = {}) ⇒ Object
26
27
28
29
30
31
|
# File 'lib/verified_double.rb', line 26
def self.of_class(class_name, options = {})
options[:transfer_nested_constants] = true if options[:transfer_nested_constants].nil?
d = stub_const(class_name, Class.new, options)
d.extend(VerifiedDouble::IsAClassDouble)
VerifiedDouble.record(d)
end
|
.of_instance(*args) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/verified_double.rb', line 33
def self.of_instance(*args)
d = double(*args)
d.extend(VerifiedDouble::IsAnInstanceDouble)
simple_double = SimpleDouble.new(d)
if args[1]
args[1].each do |method, return_value|
method_signature = simple_double.build_recorded_method_signature(method)
method_signature.return_values = [MethodSignature::Value.from(return_value)]
VerifiedDouble.registry.insert 0, method_signature
end
end
VerifiedDouble.record(d)
end
|
.record(a_double) ⇒ Object
49
50
51
52
|
# File 'lib/verified_double.rb', line 49
def self.record(a_double)
a_double.extend(VerifiedDouble::CanRecordInteractions)
a_double
end
|
.registry ⇒ Object
54
55
56
|
# File 'lib/verified_double.rb', line 54
def self.registry
@registry ||= RecordedMethodSignatureRegistry.new
end
|
.report_unverified_signatures(nested_example_group) ⇒ Object
58
59
60
61
62
63
64
65
66
|
# File 'lib/verified_double.rb', line 58
def self.report_unverified_signatures(nested_example_group)
MethodSignaturesReport.new
.set_registered_signatures
.set_verified_signatures_from_tags(nested_example_group)
.set_verified_signatures_from_matchers
.merge_verified_signatures
.identify_unverified_signatures
.output_unverified_signatures
end
|
.verified_signatures_from_matchers ⇒ Object
68
69
70
|
# File 'lib/verified_double.rb', line 68
def self.verified_signatures_from_matchers
@verified_signatures_from_matchers ||= []
end
|