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,871 +0,0 @@
1
- # coding: utf-8
2
-
3
- require 'spec_helper'
4
- require 'transpec/syntax/operator'
5
- require 'transpec/syntax/should'
6
-
7
- module Transpec
8
- class Syntax
9
- describe Operator do
10
- include ::AST::Sexp
11
- include_context 'parsed objects'
12
- include_context 'syntax object', Should, :should_object
13
-
14
- subject(:matcher) { should_object.operator_matcher }
15
- let(:record) { matcher.report.records.first }
16
-
17
- describe '#method_name' 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 method name' do
29
- matcher.method_name.should == :==
30
- end
31
- end
32
-
33
- describe '#convert_operator!' do
34
- before do
35
- matcher.convert_operator!(parenthesize_arg)
36
- end
37
-
38
- let(:parenthesize_arg) { true }
39
-
40
- context 'with expression `== 1`' do
41
- let(:source) do
42
- <<-END
43
- describe 'example' do
44
- it 'is 1' do
45
- subject.should == 1
46
- end
47
- end
48
- END
49
- end
50
-
51
- let(:expected_source) do
52
- <<-END
53
- describe 'example' do
54
- it 'is 1' do
55
- subject.should eq(1)
56
- end
57
- end
58
- END
59
- end
60
-
61
- it 'converts to `eq(1)` form' do
62
- rewritten_source.should == expected_source
63
- end
64
-
65
- it 'adds record `== expected` -> `eq(expected)`' do
66
- record.old_syntax.should == '== expected'
67
- record.new_syntax.should == 'eq(expected)'
68
- record.annotation.should be_nil
69
- end
70
-
71
- # Operator methods allow their argument to be in the next line,
72
- # but non-operator methods do not.
73
- #
74
- # [1] pry(main)> 1 ==
75
- # [1] pry(main)* 1
76
- # => true
77
- # [2] pry(main)> 1.eql?
78
- # ArgumentError: wrong number of arguments (0 for 1)
79
- context 'and its argument is in the next line' do
80
- let(:source) do
81
- <<-END
82
- describe 'example' do
83
- it 'is 1' do
84
- subject.should ==
85
- 1
86
- end
87
- end
88
- END
89
- end
90
-
91
- let(:expected_source) do
92
- <<-END
93
- describe 'example' do
94
- it 'is 1' do
95
- subject.should eq(
96
- 1
97
- )
98
- end
99
- end
100
- END
101
- end
102
-
103
- it 'inserts parentheses properly' do
104
- rewritten_source.should == expected_source
105
- end
106
-
107
- context 'and false is passed as `parenthesize_arg` argument' do
108
- let(:parenthesize_arg) { false }
109
-
110
- it 'inserts parentheses properly because they are necessary' do
111
- rewritten_source.should == expected_source
112
- end
113
- end
114
- end
115
- end
116
-
117
- context 'with expression `==1`' do
118
- let(:source) do
119
- <<-END
120
- describe 'example' do
121
- it 'is 1' do
122
- subject.should==1
123
- end
124
- end
125
- END
126
- end
127
-
128
- let(:expected_source) do
129
- <<-END
130
- describe 'example' do
131
- it 'is 1' do
132
- subject.should eq(1)
133
- end
134
- end
135
- END
136
- end
137
-
138
- it 'converts to `eq(1)` form' do
139
- rewritten_source.should == expected_source
140
- end
141
-
142
- context 'and false is passed as `parenthesize_arg` argument' do
143
- let(:parenthesize_arg) { false }
144
-
145
- let(:expected_source) do
146
- <<-END
147
- describe 'example' do
148
- it 'is 1' do
149
- subject.should eq 1
150
- end
151
- end
152
- END
153
- end
154
-
155
- it 'converts to `eq 1` form' do
156
- rewritten_source.should == expected_source
157
- end
158
- end
159
- end
160
-
161
- context 'with expression `be == 1`' do
162
- let(:source) do
163
- <<-END
164
- describe 'example' do
165
- it 'is 1' do
166
- subject.should be == 1
167
- end
168
- end
169
- END
170
- end
171
-
172
- let(:expected_source) do
173
- <<-END
174
- describe 'example' do
175
- it 'is 1' do
176
- subject.should eq(1)
177
- end
178
- end
179
- END
180
- end
181
-
182
- it 'converts to `eq(1)` form' do
183
- rewritten_source.should == expected_source
184
- end
185
-
186
- it 'adds record `== expected` -> `eq(expected)`' do
187
- record.old_syntax.should == '== expected'
188
- record.new_syntax.should == 'eq(expected)'
189
- record.annotation.should be_nil
190
- end
191
- end
192
-
193
- context 'with expression `be.==(1)`' do
194
- let(:source) do
195
- <<-END
196
- describe 'example' do
197
- it 'is 1' do
198
- subject.should be.==(1)
199
- end
200
- end
201
- END
202
- end
203
-
204
- let(:expected_source) do
205
- <<-END
206
- describe 'example' do
207
- it 'is 1' do
208
- subject.should eq(1)
209
- end
210
- end
211
- END
212
- end
213
-
214
- it 'converts to `eq(1)` form' do
215
- rewritten_source.should == expected_source
216
- end
217
- end
218
-
219
- context 'with expression `== (2 - 1)`' do
220
- let(:source) do
221
- <<-END
222
- describe 'example' do
223
- it 'is 1' do
224
- subject.should == (2 - 1)
225
- end
226
- end
227
- END
228
- end
229
-
230
- let(:expected_source) do
231
- <<-END
232
- describe 'example' do
233
- it 'is 1' do
234
- subject.should eq(2 - 1)
235
- end
236
- end
237
- END
238
- end
239
-
240
- it 'converts to `eq(2 - 1)` form without superfluous parentheses' do
241
- rewritten_source.should == expected_source
242
- end
243
- end
244
-
245
- context 'with expression `== (5 - 3) / (4 - 2)`' do
246
- let(:source) do
247
- <<-END
248
- describe 'example' do
249
- it 'is 1' do
250
- subject.should == (5 - 3) / (4 - 2)
251
- end
252
- end
253
- END
254
- end
255
-
256
- let(:expected_source) do
257
- <<-END
258
- describe 'example' do
259
- it 'is 1' do
260
- subject.should eq((5 - 3) / (4 - 2))
261
- end
262
- end
263
- END
264
- end
265
-
266
- it 'converts to `eq((5 - 3) / (4 - 2))` form' do
267
- rewritten_source.should == expected_source
268
- end
269
- end
270
-
271
- context "with expression `== { 'key' => 'value' }`" do
272
- let(:source) do
273
- <<-END
274
- describe 'example' do
275
- it 'is the hash' do
276
- subject.should == { 'key' => 'value' }
277
- end
278
- end
279
- END
280
- end
281
-
282
- let(:expected_source) do
283
- <<-END
284
- describe 'example' do
285
- it 'is the hash' do
286
- subject.should eq({ 'key' => 'value' })
287
- end
288
- end
289
- END
290
- end
291
-
292
- it "converts to `eq({ 'key' => 'value' })` form" do
293
- rewritten_source.should == expected_source
294
- end
295
-
296
- context 'and false is passed as `parenthesize_arg` argument' do
297
- let(:parenthesize_arg) { false }
298
-
299
- it 'inserts parentheses to avoid the hash from be interpreted as a block' do
300
- rewritten_source.should == expected_source
301
- end
302
- end
303
- end
304
-
305
- [
306
- [:===, 'case-equals to'],
307
- [:<, 'is less than'],
308
- [:<=, 'is less than or equals to'],
309
- [:>, 'is greater than'],
310
- [:>=, 'is greater than or equals to']
311
- ].each do |operator, description|
312
- context "with expression `#{operator} 1`" do
313
- let(:source) do
314
- <<-END
315
- describe 'example' do
316
- it '#{description} 1' do
317
- subject.should #{operator} 1
318
- end
319
- end
320
- END
321
- end
322
-
323
- let(:expected_source) do
324
- <<-END
325
- describe 'example' do
326
- it '#{description} 1' do
327
- subject.should be #{operator} 1
328
- end
329
- end
330
- END
331
- end
332
-
333
- it "converts to `be #{operator} 1` form" do
334
- rewritten_source.should == expected_source
335
- end
336
-
337
- it "adds record `#{operator} expected` -> `be #{operator} expected`" do
338
- record.old_syntax.should == "#{operator} expected"
339
- record.new_syntax.should == "be #{operator} expected"
340
- record.annotation.should be_nil
341
- end
342
- end
343
-
344
- context "with expression `be #{operator} 1`" do
345
- let(:source) do
346
- <<-END
347
- describe 'example' do
348
- it '#{description} 1' do
349
- subject.should be #{operator} 1
350
- end
351
- end
352
- END
353
- end
354
-
355
- it 'does nothing' do
356
- rewritten_source.should == source
357
- end
358
-
359
- it 'reports nothing' do
360
- matcher.report.records.should be_empty
361
- end
362
- end
363
- end
364
-
365
- context 'with expression `=~ /pattern/`' do
366
- let(:source) do
367
- <<-END
368
- describe 'example' do
369
- it 'matches the pattern' do
370
- subject.should =~ /pattern/
371
- end
372
- end
373
- END
374
- end
375
-
376
- let(:expected_source) do
377
- <<-END
378
- describe 'example' do
379
- it 'matches the pattern' do
380
- subject.should match(/pattern/)
381
- end
382
- end
383
- END
384
- end
385
-
386
- it 'converts to `match(/pattern/)` form' do
387
- rewritten_source.should == expected_source
388
- end
389
-
390
- it 'adds record `=~ /pattern/` -> `match(/pattern/)` without annotation' do
391
- record.old_syntax.should == '=~ /pattern/'
392
- record.new_syntax.should == 'match(/pattern/)'
393
- record.annotation.should be_nil
394
- end
395
- end
396
-
397
- context 'with expression `=~/pattern/`' do
398
- let(:source) do
399
- <<-END
400
- describe 'example' do
401
- it 'matches the pattern' do
402
- subject.should=~/pattern/
403
- end
404
- end
405
- END
406
- end
407
-
408
- let(:expected_source) do
409
- <<-END
410
- describe 'example' do
411
- it 'matches the pattern' do
412
- subject.should match(/pattern/)
413
- end
414
- end
415
- END
416
- end
417
-
418
- it 'converts to `match(/pattern/)` form' do
419
- rewritten_source.should == expected_source
420
- end
421
- end
422
-
423
- context 'with expression `be =~ /pattern/`' do
424
- let(:source) do
425
- <<-END
426
- describe 'example' do
427
- it 'matches the pattern' do
428
- subject.should be =~ /pattern/
429
- end
430
- end
431
- END
432
- end
433
-
434
- let(:expected_source) do
435
- <<-END
436
- describe 'example' do
437
- it 'matches the pattern' do
438
- subject.should match(/pattern/)
439
- end
440
- end
441
- END
442
- end
443
-
444
- it 'converts to `match(/pattern/)` form' do
445
- rewritten_source.should == expected_source
446
- end
447
- end
448
-
449
- context 'with expression `=~ [1, 2]`' do
450
- let(:source) do
451
- <<-END
452
- describe 'example' do
453
- it 'contains 1 and 2' do
454
- subject.should =~ [1, 2]
455
- end
456
- end
457
- END
458
- end
459
-
460
- let(:expected_source) do
461
- <<-END
462
- describe 'example' do
463
- it 'contains 1 and 2' do
464
- subject.should match_array([1, 2])
465
- end
466
- end
467
- END
468
- end
469
-
470
- it 'converts to `match_array([1, 2])` form' do
471
- rewritten_source.should == expected_source
472
- end
473
-
474
- it 'adds record `=~ [1, 2]` -> `match_array([1, 2])` without annotation' do
475
- record.old_syntax.should == '=~ [1, 2]'
476
- record.new_syntax.should == 'match_array([1, 2])'
477
- record.annotation.should be_nil
478
- end
479
- end
480
-
481
- context 'with expression `=~[1, 2]`' do
482
- let(:source) do
483
- <<-END
484
- describe 'example' do
485
- it 'contains 1 and 2' do
486
- subject.should=~[1, 2]
487
- end
488
- end
489
- END
490
- end
491
-
492
- let(:expected_source) do
493
- <<-END
494
- describe 'example' do
495
- it 'contains 1 and 2' do
496
- subject.should match_array([1, 2])
497
- end
498
- end
499
- END
500
- end
501
-
502
- it 'converts to `match_array([1, 2])` form' do
503
- rewritten_source.should == expected_source
504
- end
505
- end
506
-
507
- context 'with expression `be =~ [1, 2]`' do
508
- let(:source) do
509
- <<-END
510
- describe 'example' do
511
- it 'contains 1 and 2' do
512
- subject.should be =~ [1, 2]
513
- end
514
- end
515
- END
516
- end
517
-
518
- let(:expected_source) do
519
- <<-END
520
- describe 'example' do
521
- it 'contains 1 and 2' do
522
- subject.should match_array([1, 2])
523
- end
524
- end
525
- END
526
- end
527
-
528
- it 'converts to `match_array([1, 2])` form' do
529
- rewritten_source.should == expected_source
530
- end
531
- end
532
-
533
- context 'with expression `=~ variable`' do
534
- context 'and runtime type of the variable is array' do
535
- include_context 'dynamic analysis objects'
536
-
537
- let(:source) do
538
- <<-END
539
- describe 'example' do
540
- it 'contains 1 and 2' do
541
- variable = [1, 2]
542
- [2, 1].should =~ variable
543
- end
544
- end
545
- END
546
- end
547
-
548
- let(:expected_source) do
549
- <<-END
550
- describe 'example' do
551
- it 'contains 1 and 2' do
552
- variable = [1, 2]
553
- [2, 1].should match_array(variable)
554
- end
555
- end
556
- END
557
- end
558
-
559
- it 'converts to `match_array(variable)` form' do
560
- rewritten_source.should == expected_source
561
- end
562
-
563
- it 'adds record `=~ [1, 2]` -> `match_array([1, 2])` without annotation' do
564
- record.old_syntax.should == '=~ [1, 2]'
565
- record.new_syntax.should == 'match_array([1, 2])'
566
- record.annotation.should be_nil
567
- end
568
- end
569
-
570
- context 'and runtime type of the variable is regular expression' do
571
- include_context 'dynamic analysis objects'
572
-
573
- let(:source) do
574
- <<-END
575
- describe 'example' do
576
- it 'matches to the pattern' do
577
- variable = /^str/
578
- 'string'.should =~ variable
579
- end
580
- end
581
- END
582
- end
583
-
584
- let(:expected_source) do
585
- <<-END
586
- describe 'example' do
587
- it 'matches to the pattern' do
588
- variable = /^str/
589
- 'string'.should match(variable)
590
- end
591
- end
592
- END
593
- end
594
-
595
- it 'converts to `match(variable)` form' do
596
- rewritten_source.should == expected_source
597
- end
598
-
599
- it 'adds record `=~ /pattern/` -> `match(/pattern/)` without annotation' do
600
- record.old_syntax.should == '=~ /pattern/'
601
- record.new_syntax.should == 'match(/pattern/)'
602
- record.annotation.should be_nil
603
- end
604
- end
605
-
606
- context 'and no runtime type information is provided' do
607
- let(:source) do
608
- <<-END
609
- describe 'example' do
610
- it 'matches the pattern' do
611
- subject.should =~ variable
612
- end
613
- end
614
- END
615
- end
616
-
617
- let(:expected_source) do
618
- <<-END
619
- describe 'example' do
620
- it 'matches the pattern' do
621
- subject.should match(variable)
622
- end
623
- end
624
- END
625
- end
626
-
627
- it 'converts to `match(variable)` form' do
628
- rewritten_source.should == expected_source
629
- end
630
-
631
- it 'adds record `=~ /pattern/` -> `match(/pattern/)` with annotation' do
632
- record.old_syntax.should == '=~ /pattern/'
633
- record.new_syntax.should == 'match(/pattern/)'
634
-
635
- record.annotation.message.should ==
636
- 'The `=~ variable` has been converted but it might possibly be incorrect ' \
637
- "due to a lack of runtime information. It's recommended to review the change carefully."
638
- record.annotation.source_range.source.should == '=~ variable'
639
- end
640
- end
641
- end
642
-
643
- context 'with expression `be =~ variable`' do
644
- context 'and no runtime type information is provided' do
645
- let(:source) do
646
- <<-END
647
- describe 'example' do
648
- it 'matches the pattern' do
649
- subject.should be =~ variable
650
- end
651
- end
652
- END
653
- end
654
-
655
- let(:expected_source) do
656
- <<-END
657
- describe 'example' do
658
- it 'matches the pattern' do
659
- subject.should match(variable)
660
- end
661
- end
662
- END
663
- end
664
-
665
- it 'converts to `match(variable)` form' do
666
- rewritten_source.should == expected_source
667
- end
668
-
669
- it 'adds record `=~ /pattern/` -> `match(/pattern/)` with annotation' do
670
- record.old_syntax.should == '=~ /pattern/'
671
- record.new_syntax.should == 'match(/pattern/)'
672
-
673
- record.annotation.message.should ==
674
- 'The `be =~ variable` has been converted but it might possibly be incorrect ' \
675
- "due to a lack of runtime information. It's recommended to review the change carefully."
676
- record.annotation.source_range.source.should == 'be =~ variable'
677
- end
678
- end
679
- end
680
- end
681
-
682
- describe '#parenthesize!' do
683
- before do
684
- matcher.parenthesize!(always)
685
- end
686
-
687
- let(:always) { true }
688
-
689
- context 'when its argument is already in parentheses' do
690
- let(:source) do
691
- <<-END
692
- describe 'example' do
693
- it 'is 1' do
694
- subject.should ==(1)
695
- end
696
- end
697
- END
698
- end
699
-
700
- it 'does nothing' do
701
- rewritten_source.should == source
702
- end
703
- end
704
-
705
- context 'when its argument is not in parentheses' do
706
- let(:source) do
707
- <<-END
708
- describe 'example' do
709
- it 'is 1' do
710
- subject.should == 1
711
- end
712
- end
713
- END
714
- end
715
-
716
- context 'and true is passed as `always` argument' do
717
- let(:always) { true }
718
-
719
- let(:expected_source) do
720
- <<-END
721
- describe 'example' do
722
- it 'is 1' do
723
- subject.should ==(1)
724
- end
725
- end
726
- END
727
- end
728
-
729
- it 'inserts parentheses' do
730
- rewritten_source.should == expected_source
731
- end
732
- end
733
-
734
- context 'and false is passed as `always` argument' do
735
- let(:always) { false }
736
-
737
- let(:expected_source) do
738
- <<-END
739
- describe 'example' do
740
- it 'is 1' do
741
- subject.should == 1
742
- end
743
- end
744
- END
745
- end
746
-
747
- it 'does not nothing' do
748
- rewritten_source.should == expected_source
749
- end
750
- end
751
- end
752
-
753
- context 'when its argument is a string literal' do
754
- let(:source) do
755
- <<-END
756
- describe 'example' do
757
- it "is 'string'" do
758
- subject.should == 'string'
759
- end
760
- end
761
- END
762
- end
763
-
764
- let(:expected_source) do
765
- <<-END
766
- describe 'example' do
767
- it "is 'string'" do
768
- subject.should ==('string')
769
- end
770
- end
771
- END
772
- end
773
-
774
- it 'inserts parentheses' do
775
- rewritten_source.should == expected_source
776
- end
777
- end
778
-
779
- context 'when its argument is a here document' do
780
- let(:source) do
781
- <<-END
782
- describe 'example' do
783
- it 'returns the document' do
784
- subject.should == <<-HEREDOC
785
- foo
786
- HEREDOC
787
- end
788
- end
789
- END
790
- end
791
-
792
- # (block
793
- # (send nil :it
794
- # (str "returns the document"))
795
- # (args)
796
- # (send
797
- # (send nil :subject) :should
798
- # (send nil :eq
799
- # (str " foo\n"))))
800
-
801
- it 'does nothing' do
802
- rewritten_source.should == source
803
- end
804
- end
805
-
806
- context 'when its argument is a here document with chained method' do
807
- let(:source) do
808
- <<-END
809
- describe 'example' do
810
- it 'returns the document' do
811
- subject.should == <<-HEREDOC.gsub('foo', 'bar')
812
- foo
813
- HEREDOC
814
- end
815
- end
816
- END
817
- end
818
-
819
- # (block
820
- # (send nil :it
821
- # (str "returns the document"))
822
- # (args)
823
- # (send
824
- # (send nil :subject) :should
825
- # (send nil :eq
826
- # (send
827
- # (str " foo\n") :gsub
828
- # (str "foo")
829
- # (str "bar")))))
830
-
831
- it 'does nothing' do
832
- rewritten_source.should == source
833
- end
834
- end
835
-
836
- context 'when its argument is a here document with interpolation' do
837
- let(:source) do
838
- <<-'END'
839
- it 'returns the document' do
840
- string = 'foo'
841
- subject.should == <<-HEREDOC
842
- #{string}
843
- HEREDOC
844
- end
845
- END
846
- end
847
-
848
- # (block
849
- # (send nil :it
850
- # (str "returns the document"))
851
- # (args)
852
- # (begin
853
- # (lvasgn :string
854
- # (str "foo"))
855
- # (send
856
- # (send nil :subject) :should
857
- # (send nil :eq
858
- # (dstr
859
- # (str " ")
860
- # (begin
861
- # (lvar :string))
862
- # (str "\n"))))))
863
-
864
- it 'does nothing' do
865
- rewritten_source.should == source
866
- end
867
- end
868
- end
869
- end
870
- end
871
- end