rspec-eventually 0.0.2 → 0.1.0

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: ea0bab5bdc95cf38f998961771feed626f67b865
4
- data.tar.gz: a4a3fc30a1f511dd8a2b29de71afd32c60a318e6
3
+ metadata.gz: c0572070062aed5c336c449433d973c8db9e1726
4
+ data.tar.gz: 4fb01d14e5b1001849134c0a0e5234a407907c39
5
5
  SHA512:
6
- metadata.gz: 7f5406d011216ea853af5281fa2d6fc56301b539a1752c6c91c75f73f5c87f04602016a0ea110b68e25c44e520031c1466a352e931158ad2813281bad1efb2c5
7
- data.tar.gz: 4125dca11af2ede3837f4853df802a975ec8ea14b9ad3b1a190fac643a1093390126e7817b657f967086cc1360a174f57493ee132bc1851e6e06908db8b7eb54
6
+ metadata.gz: 3fda5e0da10d7062ba4826de7a4233616bbf20c87666da2105121974f103e51ef1352030791d9f9da2a79c4d8ced7a4c4312448b006cdf86119bb7ed9aa9ec58
7
+ data.tar.gz: e7ace1dd7399e3bacfbaf2a497e35dd789428d2701810ab1c09b5e9de6b8d1df71befff629e1f0f5be1e38fd6d38f5eb660e88019224870238f72567dc6f147d
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://travis-ci.org/hawknewton/rspec-eventually.svg?branch=master)](https://travis-ci.org/hawknewton/rspec-eventually)
1
+ [![Build Status](https://travis-ci.org/hawknewton/rspec-eventually.svg?branch=master)](https://travis-ci.org/hawknewton/rspec-eventually) [![Gem Version](https://badge.fury.io/rb/rspec-eventually.svg)](http://badge.fury.io/rb/rspec-eventually)
2
2
  # Rspec::Eventually
3
3
 
4
4
  I want to be able to do something like this:
@@ -1,5 +1,5 @@
1
1
  module Rspec
2
2
  module Eventually
3
- VERSION = '0.0.2'
3
+ VERSION = '0.1.0'
4
4
  end
5
5
  end
@@ -15,10 +15,11 @@ module Rspec
15
15
  tap { @suppress_errors = true }
16
16
  end
17
17
 
18
- def initialize(target)
18
+ def initialize(target, custom_msg = nil)
19
19
  @target = target
20
20
  @tries = 0
21
21
  @negative = false
22
+ @custom_msg = custom_msg
22
23
  end
23
24
 
24
25
  def matches?(expected_block)
@@ -32,7 +33,8 @@ module Rspec
32
33
  end
33
34
 
34
35
  def failure_message
35
- "After #{@tries} tries, the last failure message was:\n#{@target.failure_message}"
36
+ msg = @custom_msg || @target.failure_message
37
+ "After #{@tries} tries, the last failure message was:\n#{msg}"
36
38
  end
37
39
 
38
40
  def not
@@ -75,12 +77,12 @@ module Rspec
75
77
  end
76
78
  end
77
79
 
78
- def eventually(target)
79
- Eventually.new target
80
+ def eventually(target, custom_msg = nil)
81
+ Eventually.new(target, custom_msg)
80
82
  end
81
83
 
82
- def eventually_not(target)
83
- Eventually.new(target).not
84
+ def eventually_not(target, custom_msg = nil)
85
+ Eventually.new(target, custom_msg).not
84
86
  end
85
87
 
86
88
  RSpec.configure do |config|
@@ -97,6 +97,13 @@ module Rspec
97
97
 
98
98
  expect { block.call }.to raise_error(/Timeout before first evaluation/)
99
99
  end
100
+
101
+ it 'supports custom error messages' do
102
+ (matcher = Eventually.new(eq(1), '0 is not within 0.5 of 1').within(0.5)).matches? -> { 0 }
103
+ message = matcher.failure_message
104
+ expect(message).to match(/After [0-9]+ tries, the last failure message was/)
105
+ expect(message).to match(/0 is not within 0.5 of 1/)
106
+ end
100
107
  end
101
108
  end
102
109
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-eventually
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hawk Newton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-23 00:00:00.000000000 Z
11
+ date: 2015-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,11 +107,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  version: '0'
108
108
  requirements: []
109
109
  rubyforge_project:
110
- rubygems_version: 2.2.2
110
+ rubygems_version: 2.2.3
111
111
  signing_key:
112
112
  specification_version: 4
113
113
  summary: Make your matchers match eventually
114
114
  test_files:
115
115
  - spec/eventually_spec.rb
116
116
  - spec/spec_helper.rb
117
- has_rdoc: