rspec-wait 0.0.8 → 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
data/spec/wait_spec.rb DELETED
@@ -1,176 +0,0 @@
1
- describe "wait" do
2
- let!(:progress) { "" }
3
-
4
- before do
5
- Thread.new do
6
- 2.times do
7
- sleep 1
8
- progress << "."
9
- end
10
- end
11
- end
12
-
13
- context "for" do
14
- context "to" do
15
- it "passes immediately" do
16
- expect {
17
- wait.for { progress }.to eq("")
18
- }.not_to raise_error
19
- end
20
-
21
- it "waits for the matcher to pass" do
22
- expect {
23
- wait.for { progress }.to eq(".")
24
- }.not_to raise_error
25
- end
26
-
27
- it "re-evaluates the actual value" do
28
- expect {
29
- wait.for { progress.dup }.to eq(".")
30
- }.not_to raise_error
31
- end
32
-
33
- it "fails if the matcher never passes" do
34
- expect {
35
- wait.for { progress }.to eq("...")
36
- }.to raise_error(RSpec::Expectations::ExpectationNotMetError)
37
- end
38
-
39
- it "times out if the block never finishes" do
40
- expect {
41
- wait.for { sleep 11; progress }.to eq("..")
42
- }.to raise_error(RSpec::Wait::TimeoutError)
43
- end
44
-
45
- it "respects a timeout specified in configuration" do
46
- original_timeout = RSpec.configuration.wait_timeout
47
- RSpec.configuration.wait_timeout = 3
48
-
49
- begin
50
- expect {
51
- wait.for { sleep 4; progress }.to eq("..")
52
- }.to raise_error(RSpec::Wait::TimeoutError)
53
- ensure
54
- RSpec.configuration.wait_timeout = original_timeout
55
- end
56
- end
57
-
58
- it "respects a timeout specified in options", wait: { timeout: 3 } do
59
- expect {
60
- wait.for { sleep 4; progress }.to eq("..")
61
- }.to raise_error(RSpec::Wait::TimeoutError)
62
- end
63
-
64
- it "respects a timeout specified as an argument" do
65
- expect {
66
- wait(3).for { sleep 4; progress }.to eq("..")
67
- }.to raise_error(RSpec::Wait::TimeoutError)
68
- end
69
-
70
- it "raises an error occuring in the block" do
71
- expect {
72
- wait.for { raise RuntimeError }.to eq("..")
73
- }.to raise_error(RuntimeError)
74
- end
75
-
76
- it "prevents operator matchers" do
77
- expect {
78
- wait.for { progress }.to == "."
79
- }.to raise_error(ArgumentError)
80
- end
81
-
82
- it "accepts a value rather than a block" do
83
- expect {
84
- wait.for(progress).to eq(".")
85
- }.not_to raise_error
86
- end
87
- end
88
-
89
- context "not_to" do
90
- it "passes immediately" do
91
- expect {
92
- wait.for { progress }.not_to eq("..")
93
- }.not_to raise_error
94
- end
95
-
96
- it "waits for the matcher not to pass" do
97
- expect {
98
- wait.for { progress }.not_to eq("")
99
- }.not_to raise_error
100
- end
101
-
102
- it "re-evaluates the actual value" do
103
- expect {
104
- wait.for { progress.dup }.not_to eq("")
105
- }.not_to raise_error
106
- end
107
-
108
- it "fails if the matcher always passes" do
109
- expect {
110
- wait.for { progress }.not_to be_a(String)
111
- }.to raise_error(RSpec::Expectations::ExpectationNotMetError)
112
- end
113
-
114
- it "times out if the block never finishes" do
115
- expect {
116
- wait.for { sleep 11; progress }.not_to eq("..")
117
- }.to raise_error(RSpec::Wait::TimeoutError)
118
- end
119
-
120
- it "respects a timeout specified in configuration" do
121
- original_timeout = RSpec.configuration.wait_timeout
122
- RSpec.configuration.wait_timeout = 3
123
-
124
- begin
125
- expect {
126
- wait.for { sleep 4; progress }.not_to eq("..")
127
- }.to raise_error(RSpec::Wait::TimeoutError)
128
- ensure
129
- RSpec.configuration.wait_timeout = original_timeout
130
- end
131
- end
132
-
133
- it "respects a timeout specified in options", wait: { timeout: 3 } do
134
- expect {
135
- wait.for { sleep 4; progress }.not_to eq("..")
136
- }.to raise_error(RSpec::Wait::TimeoutError)
137
- end
138
-
139
- it "respects a timeout specified as an argument" do
140
- expect {
141
- wait(3).for { sleep 4; progress }.not_to eq("..")
142
- }.to raise_error(RSpec::Wait::TimeoutError)
143
- end
144
-
145
- it "raises an error occuring in the block" do
146
- expect {
147
- wait.for { raise RuntimeError }.not_to eq("")
148
- }.to raise_error(RuntimeError)
149
- end
150
-
151
- it "respects the to_not alias when expectation is met" do
152
- expect {
153
- wait(1).for { true }.to_not eq(false)
154
- }.not_to raise_error
155
- end
156
-
157
- it "respects the to_not alias when expectation is not met" do
158
- expect {
159
- wait(1).for { true }.to_not eq(true)
160
- }.to raise_error(RSpec::Expectations::ExpectationNotMetError)
161
- end
162
-
163
- it "prevents operator matchers" do
164
- expect {
165
- wait.for { progress }.not_to == ".."
166
- }.to raise_error(ArgumentError)
167
- end
168
-
169
- it "accepts a value rather than a block" do
170
- expect {
171
- wait.for(progress).not_to eq("..")
172
- }.not_to raise_error
173
- end
174
- end
175
- end
176
- end