transpec 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -0
- data/CHANGELOG.md +4 -0
- data/README.md +59 -18
- data/README.md.erb +59 -18
- data/lib/transpec/converter.rb +2 -1
- data/lib/transpec/option_parser.rb +2 -2
- data/lib/transpec/record.rb +3 -3
- data/lib/transpec/syntax/have.rb +91 -54
- data/lib/transpec/version.rb +1 -1
- data/spec/transpec/ast/node_spec.rb +4 -4
- data/spec/transpec/converter_spec.rb +16 -3
- data/spec/transpec/syntax/have_spec.rb +26 -1
- data/tasks/demo.rake +3 -3
- metadata +29 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1cbae52577334b666b5a02f1c926f8a8ca1af16
|
4
|
+
data.tar.gz: 181c31e4d34c5b5f4e966d0627fb30fa9d875142
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d41de85a3be6bb7e6d271c170c169358a46a8501e52023b13a1fc74df4633c5be597798359312e805666156e85119b6911d712981ca35fd1a3c8105c616f468
|
7
|
+
data.tar.gz: c0970c8ed8a6daefe39fc0bf136d54d58872255d0dfdaef1ebf4aff500fd1511e369af3c0c06f81c52153ca5cbcc29a12a884380a59256fff8f9274e4c533cf4
|
data/.rubocop.yml
CHANGED
@@ -11,6 +11,9 @@ LineLength:
|
|
11
11
|
MethodLength:
|
12
12
|
Max: 17
|
13
13
|
|
14
|
+
CyclomaticComplexity:
|
15
|
+
Max: 8
|
16
|
+
|
14
17
|
WordArray:
|
15
18
|
Enabled: false
|
16
19
|
|
@@ -48,6 +51,10 @@ Documentation:
|
|
48
51
|
IndentationWidth:
|
49
52
|
Enabled: false
|
50
53
|
|
54
|
+
# TODO: This should not register offences for non keyword hashes.
|
55
|
+
BracesAroundHashParameters:
|
56
|
+
Enabled: false
|
57
|
+
|
51
58
|
# TODO: Shorten to 100.
|
52
59
|
ClassLength:
|
53
60
|
Max: 150
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
## Development
|
4
4
|
|
5
|
+
## v1.2.1
|
6
|
+
|
7
|
+
* Apply `-p/--no-parentheses-matcher-arg` to the conversion of `have(n).items` (`obj.should have(n).items` is now converted to `expect(obj.size).to eq n` with `-p/--no-parentheses-matcher-arg`)
|
8
|
+
|
5
9
|
## v1.2.0
|
6
10
|
|
7
11
|
* Transpec is now ready for RSpec 2.99 and 3.0 beta!
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
**Transpec** automatically converts your specs into latest [RSpec](http://rspec.info/) syntax with static and dynamic code analysis.
|
6
6
|
|
7
|
-
This aims to facilitate smooth transition to RSpec 3, and
|
7
|
+
This aims to facilitate smooth transition to RSpec 3, and is now ready for RSpec 2.99 and 3.0 beta!
|
8
8
|
|
9
9
|
See the following pages for the new RSpec syntax and the plan for RSpec 3:
|
10
10
|
|
@@ -101,10 +101,14 @@ You can see actual conversion examples below:
|
|
101
101
|
|
102
102
|
## Installation
|
103
103
|
|
104
|
+
Simply install `transpec` with `gem` command:
|
105
|
+
|
104
106
|
```bash
|
105
107
|
$ gem install transpec
|
106
108
|
```
|
107
109
|
|
110
|
+
Usually you don't need to add `transpec` to your `*.gemspec` or `Gemfile` since this isn't a tool to be used daily.
|
111
|
+
|
108
112
|
## Basic Usage
|
109
113
|
|
110
114
|
Before converting your specs:
|
@@ -216,7 +220,7 @@ See [Supported Conversions](#supported-conversions) for more details.
|
|
216
220
|
|
217
221
|
### `-n/--negative-form`
|
218
222
|
|
219
|
-
Specify negative form of `to` that is used in `expect` syntax.
|
223
|
+
Specify negative form of `to` that is used in the `expect` syntax.
|
220
224
|
Either `not_to` or `to_not`.
|
221
225
|
`not_to` is used by default.
|
222
226
|
|
@@ -224,11 +228,23 @@ Either `not_to` or `to_not`.
|
|
224
228
|
$ transpec --negative-form to_not
|
225
229
|
```
|
226
230
|
|
231
|
+
### `-b/--boolean-matcher`
|
232
|
+
|
233
|
+
Specify matcher type that `be_true` and `be_false` will be converted to.
|
234
|
+
Any of `truthy,falsey`, `truthy,falsy` or `true,false` can be specified.
|
235
|
+
`truthy,falsey` is used by default.
|
236
|
+
|
237
|
+
```bash
|
238
|
+
$ transpec --boolean-matcher true,false
|
239
|
+
```
|
240
|
+
|
241
|
+
See [Supported Conversions - Boolean matchers](#boolean-matchers) for more details.
|
242
|
+
|
227
243
|
### `-p/--no-parentheses-matcher-arg`
|
228
244
|
|
229
245
|
Suppress parenthesizing argument of matcher when converting
|
230
246
|
`should` with operator matcher to `expect` with non-operator matcher
|
231
|
-
(`expect` syntax does not directly support the operator matchers).
|
247
|
+
(the `expect` syntax does not directly support the operator matchers).
|
232
248
|
Note that it will be parenthesized even if this option is specified
|
233
249
|
when parentheses are necessary to keep the meaning of the expression.
|
234
250
|
|
@@ -295,7 +311,7 @@ end
|
|
295
311
|
### Reason
|
296
312
|
|
297
313
|
* `should` is defined on `BasicObject` class, so you can use `should` everywhere.
|
298
|
-
* `expect` is defined on `RSpec::Matchers` module that is included by `RSpec::Core::ExampleGroup` class, so you can use `expect` only where `self` is an instance of `RSpec::Core::ExampleGroup` (i.e. in `it` blocks, `:each` hook blocks or included module methods) or other classes that include `RSpec::Matchers`.
|
314
|
+
* `expect` is defined on `RSpec::Matchers` module that is included by `RSpec::Core::ExampleGroup` class, so you can use `expect` only where `self` is an instance of `RSpec::Core::ExampleGroup` (i.e. in `it` blocks, `:each` hook blocks or included module methods) or other classes that explicitly include `RSpec::Matchers`.
|
299
315
|
|
300
316
|
With the above example, in the context of `1.should == 1`, the `self` is an instance of `MyAwesomeTestRunner`.
|
301
317
|
Transpec tracks contexts and skips conversion if the target syntax cannot be converted in a case like this.
|
@@ -331,7 +347,8 @@ expect(obj).not_to matcher
|
|
331
347
|
expect(obj).to_not matcher # with `--negative-form to_not`
|
332
348
|
```
|
333
349
|
|
334
|
-
*
|
350
|
+
* Conversion can be disabled by: `--keep should`
|
351
|
+
* Deprecation: Deprecated since RSpec 3.0
|
335
352
|
* See also: [Myron Marston » RSpec's New Expectation Syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax)
|
336
353
|
|
337
354
|
### Operator matchers
|
@@ -352,6 +369,8 @@ expect('string').to match(/^str/)
|
|
352
369
|
expect([1, 2, 3]).to match_array([2, 1, 3])
|
353
370
|
```
|
354
371
|
|
372
|
+
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.
|
373
|
+
|
355
374
|
* See also: [(Almost) All Matchers Are Supported - RSpec's New Expectation Syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax#almost_all_matchers_are_supported)
|
356
375
|
|
357
376
|
### Boolean matchers
|
@@ -384,7 +403,8 @@ expect(obj).to be false
|
|
384
403
|
|
385
404
|
So, converting `be_true`/`be_false` to `be_truthy`/`be_falsey` never breaks your specs and this is the Transpec's default. If you are willing to test boolean values strictly, you can convert them to `be true`/`be false` with `--boolean-matcher true,false` option. Note that this may break your specs if your library codes don't return exact boolean values.
|
386
405
|
|
387
|
-
*
|
406
|
+
* Conversion can be disabled by: `--keep deprecated`
|
407
|
+
* Deprecation: Deprecated since RSpec 2.99, removed at RSpec 3.0
|
388
408
|
* See also: [Consider renaming `be_true` and `be_false` to `be_truthy` and `be_falsey` · rspec/rspec-expectations](https://github.com/rspec/rspec-expectations/issues/283)
|
389
409
|
|
390
410
|
### `be_close` matcher
|
@@ -397,7 +417,8 @@ expect(1.0 / 3.0).to be_close(0.333, 0.001)
|
|
397
417
|
expect(1.0 / 3.0).to be_within(0.001).of(0.333)
|
398
418
|
```
|
399
419
|
|
400
|
-
*
|
420
|
+
* Conversion can be disabled by: `--keep deprecated`
|
421
|
+
* Deprecation: Deprecated since RSpec 2.1, removed at RSpec 3.0
|
401
422
|
* See also: [New be within matcher and RSpec.deprecate fix · rspec/rspec-expectations](https://github.com/rspec/rspec-expectations/pull/32)
|
402
423
|
|
403
424
|
### `have(n).items` matcher
|
@@ -410,6 +431,7 @@ expect(collection).to have_at_least(3).items
|
|
410
431
|
expect(collection).to have_at_most(3).items
|
411
432
|
collection.should have(3).items
|
412
433
|
|
434
|
+
# Assume `team` responds to #players.
|
413
435
|
expect(team).to have(3).players
|
414
436
|
|
415
437
|
# Assume #players is a private method.
|
@@ -430,7 +452,8 @@ expect(team.send(:players).size).to eq(3)
|
|
430
452
|
There's the option to continue using `have(n).items` matcher with [rspec-collection_matchers](https://github.com/rspec/rspec-collection_matchers) that is an external gem extracted from `rspec-expectations`.
|
431
453
|
If you choose so, disable this conversion with `--keep have_items`.
|
432
454
|
|
433
|
-
*
|
455
|
+
* Conversion can be disabled by: `--keep have_items`
|
456
|
+
* Deprecation: Deprecated since RSpec 2.99, removed at RSpec 3.0
|
434
457
|
* See also: [Expectations: have(x).items matchers will be moved into an external gem - The Plan for RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#expectations__matchers_will_be_moved_into_an_external_gem)
|
435
458
|
|
436
459
|
### Expectations on block
|
@@ -445,7 +468,8 @@ proc { do_something }.should raise_error
|
|
445
468
|
expect { do_something }.to raise_error
|
446
469
|
```
|
447
470
|
|
448
|
-
*
|
471
|
+
* Conversion can be disabled by: `--keep should`
|
472
|
+
* Deprecation: Deprecated since RSpec 3.0
|
449
473
|
* See also: [Unification of Block vs. Value Syntaxes - RSpec's New Expectation Syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax#unification_of_block_vs_value_syntaxes)
|
450
474
|
|
451
475
|
### Negative error expectations with specific error
|
@@ -462,7 +486,8 @@ expect { do_something }.not_to raise_error
|
|
462
486
|
lambda { do_something }.should_not raise_error # with `--keep should`
|
463
487
|
```
|
464
488
|
|
465
|
-
*
|
489
|
+
* Conversion can be disabled by: `--keep deprecated`
|
490
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
466
491
|
* See also: [Consider deprecating `expect { }.not_to raise_error(SpecificErrorClass)` · rspec/rspec-expectations](https://github.com/rspec/rspec-expectations/issues/231)
|
467
492
|
|
468
493
|
### Message expectations
|
@@ -477,7 +502,8 @@ expect(obj).to receive(:foo)
|
|
477
502
|
expect_any_instance_of(SomeClass).to receive(:foo)
|
478
503
|
```
|
479
504
|
|
480
|
-
*
|
505
|
+
* Conversion can be disabled by: `--keep should_receive`
|
506
|
+
* Deprecation: Deprecated since RSpec 3.0
|
481
507
|
* See also: [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
482
508
|
|
483
509
|
### Message expectations that are actually method stubs
|
@@ -498,7 +524,8 @@ allow_any_instance_of(SomeClass).to receive(:foo)
|
|
498
524
|
SomeClass.any_instance.stub(:foo) # with `--keep stub`
|
499
525
|
```
|
500
526
|
|
501
|
-
*
|
527
|
+
* Conversion can be disabled by: `--keep deprecated`
|
528
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
502
529
|
* See also: [Don't allow at_least(0) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/133)
|
503
530
|
|
504
531
|
### Method stubs
|
@@ -528,7 +555,17 @@ allow(obj).to receive_messages(:foo => 1, :bar => 2)
|
|
528
555
|
allow_any_instance_of(SomeClass).to receive(:foo)
|
529
556
|
```
|
530
557
|
|
531
|
-
|
558
|
+
Note: `allow(obj).to receive_messages(:foo => 1, :bar => 2)` that is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0 (though [it's now being considered to be backported to RSpec 2.99](https://github.com/rspec/rspec-mocks/issues/454)). So, in [the upgrade path to RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#the_upgrade_path), if you want to convert them with keeping the syntax correspondence, you need to follow these steps:
|
559
|
+
|
560
|
+
1. Upgrade to RSpec 2.99
|
561
|
+
2. Run `transpec --keep stub`
|
562
|
+
3. Upgrade to RSpec 3.0
|
563
|
+
4. Run `transpec`
|
564
|
+
|
565
|
+
Otherwise `obj.stub(:foo => 1, :bar => 2)` will be converted to two `allow(obj).to receive(...).and_return(...)` expressions on RSpec 2.99.
|
566
|
+
|
567
|
+
* Conversion can be disabled by: `--keep stub`
|
568
|
+
* Deprecation: Deprecated since RSpec 3.0
|
532
569
|
* See also:
|
533
570
|
* [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
534
571
|
* [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
|
@@ -545,7 +582,8 @@ obj.stub(:foo) # with `--keep stub`
|
|
545
582
|
obj.unstub(:foo)
|
546
583
|
```
|
547
584
|
|
548
|
-
*
|
585
|
+
* Conversion can be disabled by: `--keep deprecated`
|
586
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
549
587
|
* See also: [Consider deprecating and/or removing #stub! and #unstub! at some point · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/122)
|
550
588
|
|
551
589
|
### Method stubs with deprecated specification of number of times
|
@@ -560,7 +598,8 @@ allow(obj).to receive(:foo)
|
|
560
598
|
obj.stub(:foo) # with `--keep stub`
|
561
599
|
```
|
562
600
|
|
563
|
-
*
|
601
|
+
* Conversion can be disabled by: `--keep deprecated`
|
602
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
564
603
|
* See also: [Don't allow at_least(0) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/133)
|
565
604
|
|
566
605
|
### Deprecated test double aliases
|
@@ -574,8 +613,9 @@ mock('something')
|
|
574
613
|
double('something')
|
575
614
|
```
|
576
615
|
|
577
|
-
*
|
578
|
-
*
|
616
|
+
* Conversion can be disabled by: `--keep deprecated`
|
617
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
618
|
+
* See also: [myronmarston / why_double.md - Gist](https://gist.github.com/myronmarston/6576665)
|
579
619
|
|
580
620
|
### Expectations on attribute of subject with `its`
|
581
621
|
|
@@ -615,7 +655,8 @@ end
|
|
615
655
|
There's the option to continue using `its` with [rspec-its](https://github.com/rspec/rspec-its) that is an external gem extracted from `rspec-core`.
|
616
656
|
If you choose so, disable this conversion with `--keep its`.
|
617
657
|
|
618
|
-
*
|
658
|
+
* Conversion can be disabled by: `--keep its`
|
659
|
+
* Deprecation: Deprecated since RSpec 2.99, removed at RSpec 3.0
|
619
660
|
* See also: [Core: its will be moved into an external gem - The Plan for RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#core__will_be_moved_into_an_external_gem)
|
620
661
|
|
621
662
|
## Compatibility
|
data/README.md.erb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
**Transpec** automatically converts your specs into latest [RSpec](http://rspec.info/) syntax with static and dynamic code analysis.
|
6
6
|
|
7
|
-
This aims to facilitate smooth transition to RSpec 3, and
|
7
|
+
This aims to facilitate smooth transition to RSpec 3, and is now ready for RSpec 2.99 and 3.0 beta!
|
8
8
|
|
9
9
|
See the following pages for the new RSpec syntax and the plan for RSpec 3:
|
10
10
|
|
@@ -74,10 +74,14 @@ You can see actual conversion examples below:
|
|
74
74
|
|
75
75
|
## Installation
|
76
76
|
|
77
|
+
Simply install `transpec` with `gem` command:
|
78
|
+
|
77
79
|
```bash
|
78
80
|
$ gem install transpec
|
79
81
|
```
|
80
82
|
|
83
|
+
Usually you don't need to add `transpec` to your `*.gemspec` or `Gemfile` since this isn't a tool to be used daily.
|
84
|
+
|
81
85
|
## Basic Usage
|
82
86
|
|
83
87
|
Before converting your specs:
|
@@ -207,7 +211,7 @@ See [Supported Conversions](#supported-conversions) for more details.
|
|
207
211
|
|
208
212
|
### `-n/--negative-form`
|
209
213
|
|
210
|
-
Specify negative form of `to` that is used in `expect` syntax.
|
214
|
+
Specify negative form of `to` that is used in the `expect` syntax.
|
211
215
|
Either `not_to` or `to_not`.
|
212
216
|
`not_to` is used by default.
|
213
217
|
|
@@ -215,11 +219,23 @@ Either `not_to` or `to_not`.
|
|
215
219
|
$ transpec --negative-form to_not
|
216
220
|
```
|
217
221
|
|
222
|
+
### `-b/--boolean-matcher`
|
223
|
+
|
224
|
+
Specify matcher type that `be_true` and `be_false` will be converted to.
|
225
|
+
Any of `truthy,falsey`, `truthy,falsy` or `true,false` can be specified.
|
226
|
+
`truthy,falsey` is used by default.
|
227
|
+
|
228
|
+
```bash
|
229
|
+
$ transpec --boolean-matcher true,false
|
230
|
+
```
|
231
|
+
|
232
|
+
See [Supported Conversions - Boolean matchers](#boolean-matchers) for more details.
|
233
|
+
|
218
234
|
### `-p/--no-parentheses-matcher-arg`
|
219
235
|
|
220
236
|
Suppress parenthesizing argument of matcher when converting
|
221
237
|
`should` with operator matcher to `expect` with non-operator matcher
|
222
|
-
(`expect` syntax does not directly support the operator matchers).
|
238
|
+
(the `expect` syntax does not directly support the operator matchers).
|
223
239
|
Note that it will be parenthesized even if this option is specified
|
224
240
|
when parentheses are necessary to keep the meaning of the expression.
|
225
241
|
|
@@ -291,7 +307,7 @@ end
|
|
291
307
|
### Reason
|
292
308
|
|
293
309
|
* `should` is defined on `BasicObject` class, so you can use `should` everywhere.
|
294
|
-
* `expect` is defined on `RSpec::Matchers` module that is included by `RSpec::Core::ExampleGroup` class, so you can use `expect` only where `self` is an instance of `RSpec::Core::ExampleGroup` (i.e. in `it` blocks, `:each` hook blocks or included module methods) or other classes that include `RSpec::Matchers`.
|
310
|
+
* `expect` is defined on `RSpec::Matchers` module that is included by `RSpec::Core::ExampleGroup` class, so you can use `expect` only where `self` is an instance of `RSpec::Core::ExampleGroup` (i.e. in `it` blocks, `:each` hook blocks or included module methods) or other classes that explicitly include `RSpec::Matchers`.
|
295
311
|
|
296
312
|
With the above example, in the context of `1.should == 1`, the `self` is an instance of `MyAwesomeTestRunner`.
|
297
313
|
Transpec tracks contexts and skips conversion if the target syntax cannot be converted in a case like this.
|
@@ -327,7 +343,8 @@ expect(obj).not_to matcher
|
|
327
343
|
expect(obj).to_not matcher # with `--negative-form to_not`
|
328
344
|
```
|
329
345
|
|
330
|
-
*
|
346
|
+
* Conversion can be disabled by: `--keep should`
|
347
|
+
* Deprecation: Deprecated since RSpec 3.0
|
331
348
|
* See also: [Myron Marston » RSpec's New Expectation Syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax)
|
332
349
|
|
333
350
|
### Operator matchers
|
@@ -348,6 +365,8 @@ expect('string').to match(/^str/)
|
|
348
365
|
expect([1, 2, 3]).to match_array([2, 1, 3])
|
349
366
|
```
|
350
367
|
|
368
|
+
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.
|
369
|
+
|
351
370
|
* See also: [(Almost) All Matchers Are Supported - RSpec's New Expectation Syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax#almost_all_matchers_are_supported)
|
352
371
|
|
353
372
|
### Boolean matchers
|
@@ -380,7 +399,8 @@ expect(obj).to be false
|
|
380
399
|
|
381
400
|
So, converting `be_true`/`be_false` to `be_truthy`/`be_falsey` never breaks your specs and this is the Transpec's default. If you are willing to test boolean values strictly, you can convert them to `be true`/`be false` with `--boolean-matcher true,false` option. Note that this may break your specs if your library codes don't return exact boolean values.
|
382
401
|
|
383
|
-
*
|
402
|
+
* Conversion can be disabled by: `--keep deprecated`
|
403
|
+
* Deprecation: Deprecated since RSpec 2.99, removed at RSpec 3.0
|
384
404
|
* See also: [Consider renaming `be_true` and `be_false` to `be_truthy` and `be_falsey` · rspec/rspec-expectations](https://github.com/rspec/rspec-expectations/issues/283)
|
385
405
|
|
386
406
|
### `be_close` matcher
|
@@ -393,7 +413,8 @@ expect(1.0 / 3.0).to be_close(0.333, 0.001)
|
|
393
413
|
expect(1.0 / 3.0).to be_within(0.001).of(0.333)
|
394
414
|
```
|
395
415
|
|
396
|
-
*
|
416
|
+
* Conversion can be disabled by: `--keep deprecated`
|
417
|
+
* Deprecation: Deprecated since RSpec 2.1, removed at RSpec 3.0
|
397
418
|
* See also: [New be within matcher and RSpec.deprecate fix · rspec/rspec-expectations](https://github.com/rspec/rspec-expectations/pull/32)
|
398
419
|
|
399
420
|
### `have(n).items` matcher
|
@@ -406,6 +427,7 @@ expect(collection).to have_at_least(3).items
|
|
406
427
|
expect(collection).to have_at_most(3).items
|
407
428
|
collection.should have(3).items
|
408
429
|
|
430
|
+
# Assume `team` responds to #players.
|
409
431
|
expect(team).to have(3).players
|
410
432
|
|
411
433
|
# Assume #players is a private method.
|
@@ -426,7 +448,8 @@ expect(team.send(:players).size).to eq(3)
|
|
426
448
|
There's the option to continue using `have(n).items` matcher with [rspec-collection_matchers](https://github.com/rspec/rspec-collection_matchers) that is an external gem extracted from `rspec-expectations`.
|
427
449
|
If you choose so, disable this conversion with `--keep have_items`.
|
428
450
|
|
429
|
-
*
|
451
|
+
* Conversion can be disabled by: `--keep have_items`
|
452
|
+
* Deprecation: Deprecated since RSpec 2.99, removed at RSpec 3.0
|
430
453
|
* See also: [Expectations: have(x).items matchers will be moved into an external gem - The Plan for RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#expectations__matchers_will_be_moved_into_an_external_gem)
|
431
454
|
|
432
455
|
### Expectations on block
|
@@ -441,7 +464,8 @@ proc { do_something }.should raise_error
|
|
441
464
|
expect { do_something }.to raise_error
|
442
465
|
```
|
443
466
|
|
444
|
-
*
|
467
|
+
* Conversion can be disabled by: `--keep should`
|
468
|
+
* Deprecation: Deprecated since RSpec 3.0
|
445
469
|
* See also: [Unification of Block vs. Value Syntaxes - RSpec's New Expectation Syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax#unification_of_block_vs_value_syntaxes)
|
446
470
|
|
447
471
|
### Negative error expectations with specific error
|
@@ -458,7 +482,8 @@ expect { do_something }.not_to raise_error
|
|
458
482
|
lambda { do_something }.should_not raise_error # with `--keep should`
|
459
483
|
```
|
460
484
|
|
461
|
-
*
|
485
|
+
* Conversion can be disabled by: `--keep deprecated`
|
486
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
462
487
|
* See also: [Consider deprecating `expect { }.not_to raise_error(SpecificErrorClass)` · rspec/rspec-expectations](https://github.com/rspec/rspec-expectations/issues/231)
|
463
488
|
|
464
489
|
### Message expectations
|
@@ -473,7 +498,8 @@ expect(obj).to receive(:foo)
|
|
473
498
|
expect_any_instance_of(SomeClass).to receive(:foo)
|
474
499
|
```
|
475
500
|
|
476
|
-
*
|
501
|
+
* Conversion can be disabled by: `--keep should_receive`
|
502
|
+
* Deprecation: Deprecated since RSpec 3.0
|
477
503
|
* See also: [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
478
504
|
|
479
505
|
### Message expectations that are actually method stubs
|
@@ -494,7 +520,8 @@ allow_any_instance_of(SomeClass).to receive(:foo)
|
|
494
520
|
SomeClass.any_instance.stub(:foo) # with `--keep stub`
|
495
521
|
```
|
496
522
|
|
497
|
-
*
|
523
|
+
* Conversion can be disabled by: `--keep deprecated`
|
524
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
498
525
|
* See also: [Don't allow at_least(0) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/133)
|
499
526
|
|
500
527
|
### Method stubs
|
@@ -524,7 +551,17 @@ allow(obj).to receive_messages(:foo => 1, :bar => 2)
|
|
524
551
|
allow_any_instance_of(SomeClass).to receive(:foo)
|
525
552
|
```
|
526
553
|
|
527
|
-
|
554
|
+
Note: `allow(obj).to receive_messages(:foo => 1, :bar => 2)` that is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0 (though [it's now being considered to be backported to RSpec 2.99](https://github.com/rspec/rspec-mocks/issues/454)). So, in [the upgrade path to RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#the_upgrade_path), if you want to convert them with keeping the syntax correspondence, you need to follow these steps:
|
555
|
+
|
556
|
+
1. Upgrade to RSpec 2.99
|
557
|
+
2. Run `transpec --keep stub`
|
558
|
+
3. Upgrade to RSpec 3.0
|
559
|
+
4. Run `transpec`
|
560
|
+
|
561
|
+
Otherwise `obj.stub(:foo => 1, :bar => 2)` will be converted to two `allow(obj).to receive(...).and_return(...)` expressions on RSpec 2.99.
|
562
|
+
|
563
|
+
* Conversion can be disabled by: `--keep stub`
|
564
|
+
* Deprecation: Deprecated since RSpec 3.0
|
528
565
|
* See also:
|
529
566
|
* [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
|
530
567
|
* [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
|
@@ -541,7 +578,8 @@ obj.stub(:foo) # with `--keep stub`
|
|
541
578
|
obj.unstub(:foo)
|
542
579
|
```
|
543
580
|
|
544
|
-
*
|
581
|
+
* Conversion can be disabled by: `--keep deprecated`
|
582
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
545
583
|
* See also: [Consider deprecating and/or removing #stub! and #unstub! at some point · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/122)
|
546
584
|
|
547
585
|
### Method stubs with deprecated specification of number of times
|
@@ -556,7 +594,8 @@ allow(obj).to receive(:foo)
|
|
556
594
|
obj.stub(:foo) # with `--keep stub`
|
557
595
|
```
|
558
596
|
|
559
|
-
*
|
597
|
+
* Conversion can be disabled by: `--keep deprecated`
|
598
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
560
599
|
* See also: [Don't allow at_least(0) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/133)
|
561
600
|
|
562
601
|
### Deprecated test double aliases
|
@@ -570,8 +609,9 @@ mock('something')
|
|
570
609
|
double('something')
|
571
610
|
```
|
572
611
|
|
573
|
-
*
|
574
|
-
*
|
612
|
+
* Conversion can be disabled by: `--keep deprecated`
|
613
|
+
* Deprecation: Deprecated since RSpec 2.14, removed at RSpec 3.0
|
614
|
+
* See also: [myronmarston / why_double.md - Gist](https://gist.github.com/myronmarston/6576665)
|
575
615
|
|
576
616
|
### Expectations on attribute of subject with `its`
|
577
617
|
|
@@ -595,7 +635,8 @@ END
|
|
595
635
|
There's the option to continue using `its` with [rspec-its](https://github.com/rspec/rspec-its) that is an external gem extracted from `rspec-core`.
|
596
636
|
If you choose so, disable this conversion with `--keep its`.
|
597
637
|
|
598
|
-
*
|
638
|
+
* Conversion can be disabled by: `--keep its`
|
639
|
+
* Deprecation: Deprecated since RSpec 2.99, removed at RSpec 3.0
|
599
640
|
* See also: [Core: its will be moved into an external gem - The Plan for RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#core__will_be_moved_into_an_external_gem)
|
600
641
|
|
601
642
|
## Compatibility
|
data/lib/transpec/converter.rb
CHANGED
@@ -63,7 +63,8 @@ module Transpec
|
|
63
63
|
end
|
64
64
|
|
65
65
|
if should.have_matcher && @configuration.convert_have_items?
|
66
|
-
|
66
|
+
parenthesize_matcher_arg = @configuration.parenthesize_matcher_arg
|
67
|
+
should.have_matcher.convert_to_standard_expectation!(parenthesize_matcher_arg)
|
67
68
|
end
|
68
69
|
end
|
69
70
|
|
@@ -149,7 +149,7 @@ module Transpec
|
|
149
149
|
],
|
150
150
|
'-n' => [
|
151
151
|
"Specify negative form of #{'to'.underline} that is used in",
|
152
|
-
"#{'expect(...).to'.underline} syntax.",
|
152
|
+
"the #{'expect(...).to'.underline} syntax.",
|
153
153
|
"Either #{'not_to'.bright} or #{'to_not'.bright}.",
|
154
154
|
"Default: #{'not_to'.bright}"
|
155
155
|
],
|
@@ -164,7 +164,7 @@ module Transpec
|
|
164
164
|
'-p' => [
|
165
165
|
'Suppress parenthesizing argument of matcher',
|
166
166
|
'when converting operator to non-operator in',
|
167
|
-
"#{'expect'.underline} syntax. Note that it will be",
|
167
|
+
"the #{'expect'.underline} syntax. Note that it will be",
|
168
168
|
'parenthesized even if this option is',
|
169
169
|
'specified when parentheses are necessary to',
|
170
170
|
'keep the meaning of the expression.',
|
data/lib/transpec/record.rb
CHANGED
@@ -11,14 +11,14 @@ module Transpec
|
|
11
11
|
|
12
12
|
def ==(other)
|
13
13
|
self.class == other.class &&
|
14
|
-
|
15
|
-
|
14
|
+
original_syntax == other.original_syntax &&
|
15
|
+
converted_syntax == other.converted_syntax
|
16
16
|
end
|
17
17
|
|
18
18
|
alias_method :eql?, :==
|
19
19
|
|
20
20
|
def hash
|
21
|
-
|
21
|
+
original_syntax.hash ^ converted_syntax.hash
|
22
22
|
end
|
23
23
|
|
24
24
|
def to_s
|
data/lib/transpec/syntax/have.rb
CHANGED
@@ -17,6 +17,8 @@ module Transpec
|
|
17
17
|
# for String (String responds to #size).
|
18
18
|
QUERY_METHOD_PRIORITIES = [:size, :count, :length].freeze
|
19
19
|
|
20
|
+
attr_reader :expectation
|
21
|
+
|
20
22
|
def self.standalone?
|
21
23
|
false
|
22
24
|
end
|
@@ -60,9 +62,9 @@ module Transpec
|
|
60
62
|
rewriter.register_request(node, key, code)
|
61
63
|
end
|
62
64
|
|
63
|
-
def convert_to_standard_expectation!
|
65
|
+
def convert_to_standard_expectation!(parenthesize_matcher_arg = true)
|
64
66
|
replace(@expectation.subject_range, replacement_subject_source)
|
65
|
-
replace(expression_range, replacement_matcher_source(size_source))
|
67
|
+
replace(expression_range, replacement_matcher_source(size_source, parenthesize_matcher_arg))
|
66
68
|
register_record
|
67
69
|
end
|
68
70
|
|
@@ -103,12 +105,21 @@ module Transpec
|
|
103
105
|
end
|
104
106
|
end
|
105
107
|
|
106
|
-
private
|
107
|
-
|
108
108
|
def default_query_method
|
109
109
|
QUERY_METHOD_PRIORITIES.first
|
110
110
|
end
|
111
111
|
|
112
|
+
def replacement_matcher_source(size_source, parenthesize_arg = true)
|
113
|
+
case @expectation.current_syntax_type
|
114
|
+
when :should
|
115
|
+
replacement_matcher_source_for_should(size_source)
|
116
|
+
when :expect
|
117
|
+
replacement_matcher_source_for_expect(size_source, parenthesize_arg)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
private
|
122
|
+
|
112
123
|
def replacement_subject_source
|
113
124
|
source = @expectation.subject_range.source
|
114
125
|
if subject_is_owner_of_collection?
|
@@ -121,20 +132,26 @@ module Transpec
|
|
121
132
|
source << ".#{query_method}"
|
122
133
|
end
|
123
134
|
|
124
|
-
def
|
125
|
-
case
|
126
|
-
when :
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
135
|
+
def replacement_matcher_source_for_should(size_source)
|
136
|
+
case have_method_name
|
137
|
+
when :have, :have_exactly then "== #{size_source}"
|
138
|
+
when :have_at_least then ">= #{size_source}"
|
139
|
+
when :have_at_most then "<= #{size_source}"
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
def replacement_matcher_source_for_expect(size_source, parenthesize_arg)
|
144
|
+
case have_method_name
|
145
|
+
when :have, :have_exactly
|
146
|
+
if parenthesize_arg
|
147
|
+
"eq(#{size_source})"
|
148
|
+
else
|
149
|
+
"eq #{size_source}"
|
137
150
|
end
|
151
|
+
when :have_at_least
|
152
|
+
"be >= #{size_source}"
|
153
|
+
when :have_at_most
|
154
|
+
"be <= #{size_source}"
|
138
155
|
end
|
139
156
|
end
|
140
157
|
|
@@ -148,47 +165,67 @@ module Transpec
|
|
148
165
|
end
|
149
166
|
|
150
167
|
def register_record
|
151
|
-
@report.records <<
|
168
|
+
@report.records << HaveRecord.new(self)
|
152
169
|
end
|
153
170
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
171
|
+
class HaveRecord < Record
|
172
|
+
def initialize(have)
|
173
|
+
@have = have
|
174
|
+
end
|
175
|
+
|
176
|
+
def original_syntax
|
177
|
+
@original_syntax ||= begin
|
178
|
+
syntax = case @have.expectation
|
179
|
+
when Should
|
180
|
+
"#{original_subject}.should"
|
181
|
+
when Expect
|
182
|
+
"expect(#{original_subject}).to"
|
183
|
+
end
|
184
|
+
|
185
|
+
syntax << " #{@have.have_method_name}(n).#{original_items}"
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
def converted_syntax
|
190
|
+
@converted_syntax ||= begin
|
191
|
+
syntax = case @have.expectation.current_syntax_type
|
192
|
+
when :should
|
193
|
+
"#{converted_subject}.should"
|
194
|
+
when :expect
|
195
|
+
"expect(#{converted_subject}).to"
|
196
|
+
end
|
197
|
+
|
198
|
+
syntax << " #{@have.replacement_matcher_source('n')}"
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def original_subject
|
203
|
+
if @have.subject_is_owner_of_collection?
|
204
|
+
'obj'
|
205
|
+
else
|
206
|
+
'collection'
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
def original_items
|
211
|
+
if @have.subject_is_owner_of_collection?
|
212
|
+
@have.items_name
|
213
|
+
else
|
214
|
+
'items'
|
215
|
+
end
|
161
216
|
end
|
162
217
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
subject = if subject_is_owner_of_collection?
|
175
|
-
if collection_accessor_is_private?
|
176
|
-
"obj.send(#{items_name.inspect}).#{query_method}"
|
177
|
-
else
|
178
|
-
"obj.#{items_name}.#{query_method}"
|
179
|
-
end
|
180
|
-
else
|
181
|
-
"collection.#{default_query_method}"
|
182
|
-
end
|
183
|
-
|
184
|
-
syntax = case @expectation.current_syntax_type
|
185
|
-
when :should
|
186
|
-
"#{subject}.should"
|
187
|
-
when :expect
|
188
|
-
"expect(#{subject}).to"
|
189
|
-
end
|
190
|
-
|
191
|
-
syntax << " #{replacement_matcher_source('n')}"
|
218
|
+
def converted_subject
|
219
|
+
if @have.subject_is_owner_of_collection?
|
220
|
+
if @have.collection_accessor_is_private?
|
221
|
+
"obj.send(#{@have.items_name.inspect}).#{@have.query_method}"
|
222
|
+
else
|
223
|
+
"obj.#{@have.items_name}.#{@have.query_method}"
|
224
|
+
end
|
225
|
+
else
|
226
|
+
"collection.#{@have.default_query_method}"
|
227
|
+
end
|
228
|
+
end
|
192
229
|
end
|
193
230
|
end
|
194
231
|
end
|
data/lib/transpec/version.rb
CHANGED
@@ -77,7 +77,7 @@ module Transpec
|
|
77
77
|
end
|
78
78
|
|
79
79
|
it 'returns itself' do
|
80
|
-
returned_value = target_node.each_ancestor_node {
|
80
|
+
returned_value = target_node.each_ancestor_node {}
|
81
81
|
returned_value.should be(target_node)
|
82
82
|
end
|
83
83
|
end
|
@@ -133,7 +133,7 @@ module Transpec
|
|
133
133
|
end
|
134
134
|
|
135
135
|
it 'returns itself' do
|
136
|
-
returned_value = ast.each_child_node {
|
136
|
+
returned_value = ast.each_child_node {}
|
137
137
|
returned_value.should be(ast)
|
138
138
|
end
|
139
139
|
end
|
@@ -191,7 +191,7 @@ module Transpec
|
|
191
191
|
end
|
192
192
|
|
193
193
|
it 'returns itself' do
|
194
|
-
returned_value = ast.each_descendent_node {
|
194
|
+
returned_value = ast.each_descendent_node {}
|
195
195
|
returned_value.should be(ast)
|
196
196
|
end
|
197
197
|
end
|
@@ -245,7 +245,7 @@ module Transpec
|
|
245
245
|
end
|
246
246
|
|
247
247
|
it 'returns itself' do
|
248
|
-
returned_value = ast.each_node {
|
248
|
+
returned_value = ast.each_node {}
|
249
249
|
returned_value.should be(ast)
|
250
250
|
end
|
251
251
|
end
|
@@ -171,9 +171,22 @@ module Transpec
|
|
171
171
|
context 'when Configuration#convert_have_items? is true' do
|
172
172
|
before { configuration.convert_have_items = true }
|
173
173
|
|
174
|
-
|
175
|
-
|
176
|
-
|
174
|
+
context 'and Configuration#parenthesize_matcher_arg is true' do
|
175
|
+
before { configuration.parenthesize_matcher_arg = true }
|
176
|
+
|
177
|
+
it 'invokes Have#convert_to_standard_expectation! with true' do
|
178
|
+
should_object.have_matcher.should_receive(:convert_to_standard_expectation!).with(true)
|
179
|
+
converter.process_should(should_object)
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
context 'and Configuration#parenthesize_matcher_arg is false' do
|
184
|
+
before { configuration.parenthesize_matcher_arg = false }
|
185
|
+
|
186
|
+
it 'invokes Have#convert_to_standard_expectation! with false' do
|
187
|
+
should_object.have_matcher.should_receive(:convert_to_standard_expectation!).with(false)
|
188
|
+
converter.process_should(should_object)
|
189
|
+
end
|
177
190
|
end
|
178
191
|
|
179
192
|
context 'and Configuration#convert_should? is true' do
|
@@ -105,6 +105,8 @@ module Transpec
|
|
105
105
|
end
|
106
106
|
|
107
107
|
context 'and Should#expectize! is invoked before it' do
|
108
|
+
let(:parenthesize_matcher_arg) { true }
|
109
|
+
|
108
110
|
let(:expected_source) do
|
109
111
|
<<-END
|
110
112
|
describe 'example' do
|
@@ -117,7 +119,7 @@ module Transpec
|
|
117
119
|
|
118
120
|
before do
|
119
121
|
should_object.expectize!
|
120
|
-
should_object.have_matcher.convert_to_standard_expectation!
|
122
|
+
should_object.have_matcher.convert_to_standard_expectation!(parenthesize_matcher_arg)
|
121
123
|
end
|
122
124
|
|
123
125
|
it 'converts into `expect(collection.size).to eq(2)` form' do
|
@@ -128,6 +130,29 @@ module Transpec
|
|
128
130
|
record.original_syntax.should == 'collection.should have(n).items'
|
129
131
|
record.converted_syntax.should == 'expect(collection.size).to eq(n)'
|
130
132
|
end
|
133
|
+
|
134
|
+
context 'and false is passed as `parenthesize_matcher_arg` argument' do
|
135
|
+
let(:parenthesize_matcher_arg) { false }
|
136
|
+
|
137
|
+
let(:expected_source) do
|
138
|
+
<<-END
|
139
|
+
describe 'example' do
|
140
|
+
it 'has 2 items' do
|
141
|
+
expect(collection.size).to eq 2
|
142
|
+
end
|
143
|
+
end
|
144
|
+
END
|
145
|
+
end
|
146
|
+
|
147
|
+
it 'converts into `expect(collection.size).to eq 2` form' do
|
148
|
+
rewritten_source.should == expected_source
|
149
|
+
end
|
150
|
+
|
151
|
+
it 'adds record "`collection.should have(n).items` -> `expect(collection.size).to eq(n)`"' do
|
152
|
+
record.original_syntax.should == 'collection.should have(n).items'
|
153
|
+
record.converted_syntax.should == 'expect(collection.size).to eq(n)'
|
154
|
+
end
|
155
|
+
end
|
131
156
|
end
|
132
157
|
end
|
133
158
|
|
data/tasks/demo.rake
CHANGED
@@ -5,9 +5,9 @@ require_relative 'lib/transpec_demo'
|
|
5
5
|
namespace :demo do
|
6
6
|
# rubocop:disable LineLength
|
7
7
|
demos = [
|
8
|
-
TranspecDemo.new('git@github.com:yujinakayama/twitter.git', '
|
9
|
-
TranspecDemo.new('git@github.com:yujinakayama/guard.git', 'transpec-test', %w(--without development)),
|
10
|
-
TranspecDemo.new('git@github.com:yujinakayama/mail.git', 'transpec-test')
|
8
|
+
TranspecDemo.new('git@github.com:yujinakayama/twitter.git', 'transpec-test-rspec-2-99'),
|
9
|
+
TranspecDemo.new('git@github.com:yujinakayama/guard.git', 'transpec-test-rspec-2-99', %w(--without development)),
|
10
|
+
TranspecDemo.new('git@github.com:yujinakayama/mail.git', 'transpec-test-rspec-2-99')
|
11
11
|
]
|
12
12
|
# rubocop:enable LineLength
|
13
13
|
|
metadata
CHANGED
@@ -1,167 +1,167 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transpec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuji Nakayama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2.14'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.14'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.3'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rainbow
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.1'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '10.1'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '10.1'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: simplecov
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0.7'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.7'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rubocop
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0.10'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0.10'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: guard-rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '4.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ~>
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '4.0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: guard-rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ~>
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '1.0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - ~>
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '1.0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: guard-shell
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- -
|
143
|
+
- - ~>
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0.5'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - ~>
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0.5'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: ruby_gntp
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - ~>
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: '0.3'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - ~>
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0.3'
|
167
167
|
description: Transpec converts your specs into latest RSpec syntax with static and
|
@@ -173,9 +173,9 @@ executables:
|
|
173
173
|
extensions: []
|
174
174
|
extra_rdoc_files: []
|
175
175
|
files:
|
176
|
-
-
|
177
|
-
-
|
178
|
-
-
|
176
|
+
- .gitignore
|
177
|
+
- .rubocop.yml
|
178
|
+
- .travis.yml
|
179
179
|
- CHANGELOG.md
|
180
180
|
- Gemfile
|
181
181
|
- Guardfile
|
@@ -275,12 +275,12 @@ require_paths:
|
|
275
275
|
- lib
|
276
276
|
required_ruby_version: !ruby/object:Gem::Requirement
|
277
277
|
requirements:
|
278
|
-
- -
|
278
|
+
- - '>='
|
279
279
|
- !ruby/object:Gem::Version
|
280
280
|
version: '0'
|
281
281
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
282
282
|
requirements:
|
283
|
-
- -
|
283
|
+
- - '>='
|
284
284
|
- !ruby/object:Gem::Version
|
285
285
|
version: '0'
|
286
286
|
requirements: []
|