rutabaga 2.1.2 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +18 -0
- data/lib/rspec/core/example_group_patch.rb +33 -0
- data/lib/rutabaga.rb +1 -0
- data/lib/rutabaga/example_group/feature.rb +0 -29
- data/lib/rutabaga/version.rb +1 -1
- data/spec/formatter_spec.rb +15 -0
- data/spec/rspec_formatter/formatter.rb +20 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 459bc0f70e553e4339d7c2e7d568ff5cd855d6a2
|
4
|
+
data.tar.gz: 46b441f305afecaa2cdca6fbb41969ee13a6a594
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03c353f0db97038dff8326aa044abd7666ff871a93d7b5360ebe1c3411f33cdbafe35b01f35ded61afa79a3d1a1eb19ae63c4f2aea1a0d23573b86bfac5b6ae9
|
7
|
+
data.tar.gz: d6980051aa0b16cf1865e9482f04d0fe31cf7a954a5462803c997729647f90a252e80b1217783a62b016369a0fda3fe36f5535d61798c5000af4a825841fec04
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## Version 2.1.3
|
4
|
+
|
5
|
+
- Fixes ability for parallel_tests to handle turnip output, even when rutabaga is used. This has been broken since version 2.0
|
6
|
+
|
7
|
+
## Version 2.1.0
|
8
|
+
|
9
|
+
- **No Turnip Mode**: Turnip support can now be disabled by including `rutabaga/no_turnip` for example
|
10
|
+
by calling `rspec -r rutabaga/no_turnip`
|
11
|
+
- When requesting features outside of the turnip directory `spec/features` a warning is issued
|
12
|
+
|
3
13
|
## Version 2.0.0
|
4
14
|
|
5
15
|
- Features should now be called directly in the describe block rather than inside an `it` block. This allows specific scenarios to be run without having to run the entire feature.
|
data/README.md
CHANGED
@@ -173,6 +173,24 @@ The goal is to test just the business rule in Rutabaga, and not the login, the h
|
|
173
173
|
|
174
174
|
Use `gem-release` to maintain versions https://github.com/svenfuchs/gem-release.
|
175
175
|
|
176
|
+
To update the minor version (e.g. 0.0.1 to 0.0.2), after merging the PR to `master` run:
|
177
|
+
|
178
|
+
```
|
179
|
+
gem bump --tag --release
|
180
|
+
```
|
181
|
+
|
182
|
+
if instead you want to bump the minor version (e.g. 0.0.1 to 0.1.0):
|
183
|
+
|
184
|
+
```
|
185
|
+
gem bump --version minor --tag --release
|
186
|
+
```
|
187
|
+
|
188
|
+
or major version (e.g. 0.0.1 to 1.0.0):
|
189
|
+
|
190
|
+
```
|
191
|
+
gem bump --version major --tag --release
|
192
|
+
```
|
193
|
+
|
176
194
|
## Testing alternate versions
|
177
195
|
|
178
196
|
Put the following (example in a `Gemfile_for_xxx`) to test other versions of gems.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# This file needs to be in this folder structure otherwise rspec
|
2
|
+
# will not filter it out of the caller chain, and therefore report
|
3
|
+
# incorrect file locations for example groups. This especially
|
4
|
+
# affects turnip mode.
|
5
|
+
|
6
|
+
# Monkey patch rspec to block capybara from using feature
|
7
|
+
class RSpec::Core::Configuration
|
8
|
+
alias_method :orig_alias_example_group_to, :alias_example_group_to
|
9
|
+
|
10
|
+
def alias_example_group_to(new_name, *args)
|
11
|
+
return if [:feature, :xfeature, :ffeature].include?(new_name)
|
12
|
+
orig_alias_example_group_to(new_name, *args)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# Monkey patch RSpec to add the feature method in example groups
|
17
|
+
class RSpec::Core::ExampleGroup
|
18
|
+
class << self
|
19
|
+
alias_method :orig_subclass, :subclass
|
20
|
+
|
21
|
+
def subclass(parent, description, args, &example_group_block)
|
22
|
+
self.orig_subclass(parent, description, args, &example_group_block).tap do |describe|
|
23
|
+
|
24
|
+
if args.any? { |arg| arg.kind_of?(Hash) && arg[:rutabaga] }
|
25
|
+
Rutabaga::ExampleGroup::Feature.feature(describe, description, args)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
define_example_group_method :feature, :rutabaga => true
|
33
|
+
end
|
data/lib/rutabaga.rb
CHANGED
@@ -1,35 +1,6 @@
|
|
1
1
|
require 'turnip/rspec'
|
2
2
|
require 'rspec'
|
3
3
|
|
4
|
-
# Monkey patch rspec to block capybara from using feature
|
5
|
-
class RSpec::Core::Configuration
|
6
|
-
alias_method :orig_alias_example_group_to, :alias_example_group_to
|
7
|
-
|
8
|
-
def alias_example_group_to(new_name, *args)
|
9
|
-
return if [:feature, :xfeature, :ffeature].include?(new_name)
|
10
|
-
orig_alias_example_group_to(new_name, *args)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
# Monkey patch RSpec to add the feature method in example groups
|
15
|
-
class RSpec::Core::ExampleGroup
|
16
|
-
class << self
|
17
|
-
alias_method :orig_subclass, :subclass
|
18
|
-
|
19
|
-
def subclass(parent, description, args, &example_group_block)
|
20
|
-
self.orig_subclass(parent, description, args, &example_group_block).tap do |describe|
|
21
|
-
|
22
|
-
if args.any? { |arg| arg.kind_of?(Hash) && arg[:rutabaga] }
|
23
|
-
Rutabaga::ExampleGroup::Feature.feature(describe, description, args)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
define_example_group_method :feature, :rutabaga => true
|
31
|
-
end
|
32
|
-
|
33
4
|
module Rutabaga
|
34
5
|
module ExampleGroup
|
35
6
|
module Feature
|
data/lib/rutabaga/version.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'formatter', :type => :integration do
|
4
|
+
before(:all) do
|
5
|
+
@result = %x(rspec -r rutabaga -r rspec_formatter/formatter.rb --format RspecFormatter::Formatter spec/features/fixture.feature examples/test_spec.rb 2>&1)
|
6
|
+
end
|
7
|
+
|
8
|
+
it "has the feature location" do
|
9
|
+
expect(@result).to include("rspec_core_formatter:file_path: ./spec/features/fixture.feature")
|
10
|
+
end
|
11
|
+
|
12
|
+
it "has the rutabaga test location" do
|
13
|
+
expect(@result).to include("rspec_core_formatter:file_path: ./examples/test_spec.rb")
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module RspecFormatter
|
2
|
+
class Formatter
|
3
|
+
RSpec::Core::Formatters.register self, :example_group_started, :example_group_finished
|
4
|
+
|
5
|
+
def initialize(output)
|
6
|
+
@group_nesting = 0
|
7
|
+
end
|
8
|
+
|
9
|
+
def example_group_started(example_group)
|
10
|
+
@group_nesting += 1
|
11
|
+
end
|
12
|
+
|
13
|
+
def example_group_finished(notification)
|
14
|
+
@group_nesting -= 1
|
15
|
+
if @group_nesting == 0
|
16
|
+
puts "rspec_core_formatter:file_path: #{notification.group.file_path}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutabaga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Oberhuber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: turnip
|
@@ -96,6 +96,7 @@ files:
|
|
96
96
|
- examples/test_feature_example_group.feature
|
97
97
|
- examples/test_feature_example_group_spec.rb
|
98
98
|
- examples/test_spec.rb
|
99
|
+
- lib/rspec/core/example_group_patch.rb
|
99
100
|
- lib/rutabaga.rb
|
100
101
|
- lib/rutabaga/example_group/feature.rb
|
101
102
|
- lib/rutabaga/feature.rb
|
@@ -107,7 +108,9 @@ files:
|
|
107
108
|
- rutabaga.gemspec
|
108
109
|
- spec/feature_spec.rb
|
109
110
|
- spec/features/fixture.feature
|
111
|
+
- spec/formatter_spec.rb
|
110
112
|
- spec/no_turnip_spec.rb
|
113
|
+
- spec/rspec_formatter/formatter.rb
|
111
114
|
- spec/rutabaga/util_spec.rb
|
112
115
|
- spec/spec_helper.rb
|
113
116
|
homepage: https://github.com/simplybusiness/rutabaga
|
@@ -138,7 +141,9 @@ summary: Calling Turnip feature files from RSpec, which allows encapsulating a f
|
|
138
141
|
test_files:
|
139
142
|
- spec/feature_spec.rb
|
140
143
|
- spec/features/fixture.feature
|
144
|
+
- spec/formatter_spec.rb
|
141
145
|
- spec/no_turnip_spec.rb
|
146
|
+
- spec/rspec_formatter/formatter.rb
|
142
147
|
- spec/rutabaga/util_spec.rb
|
143
148
|
- spec/spec_helper.rb
|
144
149
|
has_rdoc:
|