guard-cucumber 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -9
- data/lib/guard/cucumber.rb +2 -1
- data/lib/guard/cucumber/inspector.rb +13 -9
- data/lib/guard/cucumber/runner.rb +2 -1
- data/lib/guard/cucumber/version.rb +1 -1
- data/lib/guard/cucumber/version.rbc +1 -1
- metadata +4 -84
data/README.md
CHANGED
@@ -98,8 +98,8 @@ Former `:color`, `:drb`, `:port` and `:profile` options are thus deprecated and
|
|
98
98
|
# This replaces the Cucumber --format option within the :cli option
|
99
99
|
# default: nil
|
100
100
|
|
101
|
-
:command_prefix => 'xvfb-run' # Add a prefix to the cucumber command such as 'xvfb-run' or any
|
102
|
-
# other shell script.
|
101
|
+
:command_prefix => 'xvfb-run' # Add a prefix to the cucumber command such as 'xvfb-run' or any
|
102
|
+
# other shell script.
|
103
103
|
# The example generates: 'xvfb-run bundle exec cucumber ...'
|
104
104
|
# default: nil
|
105
105
|
```
|
@@ -165,13 +165,6 @@ end
|
|
165
165
|
|
166
166
|
There is a section with alternative configurations on the [Wiki](https://github.com/netzpirat/guard-cucumber/wiki/Spork-configurations).
|
167
167
|
|
168
|
-
## Shameless self promotion
|
169
|
-
|
170
|
-
Developed by Michael Kessler, sponsored by [mksoft.ch](https://mksoft.ch).
|
171
|
-
|
172
|
-
If you like Guard::Cucumber, you can watch the repository at [GitHub](https://github.com/netzpirat/guard-cucumber) and
|
173
|
-
follow [@netzpirat](https://twitter.com/#!/netzpirat) on Twitter for project updates.
|
174
|
-
|
175
168
|
Issues
|
176
169
|
------
|
177
170
|
|
data/lib/guard/cucumber.rb
CHANGED
@@ -30,6 +30,7 @@ module Guard
|
|
30
30
|
#
|
31
31
|
def initialize(watchers = [], options = { })
|
32
32
|
super
|
33
|
+
|
33
34
|
@options = {
|
34
35
|
:all_after_pass => true,
|
35
36
|
:all_on_start => true,
|
@@ -83,7 +84,7 @@ module Guard
|
|
83
84
|
#
|
84
85
|
def run_on_changes(paths)
|
85
86
|
paths += @failed_paths if @options[:keep_failed]
|
86
|
-
paths = Inspector.clean(paths)
|
87
|
+
paths = Inspector.clean(paths, options[:feature_sets])
|
87
88
|
options = @options[:change_format] ? change_format(@options[:change_format]) : @options
|
88
89
|
passed = Runner.run(paths, paths.include?('features') ? options.merge({ :message => 'Running all features' }) : options)
|
89
90
|
|
@@ -11,12 +11,13 @@ module Guard
|
|
11
11
|
# Cucumber features.
|
12
12
|
#
|
13
13
|
# @param [Array<String>] paths the changed paths
|
14
|
+
# @param [Array<String>] feature_sets the feature sets
|
14
15
|
# @return [Array<String>] the valid feature files
|
15
16
|
#
|
16
|
-
def clean(paths)
|
17
|
+
def clean(paths, feature_sets)
|
17
18
|
paths.uniq!
|
18
19
|
paths.compact!
|
19
|
-
paths = paths.select { |p| cucumber_file?(p) || cucumber_folder?(p) }
|
20
|
+
paths = paths.select { |p| cucumber_file?(p, feature_sets) || cucumber_folder?(p, feature_sets) }
|
20
21
|
paths = paths.delete_if { |p| included_in_other_path?(p, paths) }
|
21
22
|
clear_cucumber_files_list
|
22
23
|
paths
|
@@ -27,29 +28,32 @@ module Guard
|
|
27
28
|
# Tests if the file is the features folder.
|
28
29
|
#
|
29
30
|
# @param [String] file the file
|
31
|
+
# @param [Array<String>] feature_sets the feature sets
|
30
32
|
# @return [Boolean] when the file is the feature folder
|
31
33
|
#
|
32
|
-
def cucumber_folder?(path)
|
33
|
-
path.match(/^\/?
|
34
|
+
def cucumber_folder?(path, feature_sets)
|
35
|
+
path.match(/^\/?(#{ feature_sets.join('|') })/) && !path.match(/\..+$/)
|
34
36
|
end
|
35
37
|
|
36
38
|
# Tests if the file is valid.
|
37
39
|
#
|
38
40
|
# @param [String] file the file
|
41
|
+
# @param [Array<String>] feature_sets the feature sets
|
39
42
|
# @return [Boolean] when the file valid
|
40
43
|
#
|
41
|
-
def cucumber_file?(path)
|
42
|
-
cucumber_files.include?(path.split(':').first)
|
44
|
+
def cucumber_file?(path, feature_sets)
|
45
|
+
cucumber_files(feature_sets).include?(path.split(':').first)
|
43
46
|
end
|
44
47
|
|
45
48
|
# Scans the project and keeps a list of all
|
46
49
|
# feature files in the `features` directory.
|
47
50
|
#
|
48
51
|
# @see #clear_jasmine_specs
|
52
|
+
# @param [Array<String>] feature_sets the feature sets
|
49
53
|
# @return [Array<String>] the valid files
|
50
54
|
#
|
51
|
-
def cucumber_files
|
52
|
-
@cucumber_files ||= Dir.glob('
|
55
|
+
def cucumber_files(feature_sets)
|
56
|
+
@cucumber_files ||= Dir.glob("#{ feature_sets.join(',') }/**/*.feature")
|
53
57
|
end
|
54
58
|
|
55
59
|
# Clears the list of features in this project.
|
@@ -66,7 +70,7 @@ module Guard
|
|
66
70
|
#
|
67
71
|
def included_in_other_path?(path, paths)
|
68
72
|
paths = paths.select { |p| p != path }
|
69
|
-
massaged = path[0...(path.index(
|
73
|
+
massaged = path[0...(path.index(':') || path.size)]
|
70
74
|
paths.any? { |p| (path.include?(p) && (path.gsub(p, '')).include?('/')) || massaged.include?(p) }
|
71
75
|
end
|
72
76
|
end
|
@@ -14,6 +14,7 @@ module Guard
|
|
14
14
|
# @option options [Boolean] :bundler use bundler or not
|
15
15
|
# @option options [Array<String>] :rvm a list of rvm version to use for the test
|
16
16
|
# @option options [Boolean] :notification show notifications
|
17
|
+
# @option options [String] :command_prefix allows adding an additional prefix to the cucumber command. Ideal for running xvfb-run for terminal only cucumber tests.
|
17
18
|
# @return [Boolean] the status of the execution
|
18
19
|
#
|
19
20
|
def run(paths, options = { })
|
@@ -34,7 +35,7 @@ module Guard
|
|
34
35
|
# @option options [Boolean] :bundler use bundler or not
|
35
36
|
# @option options [Array<String>] :rvm a list of rvm version to use for the test
|
36
37
|
# @option options [Boolean] :notification show notifications
|
37
|
-
# @option options [
|
38
|
+
# @option options [String] :command_prefix allows adding an additional prefix to the cucumber command. Ideal for running xvfb-run for terminal only cucumber tests.
|
38
39
|
# @return [String] the Cucumber command
|
39
40
|
#
|
40
41
|
def cucumber_command(paths, options)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: guard
|
@@ -43,86 +43,6 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 1.2.0
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: bundler
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rspec
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: guard-rspec
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: yard
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: redcarpet
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
46
|
description: Guard::Cucumber automatically run your features (much like autotest)
|
127
47
|
email:
|
128
48
|
- michi@netzpiraten.ch
|
@@ -153,7 +73,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
153
73
|
version: '0'
|
154
74
|
segments:
|
155
75
|
- 0
|
156
|
-
hash:
|
76
|
+
hash: 1779235362422729347
|
157
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
78
|
none: false
|
159
79
|
requirements:
|
@@ -165,6 +85,6 @@ rubyforge_project: guard-cucumber
|
|
165
85
|
rubygems_version: 1.8.24
|
166
86
|
signing_key:
|
167
87
|
specification_version: 3
|
168
|
-
summary: Guard
|
88
|
+
summary: Guard plugin for Cucumber
|
169
89
|
test_files: []
|
170
90
|
has_rdoc:
|