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/example_metadata.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: ExampleMetadata, MethodSignature, MethodSignaturesReport, ParseMethodSignature, RecordedMethodSignature, RecordedMethodSignatureRegistry, SimpleDouble, StackFrame
Constant Summary
collapse
- VERSION =
"0.8.1"
Class Method Summary
collapse
Class Method Details
.allow_any_instance_of(klass) ⇒ Object
27
28
29
30
31
|
# File 'lib/verified_double.rb', line 27
def self.allow_any_instance_of(klass)
super(klass).tap do |d|
VerifiedDouble.registry.current_double = VerifiedDouble.record(d)
end
end
|
.doubles_in_current_test ⇒ Object
33
34
35
|
# File 'lib/verified_double.rb', line 33
def self.doubles_in_current_test
@doubles_in_current_test ||= []
end
|
.expect_any_instance_of(klass) ⇒ Object
37
38
39
40
41
|
# File 'lib/verified_double.rb', line 37
def self.expect_any_instance_of(klass)
super(klass).tap do |d|
VerifiedDouble.registry.current_double = VerifiedDouble.record(d)
end
end
|
.of_class(class_value, options = {}) ⇒ Object
43
44
45
46
47
48
49
50
|
# File 'lib/verified_double.rb', line 43
def self.of_class(class_value, options = {})
if options[:transfer_nested_constants].nil?
options[:transfer_nested_constants] = true
end
d = stub_const(class_value.to_s, Class.new, options)
d.extend(VerifiedDouble::IsAClassDouble)
VerifiedDouble.record(d)
end
|
.of_instance(*args) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/verified_double.rb', line 52
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
68
69
70
71
72
|
# File 'lib/verified_double.rb', line 68
def self.record(a_double)
VerifiedDouble.doubles_in_current_test << a_double
a_double.extend(VerifiedDouble::CanRecordInteractions)
a_double
end
|
.registry ⇒ Object
74
75
76
|
# File 'lib/verified_double.rb', line 74
def self.registry
@registry ||= RecordedMethodSignatureRegistry.new
end
|
.report_unverified_signatures(nested_example_group) ⇒ Object
78
79
80
81
82
83
84
85
86
|
# File 'lib/verified_double.rb', line 78
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
88
89
90
|
# File 'lib/verified_double.rb', line 88
def self.verified_signatures_from_matchers
@verified_signatures_from_matchers ||= []
end
|
.wrap(object) ⇒ Object
92
93
94
95
96
97
98
99
100
|
# File 'lib/verified_double.rb', line 92
def self.wrap(object)
if object.is_a?(Module)
object.extend(VerifiedDouble::IsAClassDouble)
else
object.extend(VerifiedDouble::IsAnInstanceDouble)
end
VerifiedDouble.record(object)
end
|