transpec 1.12.0 → 1.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +103 -99
- data/README.md +52 -8
- data/README.md.erb +240 -95
- data/Rakefile +3 -1
- data/lib/transpec/base_rewriter.rb +1 -1
- data/lib/transpec/cli.rb +2 -1
- data/lib/transpec/converter.rb +9 -65
- data/lib/transpec/spec_suite.rb +3 -36
- data/lib/transpec/syntax.rb +61 -4
- data/lib/transpec/util.rb +0 -6
- data/lib/transpec/version.rb +1 -1
- data/spec/transpec/cli_spec.rb +6 -11
- data/spec/transpec/converter_spec.rb +0 -173
- data/spec/transpec/dynamic_analyzer_spec.rb +1 -1
- data/spec/transpec/record_spec.rb +15 -0
- data/spec/transpec_spec.rb +8 -0
- data/tasks/lib/test.rb +1 -0
- data/tasks/readme.rake +115 -46
- data/tasks/test.rake +2 -6
- metadata +3 -2
data/README.md.erb
CHANGED
@@ -107,6 +107,8 @@ Running dynamic analysis with command "bundle exec rspec"...
|
|
107
107
|
Finished in 13.07 seconds
|
108
108
|
100 examples, 0 failures
|
109
109
|
|
110
|
+
Aggregating spec suite data...
|
111
|
+
|
110
112
|
Converting spec/spec_helper.rb
|
111
113
|
Converting spec/support/cache_helper.rb
|
112
114
|
Converting spec/support/file_helper.rb
|
@@ -258,6 +260,7 @@ Type | Target Syntax | Converted Syntax
|
|
258
260
|
<%=
|
259
261
|
conversion_type_table = <<END
|
260
262
|
`example_group` | `describe 'something' { }` | `RSpec.describe 'something' { }`
|
263
|
+
`hook_scope` | `before(:all) { }` | `before(:context) { }`
|
261
264
|
`stub_with_hash` | `obj.stub(:message => value)` | `allow(obj).to receive(:message).and_return(value)`
|
262
265
|
END
|
263
266
|
|
@@ -337,9 +340,7 @@ END
|
|
337
340
|
<%= convert(example).gsub('original spec', 'converted spec') -%>
|
338
341
|
|
339
342
|
<%=
|
340
|
-
|
341
|
-
configuration.parenthesize_matcher_arg = false
|
342
|
-
convert(example, configuration)
|
343
|
+
convert(example, cli: ['-p'])
|
343
344
|
.gsub(
|
344
345
|
'original spec',
|
345
346
|
'converted spec with -p/--no-parentheses-matcher-arg option'
|
@@ -451,16 +452,24 @@ table_of_contents(supported_conversions_section, 3)
|
|
451
452
|
Targets:
|
452
453
|
|
453
454
|
```ruby
|
455
|
+
<%=
|
456
|
+
positive_example = <<END
|
454
457
|
obj.should matcher
|
458
|
+
END
|
459
|
+
-%>
|
460
|
+
<%=
|
461
|
+
negative_example = <<END
|
455
462
|
obj.should_not matcher
|
463
|
+
END
|
464
|
+
-%>
|
456
465
|
```
|
457
466
|
|
458
467
|
Will be converted to:
|
459
468
|
|
460
469
|
```ruby
|
461
|
-
|
462
|
-
|
463
|
-
|
470
|
+
<%= convert(positive_example, wrap_with: :example) -%>
|
471
|
+
<%= convert(negative_example, wrap_with: :example) -%>
|
472
|
+
<%= convert(negative_example, wrap_with: :example, cli: ['--negative-form', 'to_not']).chomp -%> # with `--negative-form to_not`
|
464
473
|
```
|
465
474
|
|
466
475
|
* This conversion can be disabled by: `--keep should`
|
@@ -469,21 +478,29 @@ expect(obj).to_not matcher # with `--negative-form to_not`
|
|
469
478
|
|
470
479
|
### One-liner expectations
|
471
480
|
|
472
|
-
**This conversion is available only if your project's RSpec is `<%= Transpec::RSpecVersion.oneliner_is_expected_available_version %>` or later.**
|
481
|
+
**This conversion is available only if your project's RSpec is `<%= rspec_version = Transpec::RSpecVersion.oneliner_is_expected_available_version %>` or later.**
|
473
482
|
|
474
483
|
Targets:
|
475
484
|
|
476
485
|
```ruby
|
486
|
+
<%=
|
487
|
+
positive_example = <<END
|
477
488
|
it { should matcher }
|
489
|
+
END
|
490
|
+
-%>
|
491
|
+
<%=
|
492
|
+
negative_example = <<END
|
478
493
|
it { should_not matcher }
|
494
|
+
END
|
495
|
+
-%>
|
479
496
|
```
|
480
497
|
|
481
498
|
Will be converted to:
|
482
499
|
|
483
500
|
```ruby
|
484
|
-
|
485
|
-
|
486
|
-
|
501
|
+
<%= convert(positive_example, wrap_with: :example, rspec_version: rspec_version) -%>
|
502
|
+
<%= convert(negative_example, wrap_with: :example, rspec_version: rspec_version) -%>
|
503
|
+
<%= convert(negative_example, wrap_with: :example, rspec_version: rspec_version, cli: ['--negative-form', 'to_not']).chomp -%> # with `--negative-form to_not`
|
487
504
|
```
|
488
505
|
|
489
506
|
`is_expected.to` is designed for the consistency with the `expect` syntax.
|
@@ -495,7 +512,7 @@ feel free to disable this conversion and continue using the one-liner `should`.
|
|
495
512
|
See [Two Types of `should`](#two-types-of-should) also.
|
496
513
|
|
497
514
|
* This conversion can be disabled by: `--keep oneliner`
|
498
|
-
* Deprecation:
|
515
|
+
* Deprecation: not deprecated
|
499
516
|
* See also: [Add `is_expected` for expect-based one-liner syntax. by myronmarston · rspec/rspec-core](https://github.com/rspec/rspec-core/pull/1180)
|
500
517
|
|
501
518
|
### Operator matchers
|
@@ -503,21 +520,21 @@ See [Two Types of `should`](#two-types-of-should) also.
|
|
503
520
|
Targets:
|
504
521
|
|
505
522
|
```ruby
|
523
|
+
<%=
|
524
|
+
example = <<END
|
506
525
|
1.should == 1
|
507
526
|
1.should < 2
|
508
527
|
Integer.should === 1
|
509
528
|
'string'.should =~ /^str/
|
510
529
|
[1, 2, 3].should =~ [2, 1, 3]
|
530
|
+
END
|
531
|
+
-%>
|
511
532
|
```
|
512
533
|
|
513
534
|
Will be converted to:
|
514
535
|
|
515
536
|
```ruby
|
516
|
-
|
517
|
-
expect(1).to be < 2
|
518
|
-
expect(Integer).to be === 1
|
519
|
-
expect('string').to match(/^str/)
|
520
|
-
expect([1, 2, 3]).to match_array([2, 1, 3])
|
537
|
+
<%= convert(example, wrap_with: :example) -%>
|
521
538
|
```
|
522
539
|
|
523
540
|
This conversion is combined with the conversion of [standard expectations](#standard-expecatations) and cannot be disabled separately because the `expect` syntax does not directly support the operator matchers.
|
@@ -526,29 +543,30 @@ This conversion is combined with the conversion of [standard expectations](#stan
|
|
526
543
|
|
527
544
|
### Boolean matchers
|
528
545
|
|
529
|
-
**This conversion is available only if your project's RSpec is `<%= Transpec::RSpecVersion.be_truthy_available_version %>` or later.**
|
546
|
+
**This conversion is available only if your project's RSpec is `<%= rspec_version = Transpec::RSpecVersion.be_truthy_available_version %>` or later.**
|
530
547
|
|
531
548
|
Targets:
|
532
549
|
|
533
550
|
```ruby
|
551
|
+
<%=
|
552
|
+
example = <<END
|
534
553
|
expect(obj).to be_true
|
535
554
|
expect(obj).to be_false
|
555
|
+
END
|
556
|
+
-%>
|
536
557
|
```
|
537
558
|
|
538
559
|
Will be converted to:
|
539
560
|
|
540
561
|
```ruby
|
541
|
-
|
542
|
-
expect(obj).to be_falsey
|
562
|
+
<%= convert(example, rspec_version: rspec_version, wrap_with: :example) -%>
|
543
563
|
|
544
564
|
# With `--boolean-matcher truthy,falsy`
|
545
565
|
# be_falsy is just an alias of be_falsey.
|
546
|
-
|
547
|
-
expect(obj).to be_falsy
|
566
|
+
<%= convert(example, cli: ['--boolean-matcher', 'truthy,falsy'], rspec_version: rspec_version, wrap_with: :example) -%>
|
548
567
|
|
549
568
|
# With `--boolean-matcher true,false`
|
550
|
-
|
551
|
-
expect(obj).to be false
|
569
|
+
<%= convert(example, cli: ['--boolean-matcher', 'true,false'], rspec_version: rspec_version, wrap_with: :example) -%>
|
552
570
|
```
|
553
571
|
|
554
572
|
* `be_true` matcher passes if expectation subject is _truthy_ in conditional semantics. (i.e. all objects except `false` and `nil`)
|
@@ -569,13 +587,17 @@ So, converting `be_true`/`be_false` to `be_truthy`/`be_falsey` never breaks your
|
|
569
587
|
Targets:
|
570
588
|
|
571
589
|
```ruby
|
590
|
+
<%=
|
591
|
+
example = <<END
|
572
592
|
expect(1.0 / 3.0).to be_close(0.333, 0.001)
|
593
|
+
END
|
594
|
+
-%>
|
573
595
|
```
|
574
596
|
|
575
597
|
Will be converted to:
|
576
598
|
|
577
599
|
```ruby
|
578
|
-
|
600
|
+
<%= convert(example, wrap_with: :example) -%>
|
579
601
|
```
|
580
602
|
|
581
603
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -589,31 +611,74 @@ expect(1.0 / 3.0).to be_within(0.001).of(0.333)
|
|
589
611
|
Targets:
|
590
612
|
|
591
613
|
```ruby
|
614
|
+
<%=
|
615
|
+
example = <<END
|
592
616
|
expect(collection).to have(3).items
|
593
617
|
expect(collection).to have_exactly(3).items
|
594
618
|
expect(collection).to have_at_least(3).items
|
595
619
|
expect(collection).to have_at_most(3).items
|
620
|
+
END
|
621
|
+
-%>
|
622
|
+
|
623
|
+
<%=
|
624
|
+
should_example = <<END
|
596
625
|
collection.should have(3).items
|
626
|
+
END
|
627
|
+
-%>
|
597
628
|
|
598
629
|
# Assume `team` responds to #players.
|
630
|
+
<%=
|
631
|
+
collection_owner_example = <<END
|
599
632
|
expect(team).to have(3).players
|
633
|
+
END
|
634
|
+
-%>
|
600
635
|
|
601
636
|
# Assume #players is a private method.
|
637
|
+
<%=
|
638
|
+
private_method_example = <<END
|
602
639
|
expect(team).to have(3).players
|
640
|
+
END
|
641
|
+
-%>
|
603
642
|
```
|
604
643
|
|
605
644
|
Will be converted to:
|
606
645
|
|
607
646
|
```ruby
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
647
|
+
<%=
|
648
|
+
convert(example, dynamic: true, wrap_with: :example, hidden: 'collection = [1, 2, 3]')
|
649
|
+
-%>
|
650
|
+
|
651
|
+
<%=
|
652
|
+
" # With `--keep should`\n" +
|
653
|
+
convert(should_example, cli: ['--keep', 'should'], dynamic: true, wrap_with: :example, hidden: 'collection = [1, 2, 3]')
|
654
|
+
-%>
|
612
655
|
|
613
|
-
|
656
|
+
<%=
|
657
|
+
convert(collection_owner_example, dynamic: true, wrap_with: :example, hidden: <<END)
|
658
|
+
class Team
|
659
|
+
def players
|
660
|
+
[1, 2, 3]
|
661
|
+
end
|
662
|
+
end
|
663
|
+
|
664
|
+
team = Team.new
|
665
|
+
END
|
666
|
+
-%>
|
614
667
|
|
615
668
|
# have(n).items matcher invokes #players even if it's a private method.
|
616
|
-
|
669
|
+
<%=
|
670
|
+
convert(private_method_example, dynamic: true, wrap_with: :example, hidden: <<END)
|
671
|
+
class Team
|
672
|
+
private
|
673
|
+
|
674
|
+
def players
|
675
|
+
[1, 2, 3]
|
676
|
+
end
|
677
|
+
end
|
678
|
+
|
679
|
+
team = Team.new
|
680
|
+
END
|
681
|
+
-%>
|
617
682
|
```
|
618
683
|
|
619
684
|
There's an option to continue using `have(n).items` matcher with [rspec-collection_matchers](https://github.com/rspec/rspec-collection_matchers) which is a gem extracted from `rspec-expectations`.
|
@@ -637,25 +702,39 @@ Note: `rspec-rails` 3.0 [still uses `have(n).items` matcher with `rspec-collecti
|
|
637
702
|
Targets:
|
638
703
|
|
639
704
|
```ruby
|
705
|
+
<%=
|
706
|
+
example = <<END
|
640
707
|
it { should have(3).items }
|
708
|
+
END
|
709
|
+
-%>
|
710
|
+
<%=
|
711
|
+
collection_owner_example = <<END
|
641
712
|
it { should have_at_least(3).players }
|
713
|
+
END
|
714
|
+
-%>
|
642
715
|
```
|
643
716
|
|
644
717
|
Will be converted to:
|
645
718
|
|
646
719
|
```ruby
|
647
|
-
|
648
|
-
expect(subject.size).to eq(3)
|
649
|
-
end
|
720
|
+
<%= convert(example, dynamic: true, wrap_with: :group, hidden: 'subject { [1, 2, 3] }') -%>
|
650
721
|
|
651
722
|
# With `--keep should`
|
652
|
-
|
653
|
-
subject.size.should == 3
|
654
|
-
end
|
723
|
+
<%= convert(example, dynamic: true, wrap_with: :group, hidden: 'subject { [1, 2, 3] }', cli: ['--keep', 'should']) -%>
|
655
724
|
|
656
|
-
|
657
|
-
|
725
|
+
<%=
|
726
|
+
convert(collection_owner_example, dynamic: true, wrap_with: :group, hidden: <<END)
|
727
|
+
subject do
|
728
|
+
class Team
|
729
|
+
def players
|
730
|
+
[1, 2, 3]
|
731
|
+
end
|
732
|
+
end
|
733
|
+
|
734
|
+
Team.new
|
658
735
|
end
|
736
|
+
END
|
737
|
+
-%>
|
659
738
|
```
|
660
739
|
|
661
740
|
* This conversion can be disabled by: `--keep have_items`
|
@@ -665,15 +744,19 @@ end
|
|
665
744
|
Targets:
|
666
745
|
|
667
746
|
```ruby
|
747
|
+
<%=
|
748
|
+
example = <<END
|
668
749
|
lambda { do_something }.should raise_error
|
669
750
|
proc { do_something }.should raise_error
|
670
751
|
-> { do_something }.should raise_error
|
752
|
+
END
|
753
|
+
-%>
|
671
754
|
```
|
672
755
|
|
673
756
|
Will be converted to:
|
674
757
|
|
675
758
|
```ruby
|
676
|
-
|
759
|
+
<%= convert(example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
677
760
|
```
|
678
761
|
|
679
762
|
* This conversion can be disabled by: `--keep should`
|
@@ -722,17 +805,25 @@ If you choose to do so, disable this conversion by either:
|
|
722
805
|
Targets:
|
723
806
|
|
724
807
|
```ruby
|
808
|
+
<%=
|
809
|
+
example = <<END
|
725
810
|
expect { do_something }.not_to raise_error(SomeErrorClass)
|
726
811
|
expect { do_something }.not_to raise_error('message')
|
727
812
|
expect { do_something }.not_to raise_error(SomeErrorClass, 'message')
|
813
|
+
END
|
814
|
+
-%>
|
815
|
+
<%=
|
816
|
+
should_example = <<END
|
728
817
|
lambda { do_something }.should_not raise_error(SomeErrorClass)
|
818
|
+
END
|
819
|
+
-%>
|
729
820
|
```
|
730
821
|
|
731
822
|
Will be converted to:
|
732
823
|
|
733
824
|
```ruby
|
734
|
-
|
735
|
-
|
825
|
+
<%= convert(example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
826
|
+
<%= convert(should_example, wrap_with: :example, cli: ['--keep', 'should']).chomp -%> # with `--keep should`
|
736
827
|
```
|
737
828
|
|
738
829
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -744,15 +835,18 @@ lambda { do_something }.should_not raise_error # with `--keep should`
|
|
744
835
|
Targets:
|
745
836
|
|
746
837
|
```ruby
|
838
|
+
<%=
|
839
|
+
example = <<END
|
747
840
|
obj.should_receive(:message)
|
748
841
|
Klass.any_instance.should_receive(:message)
|
842
|
+
END
|
843
|
+
-%>
|
749
844
|
```
|
750
845
|
|
751
846
|
Will be converted to:
|
752
847
|
|
753
848
|
```ruby
|
754
|
-
|
755
|
-
expect_any_instance_of(Klass).to receive(:message)
|
849
|
+
<%= convert(example, wrap_with: :example) -%>
|
756
850
|
```
|
757
851
|
|
758
852
|
* This conversion can be disabled by: `--keep should_receive`
|
@@ -764,21 +858,29 @@ expect_any_instance_of(Klass).to receive(:message)
|
|
764
858
|
Targets:
|
765
859
|
|
766
860
|
```ruby
|
861
|
+
<%=
|
862
|
+
example = <<END
|
767
863
|
obj.should_receive(:message).any_number_of_times
|
768
864
|
obj.should_receive(:message).at_least(0)
|
865
|
+
END
|
866
|
+
-%>
|
769
867
|
|
868
|
+
<%=
|
869
|
+
any_instance_example = <<END
|
770
870
|
Klass.any_instance.should_receive(:message).any_number_of_times
|
771
871
|
Klass.any_instance.should_receive(:message).at_least(0)
|
872
|
+
END
|
873
|
+
-%>
|
772
874
|
```
|
773
875
|
|
774
876
|
Will be converted to:
|
775
877
|
|
776
878
|
```ruby
|
777
|
-
|
778
|
-
|
879
|
+
<%= convert(example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
880
|
+
<%= convert(example, wrap_with: :example, cli: ['--keep', 'stub']).lines.to_a.uniq.join("\n").chomp -%> # with `--keep stub`
|
779
881
|
|
780
|
-
|
781
|
-
|
882
|
+
<%= convert(any_instance_example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
883
|
+
<%= convert(any_instance_example, wrap_with: :example, cli: ['--keep', 'stub']).lines.to_a.uniq.join("\n").chomp -%> # with `--keep stub`
|
782
884
|
```
|
783
885
|
|
784
886
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -790,29 +892,45 @@ Klass.any_instance.stub(:message) # with `--keep stub`
|
|
790
892
|
Targets:
|
791
893
|
|
792
894
|
```ruby
|
895
|
+
<%=
|
896
|
+
example = <<END
|
793
897
|
obj.stub(:message)
|
794
898
|
obj.stub!(:message)
|
899
|
+
END
|
900
|
+
-%>
|
795
901
|
|
902
|
+
<%=
|
903
|
+
stub_chain_example = <<END
|
796
904
|
obj.stub_chain(:foo, :bar, :baz)
|
905
|
+
END
|
906
|
+
-%>
|
797
907
|
|
908
|
+
<%=
|
909
|
+
any_instance_example = <<END
|
798
910
|
Klass.any_instance.stub(:message)
|
911
|
+
END
|
912
|
+
-%>
|
799
913
|
|
914
|
+
<%=
|
915
|
+
unstub_example = <<END
|
800
916
|
obj.unstub(:message)
|
801
917
|
obj.unstub!(:message)
|
918
|
+
END
|
919
|
+
-%>
|
802
920
|
```
|
803
921
|
|
804
922
|
Will be converted to:
|
805
923
|
|
806
924
|
```ruby
|
807
|
-
|
925
|
+
<%= convert(example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
808
926
|
|
809
927
|
# Conversion from `stub_chain` to `receive_message_chain` is available
|
810
|
-
# only if the target project's RSpec is <%= Transpec::RSpecVersion.receive_message_chain_available_version %> or later
|
811
|
-
|
928
|
+
# only if the target project's RSpec is <%= rspec_version = Transpec::RSpecVersion.receive_message_chain_available_version %> or later
|
929
|
+
<%= convert(stub_chain_example, wrap_with: :example, rspec_version: rspec_version) -%>
|
812
930
|
|
813
|
-
|
931
|
+
<%= convert(any_instance_example, wrap_with: :example) -%>
|
814
932
|
|
815
|
-
|
933
|
+
<%= convert(unstub_example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
816
934
|
```
|
817
935
|
|
818
936
|
* This conversion can be disabled by: `--keep stub`
|
@@ -826,22 +944,25 @@ allow(obj).to receive(:message).and_call_original
|
|
826
944
|
Targets:
|
827
945
|
|
828
946
|
```ruby
|
947
|
+
<%=
|
948
|
+
example = <<END
|
829
949
|
obj.stub(:foo => 1, :bar => 2)
|
950
|
+
END
|
951
|
+
-%>
|
830
952
|
```
|
831
953
|
|
832
954
|
Will be converted to:
|
833
955
|
|
834
956
|
```ruby
|
835
|
-
# If the target project's RSpec is <%= Transpec::RSpecVersion.receive_messages_available_version %> or later
|
836
|
-
|
957
|
+
# If the target project's RSpec is <%= rspec_version = Transpec::RSpecVersion.receive_messages_available_version %> or later
|
958
|
+
<%= convert(example, wrap_with: :example, rspec_version: rspec_version) -%>
|
837
959
|
|
838
960
|
# If the target project's RSpec is prior to <%= Transpec::RSpecVersion.receive_messages_available_version %>
|
839
|
-
|
961
|
+
<%= convert(example, wrap_with: :example, rspec_version: Transpec.required_rspec_version).chomp -%> # No conversion
|
840
962
|
|
841
963
|
# If the target project's RSpec is prior to <%= Transpec::RSpecVersion.receive_messages_available_version %>
|
842
|
-
# and `--convert
|
843
|
-
|
844
|
-
allow(obj).to receive(:bar).and_return(2)
|
964
|
+
# and `--convert stub-with-hash` is specified
|
965
|
+
<%= convert(example, wrap_with: :example, rspec_version: Transpec.required_rspec_version, cli: ['--convert', 'stub_with_hash']) -%>
|
845
966
|
```
|
846
967
|
|
847
968
|
`allow(obj).to receive_messages(:foo => 1, :bar => 2)` which is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0.
|
@@ -864,15 +985,19 @@ Or if you're going to stay RSpec 2.14 for now but want to convert all `stub` to
|
|
864
985
|
Targets:
|
865
986
|
|
866
987
|
```ruby
|
988
|
+
<%=
|
989
|
+
example = <<END
|
867
990
|
obj.stub!(:message)
|
868
991
|
obj.unstub!(:message)
|
992
|
+
END
|
993
|
+
-%>
|
869
994
|
```
|
870
995
|
|
871
996
|
Will be converted to:
|
872
997
|
|
873
998
|
```ruby
|
874
|
-
|
875
|
-
|
999
|
+
# With `--keep stub`
|
1000
|
+
<%= convert(example, wrap_with: :example, cli: ['--keep', 'stub']) -%>
|
876
1001
|
```
|
877
1002
|
|
878
1003
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -884,15 +1009,19 @@ obj.unstub(:message) # with `--keep stub`
|
|
884
1009
|
Targets:
|
885
1010
|
|
886
1011
|
```ruby
|
1012
|
+
<%=
|
1013
|
+
example = <<END
|
887
1014
|
obj.stub(:message).any_number_of_times
|
888
1015
|
obj.stub(:message).at_least(0)
|
1016
|
+
END
|
1017
|
+
-%>
|
889
1018
|
```
|
890
1019
|
|
891
1020
|
Will be converted to:
|
892
1021
|
|
893
1022
|
```ruby
|
894
|
-
|
895
|
-
|
1023
|
+
<%= convert(example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
1024
|
+
<%= convert(example, wrap_with: :example, cli: ['--keep', 'stub']).lines.to_a.uniq.join("\n").chomp -%> # with `--keep stub`
|
896
1025
|
```
|
897
1026
|
|
898
1027
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -918,7 +1047,7 @@ END
|
|
918
1047
|
Will be converted to:
|
919
1048
|
|
920
1049
|
```ruby
|
921
|
-
<%= convert(example) -%>
|
1050
|
+
<%= convert(example, wrap_with: :example) -%>
|
922
1051
|
```
|
923
1052
|
|
924
1053
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -952,18 +1081,11 @@ END
|
|
952
1081
|
Will be converted to:
|
953
1082
|
|
954
1083
|
```ruby
|
955
|
-
|
956
|
-
rspec_version
|
957
|
-
convert(example, nil, rspec_version)
|
958
|
-
-%>
|
1084
|
+
<% rspec_version = Transpec::RSpecVersion.yielding_receiver_to_any_instance_implementation_block_available_version -%>
|
1085
|
+
<%= convert(example, rspec_version: rspec_version) -%>
|
959
1086
|
|
960
1087
|
# With `--no-yield-any-instance`
|
961
|
-
<%=
|
962
|
-
configuration = Transpec::Configuration.new
|
963
|
-
configuration.add_receiver_arg_to_any_instance_implementation_block = false
|
964
|
-
rspec_version = Transpec::RSpecVersion.yielding_receiver_to_any_instance_implementation_block_available_version
|
965
|
-
convert(example, configuration, rspec_version)
|
966
|
-
-%>
|
1088
|
+
<%= convert(example, cli: ['--no-yield-any-instance'], rspec_version: rspec_version) -%>
|
967
1089
|
```
|
968
1090
|
|
969
1091
|
Here's an excerpt from [the warning](https://github.com/rspec/rspec-mocks/blob/aab8dc9/lib/rspec/mocks/message_expectation.rb#L478-L491) for `any_instance` implementation blocks in RSpec 2.99:
|
@@ -994,14 +1116,18 @@ Here's an excerpt from [the warning](https://github.com/rspec/rspec-mocks/blob/a
|
|
994
1116
|
Targets:
|
995
1117
|
|
996
1118
|
```ruby
|
1119
|
+
<%=
|
1120
|
+
example = <<END
|
997
1121
|
stub('something')
|
998
1122
|
mock('something')
|
1123
|
+
END
|
1124
|
+
-%>
|
999
1125
|
```
|
1000
1126
|
|
1001
1127
|
Will be converted to:
|
1002
1128
|
|
1003
1129
|
```ruby
|
1004
|
-
|
1130
|
+
<%= convert(example, wrap_with: :example).lines.to_a.uniq.join("\n") -%>
|
1005
1131
|
```
|
1006
1132
|
|
1007
1133
|
* This conversion can be disabled by: `--keep deprecated`
|
@@ -1045,8 +1171,7 @@ Will be converted to:
|
|
1045
1171
|
|
1046
1172
|
```ruby
|
1047
1173
|
<%=
|
1048
|
-
rspec_version
|
1049
|
-
convert(example, nil, rspec_version)
|
1174
|
+
convert(example, rspec_version: Transpec::RSpecVersion.skip_available_version)
|
1050
1175
|
.gsub('pending', 'pending # #pending with block is no longer supported')
|
1051
1176
|
-%>
|
1052
1177
|
```
|
@@ -1069,7 +1194,7 @@ Here's an excerpt from [the warning](https://github.com/rspec/rspec-core/blob/v2
|
|
1069
1194
|
|
1070
1195
|
### Current example object
|
1071
1196
|
|
1072
|
-
**This conversion is available only if your project's RSpec is `<%= Transpec::RSpecVersion.yielded_example_available_version %>` or later.**
|
1197
|
+
**This conversion is available only if your project's RSpec is `<%= rspec_version = Transpec::RSpecVersion.yielded_example_available_version %>` or later.**
|
1073
1198
|
|
1074
1199
|
Targets:
|
1075
1200
|
|
@@ -1096,10 +1221,7 @@ END
|
|
1096
1221
|
Will be converted to:
|
1097
1222
|
|
1098
1223
|
```ruby
|
1099
|
-
<%=
|
1100
|
-
rspec_version = Transpec::RSpecVersion.yielded_example_available_version
|
1101
|
-
convert(example, nil, rspec_version)
|
1102
|
-
-%>
|
1224
|
+
<%= convert(example, rspec_version: rspec_version) -%>
|
1103
1225
|
```
|
1104
1226
|
|
1105
1227
|
Here's an excerpt from [the warning](https://github.com/rspec/rspec-core/blob/7d6d2ca/lib/rspec/core/example_group.rb#L513-L527) for `RSpec::Core::ExampleGroup#example` and `#running_example` in RSpec 2.99:
|
@@ -1124,7 +1246,7 @@ Here's an excerpt from [the warning](https://github.com/rspec/rspec-core/blob/7d
|
|
1124
1246
|
|
1125
1247
|
### Custom matcher DSL
|
1126
1248
|
|
1127
|
-
**This conversion is available only if your project's RSpec is `<%= Transpec::RSpecVersion.non_should_matcher_protocol_available_version %>` or later.**
|
1249
|
+
**This conversion is available only if your project's RSpec is `<%= rspec_version = Transpec::RSpecVersion.non_should_matcher_protocol_available_version %>` or later.**
|
1128
1250
|
|
1129
1251
|
Targets:
|
1130
1252
|
|
@@ -1144,19 +1266,16 @@ END
|
|
1144
1266
|
Will be converted to:
|
1145
1267
|
|
1146
1268
|
```ruby
|
1147
|
-
<%=
|
1148
|
-
rspec_version = Transpec::RSpecVersion.non_should_matcher_protocol_available_version
|
1149
|
-
convert(example, nil, rspec_version)
|
1150
|
-
-%>
|
1269
|
+
<%= convert(example, rspec_version: rspec_version) -%>
|
1151
1270
|
```
|
1152
1271
|
|
1153
1272
|
* This conversion can be disabled by: `--keep deprecated`
|
1154
1273
|
* Deprecation: deprecated since RSpec 3.0
|
1155
1274
|
* See also: [Expectations: Matcher protocol and custom matcher API changes - The Plan for RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#expectations_matcher_protocol_and_custom_matcher_api_changes)
|
1156
1275
|
|
1157
|
-
### Example
|
1276
|
+
### Example groups
|
1158
1277
|
|
1159
|
-
**This conversion is disabled by default and available only if your project's RSpec is `<%= Transpec::RSpecVersion.non_monkey_patch_example_group_available_version %>` or later.**
|
1278
|
+
**This conversion is disabled by default and available only if your project's RSpec is `<%= rspec_version = Transpec::RSpecVersion.non_monkey_patch_example_group_available_version %>` or later.**
|
1160
1279
|
|
1161
1280
|
Targets:
|
1162
1281
|
|
@@ -1180,18 +1299,44 @@ END
|
|
1180
1299
|
Will be converted to:
|
1181
1300
|
|
1182
1301
|
```ruby
|
1183
|
-
<%=
|
1184
|
-
configuration = Transpec::Configuration.new
|
1185
|
-
configuration.convert_example_group = true
|
1186
|
-
rspec_version = Transpec::RSpecVersion.non_monkey_patch_example_group_available_version
|
1187
|
-
convert(example, configuration, rspec_version)
|
1188
|
-
-%>
|
1302
|
+
<%= convert(example, cli: ['--convert', 'example_group'], rspec_version: rspec_version) -%>
|
1189
1303
|
```
|
1190
1304
|
|
1191
1305
|
* This conversion can be enabled by: `--convert example_group`
|
1192
|
-
* Deprecation:
|
1306
|
+
* Deprecation: not deprecated
|
1193
1307
|
* See also: [Zero Monkey Patching Mode! - The Plan for RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#zero_monkey_patching_mode)
|
1194
1308
|
|
1309
|
+
### Hook scope aliases
|
1310
|
+
|
1311
|
+
**This conversion is disabled by default and available only if your project's RSpec is `<%= rspec_version = Transpec::RSpecVersion.hook_scope_alias_available_version %>` or later.**
|
1312
|
+
|
1313
|
+
Targets:
|
1314
|
+
|
1315
|
+
```ruby
|
1316
|
+
<%=
|
1317
|
+
example = <<END
|
1318
|
+
describe 'example' do
|
1319
|
+
before { do_something }
|
1320
|
+
before(:each) { do_something }
|
1321
|
+
before(:all) { do_something }
|
1322
|
+
end
|
1323
|
+
|
1324
|
+
RSpec.configure do |config|
|
1325
|
+
before(:suite) { do_something }
|
1326
|
+
end
|
1327
|
+
END
|
1328
|
+
-%>
|
1329
|
+
```
|
1330
|
+
|
1331
|
+
Will be converted to:
|
1332
|
+
|
1333
|
+
```ruby
|
1334
|
+
<%= convert(example, cli: ['--convert', 'hook_scope'], rspec_version: rspec_version) -%>
|
1335
|
+
```
|
1336
|
+
|
1337
|
+
* This conversion can be enabled by: `--convert hook_scope`
|
1338
|
+
* Deprecation: not deprecated
|
1339
|
+
* See also: [Adds hook scope aliases `example` and `context` · rspec/rspec-core](https://github.com/rspec/rspec-core/pull/1174)
|
1195
1340
|
|
1196
1341
|
## Compatibility
|
1197
1342
|
|