flexmock 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 03806072bb0d8d4aec632fc5afb44d54f8f9f6f9
4
- data.tar.gz: b6d7c1a49f566b1cf6d38b51388f1196941098f0
3
+ metadata.gz: 7d8010b82bdccec43f2038e9b3698387e952027a
4
+ data.tar.gz: c034d8b46dec2354c06df15491213f1987d30309
5
5
  SHA512:
6
- metadata.gz: a82fdf26a842b8f00177c8d00987563c749818c17c6d75e465200e7472c5de0aeac8654023ef8d295ae603e9918f9ed9e4927b6236f6f79c92d9814482b1f059
7
- data.tar.gz: 3a236755c5b7754acc77c86e7595dfa4bec2800390eebbe6c2c9f9d4591b32e345ceda0b124769d169c123745fc268d7327aa4d8aa4c722ae0fec90baf308b4b
6
+ metadata.gz: f3bde508002be38eced12ee24efe4ad0092556da26930bbec98b3aed7a631035d84c943d01da70411d60085f2eb48ba8ca98584be2617f8f7f6cbd1d858acab2
7
+ data.tar.gz: 69a04f543a8a55765c354e061a94f1234dbfe8dc3c3963e7beeeccba74c534226936a0a528e96793f1a0a2349a9ba9c86706085fe001a191a421dfe3ce2ef931
@@ -85,6 +85,11 @@ class FlexMock
85
85
 
86
86
  # Teardown and infrastructure setup for this mock.
87
87
  def flexmock_teardown
88
+ @flexmock_closed = true
89
+ end
90
+
91
+ def flexmock_closed?
92
+ @flexmock_closed
88
93
  end
89
94
 
90
95
  # Ignore all undefined (missing) method calls.
@@ -105,7 +110,9 @@ class FlexMock
105
110
  call_record = CallRecord.new(sym, enhanced_args, block_given?)
106
111
  @calls << call_record
107
112
  flexmock_wrap do
108
- if handler = @expectations[sym]
113
+ if flexmock_closed?
114
+ FlexMock.undefined
115
+ elsif handler = @expectations[sym]
109
116
  handler.call(enhanced_args, call_record)
110
117
  elsif @base_class && @base_class.flexmock_defined?(sym)
111
118
  FlexMock.undefined
@@ -82,8 +82,8 @@ class FlexMock
82
82
  # Verify the current call with the given arguments matches the
83
83
  # expectations recorded in this object.
84
84
  def verify_call(*args)
85
- validate_order
86
85
  validate_eligible
86
+ validate_order
87
87
  @actual_count += 1
88
88
  perform_yielding(args)
89
89
  return_value(args)
@@ -138,10 +138,14 @@ class FlexMock
138
138
  # Validate that the order
139
139
  def validate_order
140
140
  if @order_number
141
- @mock.flexmock_validate_order(to_s, @order_number)
141
+ @mock.flexmock_validate_order(
142
+ to_s, @order_number,
143
+ SpyDescribers.describe_calls(@mock))
142
144
  end
143
145
  if @global_order_number
144
- @mock.flexmock_container.flexmock_validate_order(to_s, @global_order_number)
146
+ @mock.flexmock_container.flexmock_validate_order(
147
+ to_s, @global_order_number,
148
+ SpyDescribers.describe_calls(@mock))
145
149
  end
146
150
  end
147
151
  private :validate_order
@@ -39,11 +39,16 @@ class FlexMock
39
39
  @flexmock_current_order = value
40
40
  end
41
41
 
42
- def flexmock_validate_order(method_name, order_number)
43
- FlexMock.check("method #{method_name} called out of order " +
44
- "(expected order #{order_number}, was #{flexmock_current_order})") {
42
+ def flexmock_validate_order(method_name, order_number, calls_description = nil)
43
+ msg = "method #{method_name} called out of order " +
44
+ "(expected order #{order_number}, was #{flexmock_current_order})"
45
+ if calls_description
46
+ msg += "\n#{calls_description}"
47
+ end
48
+
49
+ FlexMock.check(msg) do
45
50
  order_number >= self.flexmock_current_order
46
- }
51
+ end
47
52
  self.flexmock_current_order = order_number
48
53
  end
49
54
  end
@@ -17,8 +17,6 @@ class FlexMock
17
17
  describe_spy(spy, sym, args, options, " NOT")
18
18
  end
19
19
 
20
- private
21
-
22
20
  def describe_spy(spy, sym, args, options, not_clause="")
23
21
  result = "expected "
24
22
  result << call_description(sym, args)
@@ -88,6 +86,7 @@ class FlexMock
88
86
  "#{sym}(...)"
89
87
  end
90
88
  end
89
+ extend SpyDescribers
91
90
  end
92
91
 
93
92
  end
@@ -1,3 +1,3 @@
1
1
  class FlexMock
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flexmock
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-17 00:00:00.000000000 Z
12
+ date: 2015-09-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -176,4 +176,3 @@ signing_key:
176
176
  specification_version: 4
177
177
  summary: Simple and Flexible Mock Objects for Testing
178
178
  test_files: []
179
- has_rdoc: