rspec-mocks-diag 3.8.1.1 → 3.8.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77e3ee2ecfc877fba5c1c9032d0f07f108407f504e18afdb32a3b47da49d44af
4
- data.tar.gz: fa4505b692822a38ecff0dab0e3906fae12ef68e1f8bcd4b5fc465935bdf37fc
3
+ metadata.gz: cabd49758a2f5b8020f328ab1105cc85886cda2739117cd2015961e2be8d439c
4
+ data.tar.gz: c2f58dbff88f7bbebbf1a950f6b3bb47ba42378bbafa45f722f65d523a04b599
5
5
  SHA512:
6
- metadata.gz: 1def73cb2de11472ad0a7b573fea7dc93a9f19afce654072331d3c9ec378ef28e3263e99cbc45a06fd2223bdc7fdcd3997f3eb710a0b3a34a35d7f468367aa70
7
- data.tar.gz: d4f6f36a9c8e18b624c2b5300b7fb703fdf4291c9231f9067662abc1f1794b4ce1a89a238d50c5702aca46b37c408f64a78a11322db3ba42245d410a3a07757a
6
+ metadata.gz: ad6f5c38c0a79a3fa75dbaaf721d7ceeb85d7a23be1e52198f76343fd4e48cc7ab32682bc9964cd290a23754e70ac847325758f26ef73b0350a0c18fe1dded91
7
+ data.tar.gz: 72a03fa13751b377146bc4186c604f3e32657292f787d20b14f4ef5270249ff5510302f14cf221b127b0f2ce4313dfe4ec1bad98054a1e18667c199b927e521e
@@ -12,9 +12,17 @@ module RSpec
12
12
  __raise "#{klass} does not implement ##{method_name}"
13
13
  end
14
14
 
15
- def raise_message_already_received_by_other_instance_error(method_name, object_inspect, invoked_instance)
15
+ def raise_message_already_received_by_other_instance_error(method_name, object_inspect, invoked_instance, invoked_backtrace)
16
+ begin
17
+ raise RuntimeError
18
+ rescue => e
19
+ backtrace = e.backtrace
20
+ end
16
21
  __raise "The message '#{method_name}' was received by #{object_inspect} " \
17
- "but has already been received by #{invoked_instance}"
22
+ "but has already been received by #{invoked_instance}.\nCurrent backtrace:\n" +
23
+ backtrace.map { |line| ' ' + line }.join("\n") +
24
+ "\nPrevious backtrace: \n" +
25
+ invoked_backtrace.map { |line| ' ' + line }.join("\n")
18
26
  end
19
27
 
20
28
  def raise_not_supported_with_prepend_error(method_name, problem_mod)
@@ -261,11 +261,16 @@ module RSpec
261
261
  def mark_invoked!(method_name)
262
262
  backup_method!(method_name)
263
263
  recorder = self
264
+ begin
265
+ raise RuntimeError
266
+ rescue => e
267
+ invoked_backtrace = e.backtrace
268
+ end
264
269
  @klass.__send__(:define_method, method_name) do |*_args, &_blk|
265
270
  invoked_instance = recorder.instance_that_received(method_name)
266
271
  inspect = "#<#{self.class}:#{object_id} #{instance_variables.map { |name| "#{name}=#{instance_variable_get name}" }.join(', ')}>"
267
272
  AnyInstance.error_generator.raise_message_already_received_by_other_instance_error(
268
- method_name, inspect, invoked_instance
273
+ method_name, inspect, invoked_instance, invoked_backtrace
269
274
  )
270
275
  end
271
276
  end
@@ -47,7 +47,7 @@ module RSpec
47
47
 
48
48
  # @private
49
49
  def raise_unexpected_message_error(message, args)
50
- __raise "#{intro} received unexpected message :#{message} with #{format_args(args)}"
50
+ __raise "#{intro} received unexpected message :#{message} with #{format_args(args)}\nDouble instantiated from:\n#{@target._rspec_backtrace.map { |line| ' ' + line }.join("\n")}"
51
51
  end
52
52
 
53
53
  # @private
@@ -15,8 +15,18 @@ module RSpec
15
15
  @name = name
16
16
  end
17
17
  assign_stubs(stubs)
18
+
19
+ begin
20
+ raise RuntimeError
21
+ rescue => e
22
+ @_rspec_backtrace = e.backtrace.dup.tap do |bt|
23
+ bt.shift
24
+ end
25
+ end
18
26
  end
19
27
 
28
+ attr_reader :_rspec_backtrace
29
+
20
30
  # Tells the object to respond to all messages. If specific stub values
21
31
  # are declared, they'll work as expected. If not, the receiver is
22
32
  # returned.
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec mocks.
4
4
  module Version
5
5
  # Version of RSpec mocks currently in use in SemVer format.
6
- STRING = '3.8.1.1'
6
+ STRING = '3.8.1.2'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-mocks-diag
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.1.1
4
+ version: 3.8.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Baker
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-08-12 00:00:00.000000000 Z
13
+ date: 2019-08-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec-support
@@ -159,7 +159,7 @@ licenses:
159
159
  - MIT
160
160
  metadata:
161
161
  bug_tracker_uri: https://github.com/p-mongo/rspec-mocks/issues
162
- changelog_uri: https://github.com/p-mongo/rspec-mocks/blob/v3.8.1.1/Changelog.md
162
+ changelog_uri: https://github.com/p-mongo/rspec-mocks/blob/v3.8.1.2/Changelog.md
163
163
  documentation_uri: https://rspec.info/documentation/
164
164
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
165
165
  source_code_uri: https://github.com/p-mongo/rspec-mocks
@@ -182,5 +182,5 @@ requirements: []
182
182
  rubygems_version: 3.0.3
183
183
  signing_key:
184
184
  specification_version: 4
185
- summary: rspec-mocks-3.8.1.1
185
+ summary: rspec-mocks-3.8.1.2
186
186
  test_files: []