transpec 3.0.0 → 3.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -0
  3. data/CHANGELOG.md +4 -0
  4. data/lib/transpec/version.rb +1 -1
  5. data/transpec.gemspec +4 -3
  6. metadata +3 -97
  7. data/spec/.rubocop.yml +0 -23
  8. data/spec/integration/configuration_modification_spec.rb +0 -186
  9. data/spec/integration/conversion_spec.rb +0 -145
  10. data/spec/spec_helper.rb +0 -52
  11. data/spec/support/cache_helper.rb +0 -62
  12. data/spec/support/file_helper.rb +0 -25
  13. data/spec/support/shared_context.rb +0 -84
  14. data/spec/transpec/cli_spec.rb +0 -341
  15. data/spec/transpec/commit_message_spec.rb +0 -81
  16. data/spec/transpec/config_spec.rb +0 -99
  17. data/spec/transpec/converter_spec.rb +0 -1374
  18. data/spec/transpec/directory_cloner_spec.rb +0 -74
  19. data/spec/transpec/dynamic_analyzer/rewriter_spec.rb +0 -143
  20. data/spec/transpec/dynamic_analyzer_spec.rb +0 -329
  21. data/spec/transpec/git_spec.rb +0 -151
  22. data/spec/transpec/option_parser_spec.rb +0 -275
  23. data/spec/transpec/processed_source_spec.rb +0 -93
  24. data/spec/transpec/project_spec.rb +0 -194
  25. data/spec/transpec/record_spec.rb +0 -128
  26. data/spec/transpec/report_spec.rb +0 -126
  27. data/spec/transpec/rspec_version_spec.rb +0 -129
  28. data/spec/transpec/spec_file_finder_spec.rb +0 -118
  29. data/spec/transpec/spec_suite_spec.rb +0 -108
  30. data/spec/transpec/static_context_inspector_spec.rb +0 -713
  31. data/spec/transpec/syntax/allow_spec.rb +0 -122
  32. data/spec/transpec/syntax/be_boolean_spec.rb +0 -176
  33. data/spec/transpec/syntax/be_close_spec.rb +0 -51
  34. data/spec/transpec/syntax/current_example_spec.rb +0 -319
  35. data/spec/transpec/syntax/double_spec.rb +0 -175
  36. data/spec/transpec/syntax/example_group_spec.rb +0 -716
  37. data/spec/transpec/syntax/example_spec.rb +0 -301
  38. data/spec/transpec/syntax/expect_spec.rb +0 -313
  39. data/spec/transpec/syntax/have_spec.rb +0 -1276
  40. data/spec/transpec/syntax/hook_spec.rb +0 -215
  41. data/spec/transpec/syntax/its_spec.rb +0 -448
  42. data/spec/transpec/syntax/matcher_definition_spec.rb +0 -59
  43. data/spec/transpec/syntax/method_stub_spec.rb +0 -1301
  44. data/spec/transpec/syntax/oneliner_should_spec.rb +0 -628
  45. data/spec/transpec/syntax/operator_spec.rb +0 -871
  46. data/spec/transpec/syntax/pending_spec.rb +0 -415
  47. data/spec/transpec/syntax/raise_error_spec.rb +0 -354
  48. data/spec/transpec/syntax/receive_spec.rb +0 -499
  49. data/spec/transpec/syntax/rspec_configure_spec.rb +0 -870
  50. data/spec/transpec/syntax/should_receive_spec.rb +0 -1108
  51. data/spec/transpec/syntax/should_spec.rb +0 -497
  52. data/spec/transpec/util_spec.rb +0 -115
  53. data/spec/transpec_spec.rb +0 -22
@@ -1,497 +0,0 @@
1
- # coding: utf-8
2
-
3
- require 'spec_helper'
4
- require 'transpec/syntax/should'
5
-
6
- module Transpec
7
- class Syntax
8
- describe Should do
9
- include_context 'parsed objects'
10
- include_context 'syntax object', Should, :should_object
11
-
12
- let(:record) { should_object.report.records.first }
13
-
14
- describe '#matcher_node' do
15
- let(:matcher_name) { should_object.matcher_node.children[1] }
16
-
17
- context 'when the matcher is operator' do
18
- let(:source) do
19
- <<-END
20
- describe 'example' do
21
- it 'is 1' do
22
- subject.should == 1
23
- end
24
- end
25
- END
26
- end
27
-
28
- it 'returns the matcher node' do
29
- matcher_name.should == :==
30
- end
31
- end
32
-
33
- context 'when the matcher is not operator' do
34
- let(:source) do
35
- <<-END
36
- describe 'example' do
37
- it 'is empty' do
38
- subject.should be_empty
39
- end
40
- end
41
- END
42
- end
43
-
44
- it 'returns the matcher node' do
45
- matcher_name.should == :be_empty
46
- end
47
- end
48
-
49
- context 'when the matcher is chained by another method' do
50
- let(:source) do
51
- <<-END
52
- describe 'example' do
53
- it 'has 2 items' do
54
- subject.should have(2).items
55
- end
56
- end
57
- END
58
- end
59
-
60
- it 'returns the matcher node' do
61
- matcher_name.should == :have
62
- end
63
- end
64
-
65
- context 'when the matcher is chained by another method that is taking a block' do
66
- let(:source) do
67
- <<-END
68
- describe 'example' do
69
- it 'has 2 items' do
70
- subject.should have(2).items { }
71
- end
72
- end
73
- END
74
- end
75
-
76
- it 'returns the first node of the chain' do
77
- matcher_name.should == :have
78
- end
79
- end
80
- end
81
-
82
- describe '#operator_matcher' do
83
- subject { should_object.operator_matcher }
84
-
85
- let(:source) do
86
- <<-END
87
- describe 'example' do
88
- it 'is 1' do
89
- subject.should == 1
90
- end
91
- end
92
- END
93
- end
94
-
95
- it 'returns an instance of Operator' do
96
- should be_an(Operator)
97
- end
98
- end
99
-
100
- describe '#have_matcher' do
101
- subject { should_object.have_matcher }
102
-
103
- let(:source) do
104
- <<-END
105
- describe 'example' do
106
- it 'has 2 items' do
107
- subject.should have(2).items
108
- end
109
- end
110
- END
111
- end
112
-
113
- it 'returns an instance of Have' do
114
- should be_an(Have)
115
- end
116
- end
117
-
118
- describe '#raise_error_matcher' do
119
- subject { should_object.raise_error_matcher }
120
-
121
- let(:source) do
122
- <<-END
123
- describe 'example' do
124
- it 'raises error' do
125
- lambda { do_something }.should raise_error
126
- end
127
- end
128
- END
129
- end
130
-
131
- it 'returns an instance of RaiseError' do
132
- should be_an(RaiseError)
133
- end
134
- end
135
-
136
- describe '#dependent_syntaxes' do
137
- let(:source) do
138
- <<-END
139
- describe 'example' do
140
- it 'has 2 items' do
141
- subject.should have(2).items
142
- end
143
- end
144
- END
145
- end
146
-
147
- it 'returns an array containing #have_matcher, #operator_matcher, #raise_error_matcher' do
148
- should_object.dependent_syntaxes.should =~ [
149
- should_object.have_matcher,
150
- should_object.operator_matcher,
151
- should_object.raise_error_matcher
152
- ]
153
- end
154
- end
155
-
156
- describe '#expectize!' do
157
- context 'with expression `obj.should`' do
158
- let(:source) do
159
- <<-END
160
- describe 'example' do
161
- it 'is 1' do
162
- subject.should eq(1)
163
- end
164
- end
165
- END
166
- end
167
-
168
- let(:expected_source) do
169
- <<-END
170
- describe 'example' do
171
- it 'is 1' do
172
- expect(subject).to eq(1)
173
- end
174
- end
175
- END
176
- end
177
-
178
- it 'converts to `expect(obj).to` form' do
179
- should_object.expectize!
180
- rewritten_source.should == expected_source
181
- end
182
-
183
- it 'adds record `obj.should` -> `expect(obj).to`' do
184
- should_object.expectize!
185
- record.old_syntax.should == 'obj.should'
186
- record.new_syntax.should == 'expect(obj).to'
187
- end
188
-
189
- context 'and #expect is available in the context by including RSpec::Matchers' do
190
- let(:source) do
191
- <<-END
192
- describe 'example' do
193
- class TestRunner
194
- include RSpec::Matchers
195
-
196
- def run
197
- 1.should == 1
198
- end
199
- end
200
-
201
- it 'is 1' do
202
- TestRunner.new.run
203
- end
204
- end
205
- END
206
- end
207
-
208
- context 'with runtime information' do
209
- include_context 'dynamic analysis objects'
210
-
211
- it 'does not raise ContextError' do
212
- -> { should_object.expectize! }.should_not raise_error
213
- end
214
- end
215
-
216
- context 'without runtime information' do
217
- it 'raises ContextError' do
218
- -> { should_object.expectize! }.should raise_error(ContextError)
219
- end
220
- end
221
- end
222
-
223
- context 'and #expect is not available in the context' do
224
- context 'and the context is determinable statically' do
225
- let(:source) do
226
- <<-END
227
- describe 'example' do
228
- class TestRunner
229
- def run
230
- 1.should == 1
231
- end
232
- end
233
-
234
- it 'is 1' do
235
- TestRunner.new.run
236
- end
237
- end
238
- END
239
- end
240
-
241
- context 'with runtime information' do
242
- include_context 'dynamic analysis objects'
243
-
244
- it 'raises ContextError' do
245
- -> { should_object.expectize! }.should raise_error(ContextError)
246
- end
247
- end
248
-
249
- context 'without runtime information' do
250
- it 'raises ContextError' do
251
- -> { should_object.expectize! }.should raise_error(ContextError)
252
- end
253
- end
254
- end
255
-
256
- context 'and the context is not determinable statically' do
257
- let(:source) do
258
- <<-END
259
- def my_eval(&block)
260
- Object.new.instance_eval(&block)
261
- end
262
-
263
- describe 'example' do
264
- it 'responds to #foo' do
265
- my_eval { 1.should == 1 }
266
- end
267
- end
268
- END
269
- end
270
-
271
- context 'with runtime information' do
272
- include_context 'dynamic analysis objects'
273
-
274
- it 'raises ContextError' do
275
- -> { should_object.expectize! }.should raise_error(ContextError)
276
- end
277
- end
278
-
279
- context 'without runtime information' do
280
- it 'does not raise ContextError' do
281
- -> { should_object.expectize! }.should_not raise_error
282
- end
283
- end
284
- end
285
- end
286
- end
287
-
288
- context 'with expression `obj.should_not`' do
289
- let(:source) do
290
- <<-END
291
- describe 'example' do
292
- it 'is not 1' do
293
- subject.should_not eq(1)
294
- end
295
- end
296
- END
297
- end
298
-
299
- let(:expected_source) do
300
- <<-END
301
- describe 'example' do
302
- it 'is not 1' do
303
- expect(subject).not_to eq(1)
304
- end
305
- end
306
- END
307
- end
308
-
309
- it 'converts to `expect(obj).not_to` form' do
310
- should_object.expectize!
311
- rewritten_source.should == expected_source
312
- end
313
-
314
- it 'adds record `obj.should_not` -> `expect(obj).not_to`' do
315
- should_object.expectize!
316
- record.old_syntax.should == 'obj.should_not'
317
- record.new_syntax.should == 'expect(obj).not_to'
318
- end
319
-
320
- context 'and "to_not" is passed as negative form' do
321
- let(:expected_source) do
322
- <<-END
323
- describe 'example' do
324
- it 'is not 1' do
325
- expect(subject).to_not eq(1)
326
- end
327
- end
328
- END
329
- end
330
-
331
- it 'converts to `expect(obj).to_not` form' do
332
- should_object.expectize!('to_not')
333
- rewritten_source.should == expected_source
334
- end
335
-
336
- it 'adds record `obj.should_not` -> `expect(obj).to_not`' do
337
- should_object.expectize!('to_not')
338
- record.old_syntax.should == 'obj.should_not'
339
- record.new_syntax.should == 'expect(obj).to_not'
340
- end
341
- end
342
- end
343
-
344
- context 'with expression `(obj).should`' do
345
- let(:source) do
346
- <<-END
347
- describe 'example' do
348
- it 'is true' do
349
- (1 == 1).should be_true
350
- end
351
- end
352
- END
353
- end
354
-
355
- let(:expected_source) do
356
- <<-END
357
- describe 'example' do
358
- it 'is true' do
359
- expect(1 == 1).to be_true
360
- end
361
- end
362
- END
363
- end
364
-
365
- it 'converts to `expect(obj).to` form without superfluous parentheses' do
366
- should_object.expectize!
367
- rewritten_source.should == expected_source
368
- end
369
- end
370
-
371
- context 'with expression `obj.should() == 1`' do
372
- let(:source) do
373
- <<-END
374
- describe 'example' do
375
- it 'is 1' do
376
- subject.should() == 1
377
- end
378
- end
379
- END
380
- end
381
-
382
- let(:expected_source) do
383
- <<-END
384
- describe 'example' do
385
- it 'is 1' do
386
- expect(subject).to == 1
387
- end
388
- end
389
- END
390
- end
391
-
392
- it 'converts to `expect(obj).to == 1` form' do
393
- should_object.expectize!
394
- rewritten_source.should == expected_source
395
- end
396
- end
397
-
398
- [
399
- 'lambda', 'Kernel.lambda', '::Kernel.lambda',
400
- 'proc', 'Kernel.proc', '::Kernel.proc',
401
- 'Proc.new', '::Proc.new',
402
- '->',
403
- 'expect'
404
- ].each do |method|
405
- context "with expression `#{method} { ... }.should`" do
406
- let(:source) do
407
- <<-END
408
- describe 'example' do
409
- it 'raises error' do
410
- #{method} { fail }.should raise_error
411
- end
412
- end
413
- END
414
- end
415
-
416
- let(:expected_source) do
417
- <<-END
418
- describe 'example' do
419
- it 'raises error' do
420
- expect { fail }.to raise_error
421
- end
422
- end
423
- END
424
- end
425
-
426
- it 'converts to `expect {...}.to` form' do
427
- should_object.expectize!
428
- rewritten_source.should == expected_source
429
- end
430
-
431
- it "adds record `#{method} { }.should` -> `expect { }.to`" do
432
- should_object.expectize!
433
- record.old_syntax.should == "#{method} { }.should"
434
- record.new_syntax.should == 'expect { }.to'
435
- end
436
- end
437
- end
438
-
439
- ['MyObject.lambda', 'MyObject.proc', 'MyObject.new'].each do |method|
440
- context "with expression `#{method} { ... }.should`" do
441
- let(:source) do
442
- <<-END
443
- describe 'example' do
444
- it 'is 1' do
445
- #{method} { fail }.should eq(1)
446
- end
447
- end
448
- END
449
- end
450
-
451
- let(:expected_source) do
452
- <<-END
453
- describe 'example' do
454
- it 'is 1' do
455
- expect(#{method} { fail }).to eq(1)
456
- end
457
- end
458
- END
459
- end
460
-
461
- it "converts to `expect(#{method} { ... }).to` form" do
462
- should_object.expectize!
463
- rewritten_source.should == expected_source
464
- end
465
- end
466
- end
467
-
468
- context 'with expression `method { ... }.should` but the subject object is not proc' do
469
- let(:source) do
470
- <<-END
471
- describe 'example' do
472
- it 'increments all elements' do
473
- [1, 2].map { |i| i + 1 }.should eq([2, 3])
474
- end
475
- end
476
- END
477
- end
478
-
479
- let(:expected_source) do
480
- <<-END
481
- describe 'example' do
482
- it 'increments all elements' do
483
- expect([1, 2].map { |i| i + 1 }).to eq([2, 3])
484
- end
485
- end
486
- END
487
- end
488
-
489
- it 'converts to `expect(method { ... }).to` form' do
490
- should_object.expectize!
491
- rewritten_source.should == expected_source
492
- end
493
- end
494
- end
495
- end
496
- end
497
- end