transpec 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,175 +0,0 @@
1
- # coding: utf-8
2
-
3
- require 'spec_helper'
4
- require 'transpec/syntax/double'
5
-
6
- module Transpec
7
- class Syntax
8
- describe Double do
9
- include_context 'parsed objects'
10
- include_context 'syntax object', Double, :double_object
11
-
12
- describe '#conversion_target?' do
13
- let(:target_node) do
14
- ast.each_node(:send).find do |send_node|
15
- method_name = send_node.children[1]
16
- method_name == :double
17
- end
18
- end
19
-
20
- let(:double_object) do
21
- Double.new(target_node, runtime_data)
22
- end
23
-
24
- subject { double_object.conversion_target? }
25
-
26
- context 'when #double node is passed' do
27
- let(:source) do
28
- <<-END
29
- describe 'example' do
30
- it 'includes something' do
31
- something = double('something')
32
- [1, something].should include(something)
33
- end
34
- end
35
- END
36
- end
37
-
38
- it { should be_true }
39
- end
40
-
41
- context 'with runtime information' do
42
- include_context 'dynamic analysis objects'
43
-
44
- context "when RSpec's #double node is passed" do
45
- let(:source) do
46
- <<-END
47
- describe 'example' do
48
- it 'includes something' do
49
- something = double('something')
50
- [1, something].should include(something)
51
- end
52
- end
53
- END
54
- end
55
-
56
- it { should be_true }
57
- end
58
-
59
- context 'when another #double node is passed' do
60
- let(:source) do
61
- <<-END
62
- module AnotherMockFramework
63
- def setup_mocks_for_rspec
64
- def double(arg)
65
- arg.upcase
66
- end
67
- end
68
-
69
- def verify_mocks_for_rspec
70
- end
71
-
72
- def teardown_mocks_for_rspec
73
- end
74
- end
75
-
76
- RSpec.configure do |config|
77
- config.mock_framework = AnotherMockFramework
78
- end
79
-
80
- describe 'example' do
81
- it "is not RSpec's #double" do
82
- something = double('something')
83
- [1, something].should include('SOMETHING')
84
- end
85
- end
86
- END
87
- end
88
-
89
- it { should be_false }
90
- end
91
- end
92
- end
93
-
94
- describe '#method_name' do
95
- let(:source) do
96
- <<-END
97
- describe 'example' do
98
- it 'includes something' do
99
- something = double('something')
100
- [1, something].should include(something)
101
- end
102
- end
103
- END
104
- end
105
-
106
- it 'returns the method name' do
107
- double_object.method_name.should == :double
108
- end
109
- end
110
-
111
- describe '#convert_to_double!' do
112
- before do
113
- double_object.convert_to_double!
114
- end
115
-
116
- [:mock, :stub].each do |method|
117
- context "with expression `#{method}('something')`" do
118
- let(:source) do
119
- <<-END
120
- describe 'example' do
121
- it 'includes something' do
122
- something = #{method}('something')
123
- [1, something].should include(something)
124
- end
125
- end
126
- END
127
- end
128
-
129
- let(:expected_source) do
130
- <<-END
131
- describe 'example' do
132
- it 'includes something' do
133
- something = double('something')
134
- [1, something].should include(something)
135
- end
136
- end
137
- END
138
- end
139
-
140
- it "converts to `#{method}('something')`" do
141
- rewritten_source.should == expected_source
142
- end
143
-
144
- it "adds record `#{method}('something')` -> `double('something')`" do
145
- record = double_object.report.records.first
146
- record.old_syntax.should == "#{method}('something')"
147
- record.new_syntax.should == "double('something')"
148
- end
149
- end
150
- end
151
-
152
- context "with expression `double('something')`" do
153
- let(:source) do
154
- <<-END
155
- describe 'example' do
156
- it 'includes something' do
157
- something = double('something')
158
- [1, something].should include(something)
159
- end
160
- end
161
- END
162
- end
163
-
164
- it 'does nothing' do
165
- rewritten_source.should == source
166
- end
167
-
168
- it 'reports nothing' do
169
- double_object.report.records.should be_empty
170
- end
171
- end
172
- end
173
- end
174
- end
175
- end
@@ -1,716 +0,0 @@
1
- # coding: utf-8
2
-
3
- require 'spec_helper'
4
- require 'transpec/syntax/example_group'
5
- require 'ast'
6
- require 'active_support/core_ext/string/strip.rb'
7
-
8
- module Transpec
9
- class Syntax
10
- describe ExampleGroup do
11
- include ::AST::Sexp, FileHelper
12
- include_context 'parsed objects'
13
- include_context 'syntax object', ExampleGroup, :example_group
14
-
15
- let(:record) { example_group.report.records.first }
16
-
17
- describe '#convert_to_non_monkey_patch!' do
18
- context 'when it is in top level scope' do
19
- [
20
- :describe,
21
- :shared_examples,
22
- :shared_context,
23
- :share_examples_for,
24
- :shared_examples_for
25
- ].each do |method|
26
- context "with expression `#{method} 'something' do ... end`" do
27
- let(:source) do
28
- <<-END
29
- #{method} 'something' do
30
- end
31
- END
32
- end
33
-
34
- let(:expected_source) do
35
- <<-END
36
- RSpec.#{method} 'something' do
37
- end
38
- END
39
- end
40
-
41
- it "converts to `RSpec.#{method} 'something' do ... end`" do
42
- example_group.convert_to_non_monkey_patch!
43
- rewritten_source.should == expected_source
44
- end
45
-
46
- it "adds record `#{method} 'something' { }` -> `RSpec.#{method} 'something' { }`" do
47
- example_group.convert_to_non_monkey_patch!
48
- record.old_syntax.should == "#{method} 'something' { }"
49
- record.new_syntax.should == "RSpec.#{method} 'something' { }"
50
- end
51
- end
52
- end
53
- end
54
-
55
- context "with expression `RSpec.describe 'something' do ... end`" do
56
- let(:source) do
57
- <<-END
58
- RSpec.describe 'something' do
59
- end
60
- END
61
- end
62
-
63
- it 'does nothing' do
64
- example_group.convert_to_non_monkey_patch!
65
- rewritten_source.should == source
66
- end
67
- end
68
-
69
- context 'when the #describe is in a module' do
70
- let(:source) do
71
- <<-END
72
- module SomeModule
73
- describe 'something' do
74
- end
75
- end
76
- END
77
- end
78
-
79
- let(:expected_source) do
80
- <<-END
81
- module SomeModule
82
- RSpec.describe 'something' do
83
- end
84
- end
85
- END
86
- end
87
-
88
- it 'converts' do
89
- example_group.convert_to_non_monkey_patch!
90
- rewritten_source.should == expected_source
91
- end
92
- end
93
-
94
- shared_context 'multiple #describes' do
95
- before do
96
- ast.each_node do |node|
97
- example_group = described_class.new(node, runtime_data, project, source_rewriter)
98
- next unless example_group.conversion_target?
99
- example_group.convert_to_non_monkey_patch!
100
- end
101
- end
102
- end
103
-
104
- context 'when #describes are nested' do
105
- include_context 'multiple #describes'
106
-
107
- let(:source) do
108
- <<-END
109
- describe 'something' do
110
- describe '#some_method' do
111
- end
112
- end
113
- END
114
- end
115
-
116
- let(:expected_source) do
117
- <<-END
118
- RSpec.describe 'something' do
119
- describe '#some_method' do
120
- end
121
- end
122
- END
123
- end
124
-
125
- it 'converts only the outermost #describe' do
126
- rewritten_source.should == expected_source
127
- end
128
- end
129
-
130
- context 'when the #describe is in another RSpec.describe' do
131
- include_context 'multiple #describes'
132
-
133
- let(:source) do
134
- <<-END
135
- RSpec.describe 'something' do
136
- describe '#some_method' do
137
- end
138
- end
139
- END
140
- end
141
-
142
- context 'without runtime information' do
143
- it 'does nothing' do
144
- rewritten_source.should == source
145
- end
146
- end
147
-
148
- context 'with runtime information' do
149
- include_context 'dynamic analysis objects'
150
-
151
- it 'does nothing' do
152
- rewritten_source.should == source
153
- end
154
- end
155
- end
156
-
157
- context 'when logical-inner #describe is placed outside of the outer #describe in source' do
158
- include_context 'multiple #describes'
159
-
160
- let(:source) do
161
- <<-END
162
- inner_proc = proc do
163
- describe 'inner' do
164
- end
165
- end
166
-
167
- describe 'outer' do
168
- instance_eval(&inner_proc)
169
- end
170
- END
171
- end
172
-
173
- context 'without runtime information' do
174
- let(:expected_source) do
175
- <<-END
176
- inner_proc = proc do
177
- RSpec.describe 'inner' do
178
- end
179
- end
180
-
181
- RSpec.describe 'outer' do
182
- instance_eval(&inner_proc)
183
- end
184
- END
185
- end
186
-
187
- it 'unfortunately converts both #describe' do
188
- rewritten_source.should == expected_source
189
- end
190
- end
191
-
192
- context 'with runtime information' do
193
- include_context 'dynamic analysis objects'
194
-
195
- let(:expected_source) do
196
- <<-END
197
- inner_proc = proc do
198
- describe 'inner' do
199
- end
200
- end
201
-
202
- RSpec.describe 'outer' do
203
- instance_eval(&inner_proc)
204
- end
205
- END
206
- end
207
-
208
- it 'properly converts only the outermost #describe' do
209
- rewritten_source.should == expected_source
210
- end
211
- end
212
- end
213
- end
214
-
215
- describe '#metadata_key_nodes' do
216
- subject { example_group.metadata_key_nodes }
217
-
218
- context "with expression `describe 'something' { }`" do
219
- let(:source) do
220
- <<-END
221
- describe 'example' do
222
- end
223
- END
224
- end
225
-
226
- it 'returns empty array' do
227
- should be_empty
228
- end
229
- end
230
-
231
- context "with expression `describe 'something', '#some_method' { }`" do
232
- let(:source) do
233
- <<-END
234
- describe 'something', '#some_method' do
235
- end
236
- END
237
- end
238
-
239
- it 'returns empty array' do
240
- should be_empty
241
- end
242
- end
243
-
244
- context "with expression `describe 'something', :foo { }`" do
245
- let(:source) do
246
- <<-END
247
- describe 'something', :foo do
248
- end
249
- END
250
- end
251
-
252
- it 'returns [(sym :foo)]' do
253
- should == [s(:sym, :foo)]
254
- end
255
- end
256
-
257
- context "with expression `describe 'something', foo: true { }`" do
258
- let(:source) do
259
- <<-END
260
- describe 'something', foo: true do
261
- end
262
- END
263
- end
264
-
265
- it 'returns [(sym :foo)]' do
266
- should == [s(:sym, :foo)]
267
- end
268
- end
269
-
270
- context "with expression `describe 'something', :foo, :bar, baz: true { }`" do
271
- let(:source) do
272
- <<-END
273
- describe 'something', :foo, :bar, baz: true do
274
- end
275
- END
276
- end
277
-
278
- it 'returns [s(:sym, :foo), s(:sym, :bar), s(:sym, :baz)]' do
279
- should == [s(:sym, :foo), s(:sym, :bar), s(:sym, :baz)]
280
- end
281
- end
282
- end
283
-
284
- describe '#add_explicit_type_metadata!' do
285
- context 'in rspec-rails project' do
286
- before do
287
- example_group.stub(:rspec_rails?).and_return(true)
288
- example_group.add_explicit_type_metadata!
289
- end
290
-
291
- context 'when it is in top level scope' do
292
- context "and expression `describe 'something' do ... end`" do
293
- let(:source) do
294
- <<-END
295
- describe 'something' do
296
- end
297
- END
298
- end
299
-
300
- {
301
- 'controllers' => :controller,
302
- 'helpers' => :helper,
303
- 'mailers' => :mailer,
304
- 'models' => :model,
305
- 'requests' => :request,
306
- 'integration' => :request,
307
- 'api' => :request,
308
- 'routing' => :routing,
309
- 'views' => :view,
310
- 'features' => :feature
311
- }.each do |directory, type|
312
- context "and the file path is \"spec/#{directory}/some_spec.rb\"" do
313
- let(:source_path) { "spec/#{directory}/some_spec.rb" }
314
-
315
- let(:expected_source) do
316
- <<-END
317
- describe 'something', :type => #{type.inspect} do
318
- end
319
- END
320
- end
321
-
322
- it "adds metadata \":type => #{type.inspect}\"" do
323
- rewritten_source.should == expected_source
324
- end
325
-
326
- it "adds record `describe 'some #{type}' { }` " \
327
- "-> `describe 'some #{type}', :type => #{type.inspect} { }`" do
328
- record.old_syntax.should == "describe 'some #{type}' { }"
329
- record.new_syntax.should == "describe 'some #{type}', :type => #{type.inspect} { }"
330
- end
331
- end
332
- end
333
-
334
- context 'and the file path is "spec/contollers/some_namespace/some_spec.rb"' do
335
- let(:source_path) { 'spec/controllers/some_namespace/some_spec.rb' }
336
-
337
- let(:expected_source) do
338
- <<-END
339
- describe 'something', :type => :controller do
340
- end
341
- END
342
- end
343
-
344
- it 'adds metadata ":type => :controller' do
345
- rewritten_source.should == expected_source
346
- end
347
- end
348
-
349
- context 'and the file path is "spec/unit/some_spec.rb"' do
350
- let(:source_path) { 'spec/unit/some_spec.rb' }
351
-
352
- it 'does nothing' do
353
- rewritten_source.should == source
354
- end
355
- end
356
-
357
- context 'and the file path is "features/controllers/some_spec.rb"' do
358
- let(:source_path) { 'features/controllers/some_spec.rb' }
359
-
360
- it 'does nothing' do
361
- rewritten_source.should == source
362
- end
363
- end
364
- end
365
-
366
- context "and expression `describe 'something', :foo => :bar do ... end`" do
367
- let(:source) do
368
- <<-END
369
- describe 'something', :foo => :bar do
370
- end
371
- END
372
- end
373
-
374
- context 'and the file path is "spec/controllers/some_spec.rb"' do
375
- let(:source_path) { 'spec/controllers/some_spec.rb' }
376
-
377
- let(:expected_source) do
378
- <<-END
379
- describe 'something', :type => :controller, :foo => :bar do
380
- end
381
- END
382
- end
383
-
384
- it 'adds metadata ":type => :controller" to the beginning of the hash metadata' do
385
- rewritten_source.should == expected_source
386
- end
387
- end
388
- end
389
-
390
- context "and expression `describe 'something', '#some_method', :foo, :bar => true do ... end`" do
391
- let(:source) do
392
- <<-END
393
- describe 'something', '#some_method', :foo, :bar => true do
394
- end
395
- END
396
- end
397
-
398
- context 'and the file path is "spec/controllers/some_spec.rb"' do
399
- let(:source_path) { 'spec/controllers/some_spec.rb' }
400
-
401
- let(:expected_source) do
402
- <<-END
403
- describe 'something', '#some_method', :foo, :type => :controller, :bar => true do
404
- end
405
- END
406
- end
407
-
408
- it 'adds metadata ":type => :controller" to the beginning of the hash metadata' do
409
- rewritten_source.should == expected_source
410
- end
411
- end
412
- end
413
-
414
- context "and expression `describe 'something', foo: :bar do ... end`" do
415
- let(:source) do
416
- <<-END
417
- describe 'something', foo: :bar do
418
- end
419
- END
420
- end
421
-
422
- context 'and the file path is "spec/controllers/some_spec.rb"' do
423
- let(:source_path) { 'spec/controllers/some_spec.rb' }
424
-
425
- let(:expected_source) do
426
- <<-END
427
- describe 'something', type: :controller, foo: :bar do
428
- end
429
- END
430
- end
431
-
432
- it 'adds metadata "type: :controller"' do
433
- rewritten_source.should == expected_source
434
- end
435
- end
436
- end
437
-
438
- context "and expression `describe 'something', :type => :foo do ... end`" do
439
- let(:source) do
440
- <<-END
441
- describe 'something', :type => :foo do
442
- end
443
- END
444
- end
445
-
446
- context 'and the file path is "spec/controllers/some_spec.rb"' do
447
- let(:source_path) { 'spec/controllers/some_spec.rb' }
448
-
449
- it 'does nothing' do
450
- rewritten_source.should == source
451
- end
452
- end
453
- end
454
-
455
- context "and expression `RSpec.describe 'something' do ... end`" do
456
- let(:source) do
457
- <<-END
458
- RSpec.describe 'something' do
459
- end
460
- END
461
- end
462
-
463
- context 'and the file path is "spec/controllers/some_spec.rb"' do
464
- let(:source_path) { 'spec/controllers/some_spec.rb' }
465
-
466
- let(:expected_source) do
467
- <<-END
468
- RSpec.describe 'something', :type => :controller do
469
- end
470
- END
471
- end
472
-
473
- it 'adds metadata ":type => :controller"' do
474
- rewritten_source.should == expected_source
475
- end
476
- end
477
- end
478
-
479
- context "and expression `shared_examples 'something' do ... end`" do
480
- let(:source) do
481
- <<-END
482
- shared_examples 'something' do
483
- end
484
- END
485
- end
486
-
487
- context 'and the file path is "spec/controllers/some_spec.rb"' do
488
- let(:source_path) { 'spec/controllers/some_spec.rb' }
489
-
490
- it 'does nothing' do
491
- rewritten_source.should == source
492
- end
493
- end
494
- end
495
- end
496
-
497
- context 'when #describes are nested' do
498
- let(:source_path) { 'spec/controllers/some_spec.rb' }
499
-
500
- let(:source) do
501
- <<-END
502
- describe 'something' do
503
- describe '#some_method' do
504
- end
505
- end
506
- END
507
- end
508
-
509
- let(:expected_source) do
510
- <<-END
511
- describe 'something', :type => :controller do
512
- describe '#some_method' do
513
- end
514
- end
515
- END
516
- end
517
-
518
- it 'adds the metadata only to the outmost #describe' do
519
- rewritten_source.should == expected_source
520
- end
521
- end
522
- end
523
-
524
- context 'with runtime information' do
525
- include_context 'dynamic analysis objects'
526
-
527
- let(:source_path) { 'spec/controllers/some_spec.rb' }
528
-
529
- before do
530
- example_group.add_explicit_type_metadata!
531
- end
532
-
533
- context 'when rspec-rails is loaded in the spec' do
534
- let(:source) do
535
- <<-END
536
- module RSpec
537
- module Rails
538
- end
539
- end
540
-
541
- describe 'something' do
542
- end
543
- END
544
- end
545
-
546
- let(:expected_source) do
547
- <<-END
548
- module RSpec
549
- module Rails
550
- end
551
- end
552
-
553
- describe 'something', :type => :controller do
554
- end
555
- END
556
- end
557
-
558
- it 'adds the metadata' do
559
- rewritten_source.should == expected_source
560
- end
561
- end
562
-
563
- context 'when rspec-rails is not loaded in the spec' do
564
- let(:source) do
565
- <<-END
566
- describe 'something' do
567
- end
568
- END
569
- end
570
-
571
- it 'does nothing' do
572
- rewritten_source.should == source
573
- end
574
- end
575
- end
576
-
577
- context 'without runtime information' do
578
- include_context 'isolated environment'
579
-
580
- let(:source_path) { 'spec/controllers/some_spec.rb' }
581
-
582
- let(:source) do
583
- <<-END
584
- module RSpec
585
- module Rails
586
- end
587
- end
588
-
589
- describe 'something' do
590
- end
591
- END
592
- end
593
-
594
- context 'when rspec-rails is specified in the Gemfile.lock' do
595
- before do
596
- create_file('Gemfile.lock', <<-END.strip_heredoc)
597
- GEM
598
- remote: https://rubygems.org/
599
- specs:
600
- actionpack (4.1.8)
601
- actionview (= 4.1.8)
602
- activesupport (= 4.1.8)
603
- rack (~> 1.5.2)
604
- rack-test (~> 0.6.2)
605
- actionview (4.1.8)
606
- activesupport (= 4.1.8)
607
- builder (~> 3.1)
608
- erubis (~> 2.7.0)
609
- activemodel (4.1.8)
610
- activesupport (= 4.1.8)
611
- builder (~> 3.1)
612
- activesupport (4.1.8)
613
- i18n (~> 0.6, >= 0.6.9)
614
- json (~> 1.7, >= 1.7.7)
615
- minitest (~> 5.1)
616
- thread_safe (~> 0.1)
617
- tzinfo (~> 1.1)
618
- builder (3.2.2)
619
- diff-lcs (1.2.5)
620
- erubis (2.7.0)
621
- i18n (0.6.11)
622
- json (1.8.1)
623
- minitest (5.4.3)
624
- rack (1.5.2)
625
- rack-test (0.6.2)
626
- rack (>= 1.0)
627
- railties (4.1.8)
628
- actionpack (= 4.1.8)
629
- activesupport (= 4.1.8)
630
- rake (>= 0.8.7)
631
- thor (>= 0.18.1, < 2.0)
632
- rake (10.4.2)
633
- rspec-core (2.14.8)
634
- rspec-expectations (2.14.5)
635
- diff-lcs (>= 1.1.3, < 2.0)
636
- rspec-mocks (2.14.6)
637
- rspec-rails (2.14.2)
638
- actionpack (>= 3.0)
639
- activemodel (>= 3.0)
640
- activesupport (>= 3.0)
641
- railties (>= 3.0)
642
- rspec-core (~> 2.14.0)
643
- rspec-expectations (~> 2.14.0)
644
- rspec-mocks (~> 2.14.0)
645
- thor (0.19.1)
646
- thread_safe (0.3.4)
647
- tzinfo (1.2.2)
648
- thread_safe (~> 0.1)
649
-
650
- PLATFORMS
651
- ruby
652
-
653
- DEPENDENCIES
654
- rspec-rails (~> 2.14.0)
655
- END
656
- end
657
-
658
- let(:expected_source) do
659
- <<-END
660
- module RSpec
661
- module Rails
662
- end
663
- end
664
-
665
- describe 'something', :type => :controller do
666
- end
667
- END
668
- end
669
-
670
- it 'adds the metadata' do
671
- example_group.add_explicit_type_metadata!
672
- rewritten_source.should == expected_source
673
- end
674
- end
675
-
676
- context 'when rspec-rails is not specified in the Gemfile.lock' do
677
- before do
678
- create_file('Gemfile.lock', <<-END.strip_heredoc)
679
- GEM
680
- remote: https://rubygems.org/
681
- specs:
682
- diff-lcs (1.2.5)
683
- rspec (2.14.1)
684
- rspec-core (~> 2.14.0)
685
- rspec-expectations (~> 2.14.0)
686
- rspec-mocks (~> 2.14.0)
687
- rspec-core (2.14.8)
688
- rspec-expectations (2.14.5)
689
- diff-lcs (>= 1.1.3, < 2.0)
690
- rspec-mocks (2.14.6)
691
-
692
- PLATFORMS
693
- ruby
694
-
695
- DEPENDENCIES
696
- rspec (~> 2.14.0)
697
- END
698
- end
699
-
700
- it 'does nothing' do
701
- example_group.add_explicit_type_metadata!
702
- rewritten_source.should == source
703
- end
704
- end
705
-
706
- context 'when there is no Gemfile.lock' do
707
- it 'does nothing' do
708
- example_group.add_explicit_type_metadata!
709
- rewritten_source.should == source
710
- end
711
- end
712
- end
713
- end
714
- end
715
- end
716
- end