transpec 3.1.1 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +4 -3
- data/CHANGELOG.md +4 -0
- data/README.md +23 -20
- data/README.md.erb +21 -18
- data/lib/transpec/cli/option_parser.rb +2 -2
- data/lib/transpec/static_context_inspector.rb +2 -2
- data/lib/transpec/syntax/have.rb +2 -1
- data/lib/transpec/syntax/rspec_configure/framework.rb +1 -1
- data/lib/transpec/syntax/rspec_configure.rb +1 -1
- data/lib/transpec/util.rb +3 -3
- data/lib/transpec/version.rb +1 -1
- data/tasks/ci.rake +1 -1
- data/tasks/readme.rake +1 -1
- metadata +3 -4
- data/tasks/travis.rake +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44f63928b496b5321e12052717fbc2e36b188afc
|
4
|
+
data.tar.gz: 0b973547b5d53ebdc06537549f215e1ab792f34a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19448fdd37e53d08a9bbcccc98e3dc286a3cb5b5efa90282caa610d52eb27a56683c198d3c7d4f43ab8ebed1bc820703f9f781f9e8787ff1550de425789db98f
|
7
|
+
data.tar.gz: ad721bebc30ec06ac03de43ee75903e5d906a9c7202527b8fdf458d94a77146eb2b839ab93518f3a6b4b9eff53c940954b8d7bc3cec56a8f302311a4aed1f5a4
|
data/.travis.yml
CHANGED
@@ -11,10 +11,11 @@ env:
|
|
11
11
|
- RSPEC_VERSION=2.14
|
12
12
|
- RSPEC_VERSION=2.99
|
13
13
|
- RSPEC_VERSION=3.0
|
14
|
-
- RSPEC_VERSION=3.
|
15
|
-
- RSPEC_VERSION=3.2
|
16
|
-
- RSPEC_VERSION=3.3
|
14
|
+
- RSPEC_VERSION=3.4
|
17
15
|
- RSPEC_VERSION=head
|
16
|
+
matrix:
|
17
|
+
allow_failures:
|
18
|
+
- rvm: ruby-head
|
18
19
|
before_install: gem update --remote bundler
|
19
20
|
script: bundle exec rake ci
|
20
21
|
sudo: false
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
## Development
|
4
4
|
|
5
|
+
## v3.1.2
|
6
|
+
|
7
|
+
* Avoid converting invalid `have` matcher without `items` part. ([#108](https://github.com/yujinakayama/transpec/issues/108))
|
8
|
+
|
5
9
|
## v3.1.1
|
6
10
|
|
7
11
|
* Support conversion of `have(:no).items` and `have('2').items`. ([#107](https://github.com/yujinakayama/transpec/issues/107))
|
data/README.md
CHANGED
@@ -14,9 +14,9 @@ Also, you can use it on your RSpec 2 project even if you're not going to upgrade
|
|
14
14
|
|
15
15
|
Check out the following posts for the new RSpec syntax and the changes in RSpec 3:
|
16
16
|
|
17
|
-
* [
|
18
|
-
* [RSpec's new message expectation syntax
|
19
|
-
* [
|
17
|
+
* [RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/)
|
18
|
+
* [RSpec's new message expectation syntax](http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
19
|
+
* [Notable Changes in RSpec 3](http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/)
|
20
20
|
|
21
21
|
If you are going to use Transpec in the upgrade process to RSpec 3,
|
22
22
|
read the RSpec official guide:
|
@@ -216,6 +216,9 @@ For this reason, it's recommended to provide a command that runs full spec suite
|
|
216
216
|
If you want to convert only a subset of the files in a spec suite, pass the paths to `transpec`.
|
217
217
|
See [Advanced Usage](#advanced-usage) for more details.
|
218
218
|
|
219
|
+
You can change the temporary directory that the your project will be copied
|
220
|
+
by specifying the `TMPDIR` environment variable.
|
221
|
+
|
219
222
|
```bash
|
220
223
|
$ transpec --rspec-command "./special_setup.sh && bundle exec rspec"
|
221
224
|
```
|
@@ -457,7 +460,7 @@ The monkey-patched `obj.should`:
|
|
457
460
|
|
458
461
|
* Is defined on `BasicObject` (or `Kernel`) and provided by `rspec-expectations` gem.
|
459
462
|
* Is deprecated in RSpec 3.
|
460
|
-
* Has [the issue](http://
|
463
|
+
* Has [the issue](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/#delegation-issues) with delegate/proxy objects.
|
461
464
|
* There's the alternative syntax [`expect(obj).to`](#standard-expectations) since RSpec 2.11.
|
462
465
|
|
463
466
|
The one-liner (implicit receiver) `should`:
|
@@ -483,11 +486,11 @@ The one-liner (implicit receiver) `should`:
|
|
483
486
|
* [Message expectations that are actually method stubs](#message-expectations-that-are-actually-method-stubs)
|
484
487
|
* [Method stubs](#method-stubs)
|
485
488
|
* [Method stubs with a hash argument](#method-stubs-with-a-hash-argument)
|
486
|
-
* [
|
489
|
+
* [Method stub aliases](#method-stub-aliases)
|
487
490
|
* [Method stubs with deprecated specification of number of times](#method-stubs-with-deprecated-specification-of-number-of-times)
|
488
491
|
* [Useless `and_return`](#useless-and_return)
|
489
492
|
* [`any_instance` implementation blocks](#any_instance-implementation-blocks)
|
490
|
-
* [
|
493
|
+
* [Test double aliases](#test-double-aliases)
|
491
494
|
* [Pending examples](#pending-examples)
|
492
495
|
* [Current example object](#current-example-object)
|
493
496
|
* [Custom matcher DSL](#custom-matcher-dsl)
|
@@ -515,7 +518,7 @@ expect(obj).to_not matcher # with `--negative-form to_not`
|
|
515
518
|
|
516
519
|
* This conversion can be disabled by: `--keep should`
|
517
520
|
* Deprecation: deprecated since RSpec 3.0
|
518
|
-
* See also: [
|
521
|
+
* See also: [RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/)
|
519
522
|
|
520
523
|
### One-liner expectations
|
521
524
|
|
@@ -572,7 +575,7 @@ expect([1, 2, 3]).to match_array([2, 1, 3])
|
|
572
575
|
|
573
576
|
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.
|
574
577
|
|
575
|
-
* See also: [(Almost) All Matchers Are Supported - RSpec's New Expectation Syntax](http://
|
578
|
+
* See also: [(Almost) All Matchers Are Supported - RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/#almost-all-matchers-are-supported)
|
576
579
|
|
577
580
|
### Boolean matchers
|
578
581
|
|
@@ -702,7 +705,7 @@ So using rspec-collection_matchers gem is recommended for now.
|
|
702
705
|
|
703
706
|
* This conversion can be disabled by: `--keep have_items`
|
704
707
|
* Deprecation: deprecated since RSpec 2.99, removed in RSpec 3.0
|
705
|
-
* See also: [Expectations: `have(x).items` matchers will be moved into an external gem - The Plan for RSpec 3](http://
|
708
|
+
* See also: [Expectations: `have(x).items` matchers will be moved into an external gem - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#expectations-havexitems-matchers-will-be-moved-into-an-external-gem)
|
706
709
|
|
707
710
|
### One-liner expectations with `have(n).items` matcher
|
708
711
|
|
@@ -753,7 +756,7 @@ expect { do_something }.to raise_error
|
|
753
756
|
|
754
757
|
* This conversion can be disabled by: `--keep should`
|
755
758
|
* Deprecation: deprecated since RSpec 3.0
|
756
|
-
* See also: [Unification of Block vs. Value Syntaxes - RSpec's New Expectation Syntax](http://
|
759
|
+
* See also: [Unification of Block vs. Value Syntaxes - RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/#unification-of-block-vs-value-syntaxes)
|
757
760
|
|
758
761
|
### Expectations on attribute of subject with `its`
|
759
762
|
|
@@ -808,7 +811,7 @@ Read [this post](https://gist.github.com/myronmarston/4503509) for the rationale
|
|
808
811
|
|
809
812
|
* This conversion can be disabled by: `--keep its`
|
810
813
|
* Deprecation: deprecated since RSpec 2.99, removed in RSpec 3.0
|
811
|
-
* See also: [Core: `its` will be moved into an external gem - The Plan for RSpec 3](http://
|
814
|
+
* See also: [Core: `its` will be moved into an external gem - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#core-its-will-be-moved-into-an-external-gem)
|
812
815
|
|
813
816
|
### Negative error expectations with specific error
|
814
817
|
|
@@ -850,7 +853,7 @@ expect_any_instance_of(Klass).to receive(:message)
|
|
850
853
|
|
851
854
|
* This conversion can be disabled by: `--keep should_receive`
|
852
855
|
* Deprecation: deprecated since RSpec 3.0
|
853
|
-
* See also: [RSpec's new message expectation syntax
|
856
|
+
* See also: [RSpec's new message expectation syntax](http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
854
857
|
|
855
858
|
### Message expectations that are actually method stubs
|
856
859
|
|
@@ -911,7 +914,7 @@ allow(obj).to receive(:message).and_call_original
|
|
911
914
|
* This conversion can be disabled by: `--keep stub`
|
912
915
|
* Deprecation: deprecated since RSpec 3.0
|
913
916
|
* See also:
|
914
|
-
* [RSpec's new message expectation syntax
|
917
|
+
* [RSpec's new message expectation syntax](http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
915
918
|
* [Bring back stub_chain (receive_message_chain) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/464)
|
916
919
|
|
917
920
|
### Method stubs with a hash argument
|
@@ -939,7 +942,7 @@ allow(obj).to receive(:bar).and_return(2)
|
|
939
942
|
|
940
943
|
`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.
|
941
944
|
|
942
|
-
So, if you're going to use Transpec in [the upgrade path to RSpec 3](http://
|
945
|
+
So, if you're going to use Transpec in [the upgrade path to RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#the-upgrade-path), you may need to follow these steps:
|
943
946
|
|
944
947
|
1. Upgrade to RSpec 2.99
|
945
948
|
2. Run `transpec` (at this time `obj.stub(:message => value)` won't be converted)
|
@@ -952,7 +955,7 @@ Or if you're going to stay RSpec 2.14 for now but want to convert all `stub` to
|
|
952
955
|
* Deprecation: deprecated since RSpec 3.0
|
953
956
|
* See also: [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
|
954
957
|
|
955
|
-
###
|
958
|
+
### Method stub aliases
|
956
959
|
|
957
960
|
Targets:
|
958
961
|
|
@@ -1087,9 +1090,9 @@ end
|
|
1087
1090
|
|
1088
1091
|
* This conversion can be disabled by: `--keep deprecated`
|
1089
1092
|
* Deprecation: deprecated since RSpec 2.99
|
1090
|
-
* See also: [Mocks: `any_instance` block implementations will yield the receiver](http://
|
1093
|
+
* See also: [Mocks: `any_instance` block implementations will yield the receiver](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#mocks-anyinstance-block-implementations-will-yield-the-receiver)
|
1091
1094
|
|
1092
|
-
###
|
1095
|
+
### Test double aliases
|
1093
1096
|
|
1094
1097
|
Targets:
|
1095
1098
|
|
@@ -1233,7 +1236,7 @@ Here's an excerpt from [the warning](https://github.com/rspec/rspec-core/blob/7d
|
|
1233
1236
|
|
1234
1237
|
* This conversion can be disabled by: `--keep deprecated`
|
1235
1238
|
* Deprecation: deprecated since RSpec 2.99, removed in RSpec 3.0
|
1236
|
-
* See also: [Core: DSL methods will yield the example - The Plan for RSpec 3](http://
|
1239
|
+
* See also: [Core: DSL methods will yield the example - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#core-dsl-methods-will-yield-the-example)
|
1237
1240
|
|
1238
1241
|
### Custom matcher DSL
|
1239
1242
|
|
@@ -1263,7 +1266,7 @@ end
|
|
1263
1266
|
|
1264
1267
|
* This conversion can be disabled by: `--keep deprecated`
|
1265
1268
|
* Deprecation: deprecated since RSpec 3.0
|
1266
|
-
* See also: [Expectations: Matcher protocol and custom matcher API changes - The Plan for RSpec 3](http://
|
1269
|
+
* See also: [Expectations: Matcher protocol and custom matcher API changes - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#expectations-matcher-protocol-and-custom-matcher-api-changes)
|
1267
1270
|
|
1268
1271
|
### Implicit spec types in rspec-rails
|
1269
1272
|
|
@@ -1406,7 +1409,7 @@ end
|
|
1406
1409
|
|
1407
1410
|
* This conversion can be enabled by: `--convert example_group`
|
1408
1411
|
* Deprecation: not deprecated
|
1409
|
-
* See also: [Zero Monkey Patching Mode! - The Plan for RSpec 3](http://
|
1412
|
+
* See also: [Zero Monkey Patching Mode! - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode)
|
1410
1413
|
|
1411
1414
|
### Hook scope aliases
|
1412
1415
|
|
data/README.md.erb
CHANGED
@@ -14,9 +14,9 @@ Also, you can use it on your RSpec 2 project even if you're not going to upgrade
|
|
14
14
|
|
15
15
|
Check out the following posts for the new RSpec syntax and the changes in RSpec 3:
|
16
16
|
|
17
|
-
* [
|
18
|
-
* [RSpec's new message expectation syntax
|
19
|
-
* [
|
17
|
+
* [RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/)
|
18
|
+
* [RSpec's new message expectation syntax](http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
19
|
+
* [Notable Changes in RSpec 3](http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/)
|
20
20
|
|
21
21
|
If you are going to use Transpec in the upgrade process to RSpec 3,
|
22
22
|
read the RSpec official guide:
|
@@ -190,6 +190,9 @@ For this reason, it's recommended to provide a command that runs full spec suite
|
|
190
190
|
If you want to convert only a subset of the files in a spec suite, pass the paths to `transpec`.
|
191
191
|
See [Advanced Usage](#advanced-usage) for more details.
|
192
192
|
|
193
|
+
You can change the temporary directory that the your project will be copied
|
194
|
+
by specifying the `TMPDIR` environment variable.
|
195
|
+
|
193
196
|
```bash
|
194
197
|
$ transpec --rspec-command "./special_setup.sh && bundle exec rspec"
|
195
198
|
```
|
@@ -441,7 +444,7 @@ The monkey-patched `obj.should`:
|
|
441
444
|
|
442
445
|
* Is defined on `BasicObject` (or `Kernel`) and provided by `rspec-expectations` gem.
|
443
446
|
* Is deprecated in RSpec 3.
|
444
|
-
* Has [the issue](http://
|
447
|
+
* Has [the issue](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/#delegation-issues) with delegate/proxy objects.
|
445
448
|
* There's the alternative syntax [`expect(obj).to`](#standard-expectations) since RSpec 2.11.
|
446
449
|
|
447
450
|
The one-liner (implicit receiver) `should`:
|
@@ -485,7 +488,7 @@ Will be converted to:
|
|
485
488
|
|
486
489
|
* This conversion can be disabled by: `--keep should`
|
487
490
|
* Deprecation: deprecated since RSpec 3.0
|
488
|
-
* See also: [
|
491
|
+
* See also: [RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/)
|
489
492
|
|
490
493
|
### One-liner expectations
|
491
494
|
|
@@ -550,7 +553,7 @@ Will be converted to:
|
|
550
553
|
|
551
554
|
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.
|
552
555
|
|
553
|
-
* See also: [(Almost) All Matchers Are Supported - RSpec's New Expectation Syntax](http://
|
556
|
+
* See also: [(Almost) All Matchers Are Supported - RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/#almost-all-matchers-are-supported)
|
554
557
|
|
555
558
|
### Boolean matchers
|
556
559
|
|
@@ -755,7 +758,7 @@ So using rspec-collection_matchers gem is recommended for now.
|
|
755
758
|
|
756
759
|
* This conversion can be disabled by: `--keep have_items`
|
757
760
|
* Deprecation: deprecated since RSpec 2.99, removed in RSpec 3.0
|
758
|
-
* See also: [Expectations: `have(x).items` matchers will be moved into an external gem - The Plan for RSpec 3](http://
|
761
|
+
* See also: [Expectations: `have(x).items` matchers will be moved into an external gem - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#expectations-havexitems-matchers-will-be-moved-into-an-external-gem)
|
759
762
|
|
760
763
|
### One-liner expectations with `have(n).items` matcher
|
761
764
|
|
@@ -824,7 +827,7 @@ Will be converted to:
|
|
824
827
|
|
825
828
|
* This conversion can be disabled by: `--keep should`
|
826
829
|
* Deprecation: deprecated since RSpec 3.0
|
827
|
-
* See also: [Unification of Block vs. Value Syntaxes - RSpec's New Expectation Syntax](http://
|
830
|
+
* See also: [Unification of Block vs. Value Syntaxes - RSpec's New Expectation Syntax](http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/#unification-of-block-vs-value-syntaxes)
|
828
831
|
|
829
832
|
### Expectations on attribute of subject with `its`
|
830
833
|
|
@@ -863,7 +866,7 @@ Read [this post](https://gist.github.com/myronmarston/4503509) for the rationale
|
|
863
866
|
|
864
867
|
* This conversion can be disabled by: `--keep its`
|
865
868
|
* Deprecation: deprecated since RSpec 2.99, removed in RSpec 3.0
|
866
|
-
* See also: [Core: `its` will be moved into an external gem - The Plan for RSpec 3](http://
|
869
|
+
* See also: [Core: `its` will be moved into an external gem - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#core-its-will-be-moved-into-an-external-gem)
|
867
870
|
|
868
871
|
### Negative error expectations with specific error
|
869
872
|
|
@@ -916,7 +919,7 @@ Will be converted to:
|
|
916
919
|
|
917
920
|
* This conversion can be disabled by: `--keep should_receive`
|
918
921
|
* Deprecation: deprecated since RSpec 3.0
|
919
|
-
* See also: [RSpec's new message expectation syntax
|
922
|
+
* See also: [RSpec's new message expectation syntax](http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
920
923
|
|
921
924
|
### Message expectations that are actually method stubs
|
922
925
|
|
@@ -1001,7 +1004,7 @@ Will be converted to:
|
|
1001
1004
|
* This conversion can be disabled by: `--keep stub`
|
1002
1005
|
* Deprecation: deprecated since RSpec 3.0
|
1003
1006
|
* See also:
|
1004
|
-
* [RSpec's new message expectation syntax
|
1007
|
+
* [RSpec's new message expectation syntax](http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
1005
1008
|
* [Bring back stub_chain (receive_message_chain) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/464)
|
1006
1009
|
|
1007
1010
|
### Method stubs with a hash argument
|
@@ -1032,7 +1035,7 @@ Will be converted to:
|
|
1032
1035
|
|
1033
1036
|
`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.
|
1034
1037
|
|
1035
|
-
So, if you're going to use Transpec in [the upgrade path to RSpec 3](http://
|
1038
|
+
So, if you're going to use Transpec in [the upgrade path to RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#the-upgrade-path), you may need to follow these steps:
|
1036
1039
|
|
1037
1040
|
1. Upgrade to RSpec 2.99
|
1038
1041
|
2. Run `transpec` (at this time `obj.stub(:message => value)` won't be converted)
|
@@ -1045,7 +1048,7 @@ Or if you're going to stay RSpec 2.14 for now but want to convert all `stub` to
|
|
1045
1048
|
* Deprecation: deprecated since RSpec 3.0
|
1046
1049
|
* See also: [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
|
1047
1050
|
|
1048
|
-
###
|
1051
|
+
### Method stub aliases
|
1049
1052
|
|
1050
1053
|
Targets:
|
1051
1054
|
|
@@ -1156,9 +1159,9 @@ Or with `--no-yield-any-instance` option they will be converted to:
|
|
1156
1159
|
|
1157
1160
|
* This conversion can be disabled by: `--keep deprecated`
|
1158
1161
|
* Deprecation: deprecated since RSpec 2.99
|
1159
|
-
* See also: [Mocks: `any_instance` block implementations will yield the receiver](http://
|
1162
|
+
* See also: [Mocks: `any_instance` block implementations will yield the receiver](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#mocks-anyinstance-block-implementations-will-yield-the-receiver)
|
1160
1163
|
|
1161
|
-
###
|
1164
|
+
### Test double aliases
|
1162
1165
|
|
1163
1166
|
Targets:
|
1164
1167
|
|
@@ -1287,7 +1290,7 @@ Here's an excerpt from [the warning](https://github.com/rspec/rspec-core/blob/7d
|
|
1287
1290
|
|
1288
1291
|
* This conversion can be disabled by: `--keep deprecated`
|
1289
1292
|
* Deprecation: deprecated since RSpec 2.99, removed in RSpec 3.0
|
1290
|
-
* See also: [Core: DSL methods will yield the example - The Plan for RSpec 3](http://
|
1293
|
+
* See also: [Core: DSL methods will yield the example - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#core-dsl-methods-will-yield-the-example)
|
1291
1294
|
|
1292
1295
|
### Custom matcher DSL
|
1293
1296
|
|
@@ -1316,7 +1319,7 @@ Will be converted to:
|
|
1316
1319
|
|
1317
1320
|
* This conversion can be disabled by: `--keep deprecated`
|
1318
1321
|
* Deprecation: deprecated since RSpec 3.0
|
1319
|
-
* See also: [Expectations: Matcher protocol and custom matcher API changes - The Plan for RSpec 3](http://
|
1322
|
+
* See also: [Expectations: Matcher protocol and custom matcher API changes - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#expectations-matcher-protocol-and-custom-matcher-api-changes)
|
1320
1323
|
|
1321
1324
|
### Implicit spec types in rspec-rails
|
1322
1325
|
|
@@ -1431,7 +1434,7 @@ Will be converted to:
|
|
1431
1434
|
|
1432
1435
|
* This conversion can be enabled by: `--convert example_group`
|
1433
1436
|
* Deprecation: not deprecated
|
1434
|
-
* See also: [Zero Monkey Patching Mode! - The Plan for RSpec 3](http://
|
1437
|
+
* See also: [Zero Monkey Patching Mode! - The Plan for RSpec 3](http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode)
|
1435
1438
|
|
1436
1439
|
### Hook scope aliases
|
1437
1440
|
|
@@ -190,8 +190,8 @@ module Transpec
|
|
190
190
|
# rubocop:enable AlignHash
|
191
191
|
|
192
192
|
def highlight_text(text)
|
193
|
-
text.gsub(/`.+?`/) { |code| code.
|
194
|
-
.gsub(/\*.+?\*/) { |code| code.
|
193
|
+
text.gsub(/`.+?`/) { |code| code.delete('`').underline }
|
194
|
+
.gsub(/\*.+?\*/) { |code| code.delete('*').bright }
|
195
195
|
end
|
196
196
|
|
197
197
|
def convert_deprecated_options(raw_args)
|
@@ -100,7 +100,7 @@ module Transpec
|
|
100
100
|
|
101
101
|
def special_block_type(block_node) # rubocop:disable MethodLength, CyclomaticComplexity
|
102
102
|
send_node = block_node.children.first
|
103
|
-
receiver_node, method_name,
|
103
|
+
receiver_node, method_name, = *send_node
|
104
104
|
|
105
105
|
if const_name(receiver_node) == 'RSpec'
|
106
106
|
case method_name
|
@@ -127,7 +127,7 @@ module Transpec
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def hook_type(send_node)
|
130
|
-
_, method_name, arg_node,
|
130
|
+
_, method_name, arg_node, = *send_node
|
131
131
|
|
132
132
|
return :around if method_name == :around
|
133
133
|
|
data/lib/transpec/syntax/have.rb
CHANGED
@@ -25,7 +25,8 @@ module Transpec
|
|
25
25
|
def dynamic_analysis_target?
|
26
26
|
super &&
|
27
27
|
receiver_node.nil? &&
|
28
|
-
[:have, :have_exactly, :have_at_least, :have_at_most].include?(method_name)
|
28
|
+
[:have, :have_exactly, :have_at_least, :have_at_most].include?(method_name) &&
|
29
|
+
node.sibling_index == 0
|
29
30
|
end
|
30
31
|
|
31
32
|
def conversion_target?
|
@@ -29,7 +29,7 @@ module Transpec
|
|
29
29
|
|
30
30
|
@block_node = rspec_configure.block_node.each_descendant(:block).find do |block_node|
|
31
31
|
send_node = block_node.children.first
|
32
|
-
receiver_node, method_name,
|
32
|
+
receiver_node, method_name, = *send_node
|
33
33
|
next unless receiver_node == s(:lvar, rspec_configure.block_arg_name)
|
34
34
|
method_name == block_method_name
|
35
35
|
# TODO: Check expectation framework.
|
@@ -85,7 +85,7 @@ module Transpec
|
|
85
85
|
end
|
86
86
|
|
87
87
|
if rspec_version.config_backtrace_formatter_available?
|
88
|
-
replace_config!(:backtrace_cleaner,
|
88
|
+
replace_config!(:backtrace_cleaner, :backtrace_formatter)
|
89
89
|
end
|
90
90
|
|
91
91
|
if rspec_version.config_predicate_color_enabled_available?
|
data/lib/transpec/util.rb
CHANGED
@@ -16,7 +16,7 @@ module Transpec
|
|
16
16
|
return false unless node.block_type?
|
17
17
|
|
18
18
|
send_node = node.children.first
|
19
|
-
receiver_node, method_name,
|
19
|
+
receiver_node, method_name, = *send_node
|
20
20
|
|
21
21
|
if receiver_node.nil? || const_name(receiver_node) == 'Kernel'
|
22
22
|
[:lambda, :proc].include?(method_name)
|
@@ -162,14 +162,14 @@ module Transpec
|
|
162
162
|
|
163
163
|
def literal?(node)
|
164
164
|
case node.type
|
165
|
-
when *LITERAL_TYPES
|
166
|
-
true
|
167
165
|
when :array, :irange, :erange
|
168
166
|
node.children.all? { |n| literal?(n) }
|
169
167
|
when :hash
|
170
168
|
node.children.all? do |pair_node|
|
171
169
|
pair_node.children.all? { |n| literal?(n) }
|
172
170
|
end
|
171
|
+
when *LITERAL_TYPES
|
172
|
+
true
|
173
173
|
else
|
174
174
|
false
|
175
175
|
end
|
data/lib/transpec/version.rb
CHANGED
data/tasks/ci.rake
CHANGED
data/tasks/readme.rake
CHANGED
@@ -149,7 +149,7 @@ class READMEContext
|
|
149
149
|
end.compact
|
150
150
|
|
151
151
|
titles.map do |title|
|
152
|
-
anchor = '#' + title.gsub(/[^\w_\- ]/, '').downcase.
|
152
|
+
anchor = '#' + title.gsub(/[^\w_\- ]/, '').downcase.tr(' ', '-')
|
153
153
|
"* [#{title}](#{anchor})"
|
154
154
|
end.join("\n")
|
155
155
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transpec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuji Nakayama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -215,7 +215,6 @@ files:
|
|
215
215
|
- tasks/readme.rake
|
216
216
|
- tasks/spec.rake
|
217
217
|
- tasks/test.rake
|
218
|
-
- tasks/travis.rake
|
219
218
|
- transpec.gemspec
|
220
219
|
homepage: http://yujinakayama.me/transpec/
|
221
220
|
licenses:
|
@@ -237,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
236
|
version: '0'
|
238
237
|
requirements: []
|
239
238
|
rubyforge_project:
|
240
|
-
rubygems_version: 2.
|
239
|
+
rubygems_version: 2.5.1
|
241
240
|
signing_key:
|
242
241
|
specification_version: 4
|
243
242
|
summary: The RSpec syntax converter
|
data/tasks/travis.rake
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
namespace :travis do
|
4
|
-
desc 'Validate completeness of available RSpec versions in .travis.yml'
|
5
|
-
task :validate_matrix do
|
6
|
-
require 'open-uri'
|
7
|
-
require 'json'
|
8
|
-
require 'yaml'
|
9
|
-
|
10
|
-
json = URI.parse('https://rubygems.org/api/v1/versions/rspec.json').read
|
11
|
-
gem_versions = JSON.parse(json)
|
12
|
-
|
13
|
-
available_versions = gem_versions.map do |version|
|
14
|
-
major, minor, _patch, _suffix = version['number'].split('.')
|
15
|
-
[major, minor].join('.')
|
16
|
-
end.uniq.sort
|
17
|
-
|
18
|
-
minimum_support_version = Gem::Version.new('2.14')
|
19
|
-
available_versions.reject! { |version| Gem::Version.new(version) < minimum_support_version }
|
20
|
-
|
21
|
-
travis_config = YAML.load_file('.travis.yml')
|
22
|
-
|
23
|
-
travis_versions = travis_config['env'].map do |pair|
|
24
|
-
key, value = pair.split('=')
|
25
|
-
next unless key == 'RSPEC_VERSION'
|
26
|
-
next if value == 'head'
|
27
|
-
value
|
28
|
-
end.compact.sort
|
29
|
-
|
30
|
-
if travis_versions == available_versions
|
31
|
-
puts 'All the available RSpec versions are covered in .travis.yml.'
|
32
|
-
else
|
33
|
-
fail "The current available RSpec versions are not covered in .travis.yml!\n" \
|
34
|
-
" Available Versions: #{available_versions}\n" \
|
35
|
-
" Versions in .travis.yml: #{travis_versions}"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|