cuke_slicer 2.1.0 → 3.0.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -1
- data/LICENSE.txt +1 -1
- data/README.md +18 -10
- data/cuke_slicer.gemspec +34 -19
- data/lib/cuke_slicer/collections/nested_tag_collection.rb +6 -4
- data/lib/cuke_slicer/collections/path_collection.rb +4 -2
- data/lib/cuke_slicer/collections/tag_collection.rb +6 -4
- data/lib/cuke_slicer/extractors/directory_extractor.rb +3 -1
- data/lib/cuke_slicer/extractors/file_extractor.rb +11 -4
- data/lib/cuke_slicer/filters/filter_set.rb +12 -10
- data/lib/cuke_slicer/helpers/extraction_helpers.rb +11 -5
- data/lib/cuke_slicer/helpers/filter_helpers.rb +36 -30
- data/lib/cuke_slicer/helpers/helpers.rb +5 -4
- data/lib/cuke_slicer/helpers/matching_helpers.rb +12 -7
- data/lib/cuke_slicer/slicer.rb +16 -20
- data/lib/cuke_slicer/version.rb +1 -1
- data/lib/cuke_slicer.rb +2 -2
- data/{features → testing/cucumber/features}/test_case_extraction.feature +22 -0
- metadata +80 -58
- data/.gitignore +0 -24
- data/.simplecov +0 -7
- data/.travis.yml +0 -33
- data/Gemfile +0 -4
- data/Rakefile +0 -85
- data/appveyor.yml +0 -81
- data/features/step_definitions/action_steps.rb +0 -107
- data/features/step_definitions/setup_steps.rb +0 -103
- data/features/step_definitions/verification_steps.rb +0 -58
- data/features/support/env.rb +0 -18
- data/gemfiles/cuke_modeler0.gemfile +0 -28
- data/gemfiles/cuke_modeler1.gemfile +0 -29
- data/gemfiles/cuke_modeler2.gemfile +0 -29
- data/gemfiles/cuke_modeler3.gemfile +0 -12
- data/spec/cuke_slicer_spec.rb +0 -28
- data/spec/slicer_integration_spec.rb +0 -279
- data/spec/slicer_unit_spec.rb +0 -37
- data/spec/spec_helper.rb +0 -22
- /data/{features → testing/cucumber/features}/tag_logic.feature +0 -0
- /data/{features → testing/cucumber/features}/test_case_filtering.feature +0 -0
- /data/{features → testing/cucumber/features}/validation.feature +0 -0
data/lib/cuke_slicer/version.rb
CHANGED
data/lib/cuke_slicer.rb
CHANGED
@@ -82,3 +82,25 @@ Feature: Test case extraction
|
|
82
82
|
And the test cases are to be extracted as objects
|
83
83
|
When test cases are extracted from it
|
84
84
|
Then the test cases are provided as objects
|
85
|
+
|
86
|
+
Scenario: Extract tests in Rules
|
87
|
+
Given the following feature file "a_test.feature":
|
88
|
+
"""
|
89
|
+
Feature: A test feature
|
90
|
+
|
91
|
+
Scenario: Test 1
|
92
|
+
* some steps
|
93
|
+
|
94
|
+
Rule: Rule 1
|
95
|
+
Scenario Outline: Test 2
|
96
|
+
* some steps
|
97
|
+
Examples: Block 1
|
98
|
+
| param | value |
|
99
|
+
| a | 1 |
|
100
|
+
| b | 2 |
|
101
|
+
"""
|
102
|
+
When test cases are extracted from it
|
103
|
+
Then the following test cases are found
|
104
|
+
| path/to/a_test.feature:3 |
|
105
|
+
| path/to/a_test.feature:11 |
|
106
|
+
| path/to/a_test.feature:12 |
|
metadata
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuke_slicer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Kessler
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cuke_modeler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.2'
|
17
20
|
- - "<"
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: '4.0'
|
@@ -21,9 +24,40 @@ dependencies:
|
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.2'
|
24
30
|
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
32
|
version: '4.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: childprocess
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "<"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '5.0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '5.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: ffi
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "<"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '2.0'
|
27
61
|
- !ruby/object:Gem::Dependency
|
28
62
|
name: bundler
|
29
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,58 +118,72 @@ dependencies:
|
|
84
118
|
name: simplecov
|
85
119
|
requirement: !ruby/object:Gem::Requirement
|
86
120
|
requirements:
|
87
|
-
- - "
|
121
|
+
- - "<"
|
88
122
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
123
|
+
version: 1.0.0
|
90
124
|
type: :development
|
91
125
|
prerelease: false
|
92
126
|
version_requirements: !ruby/object:Gem::Requirement
|
93
127
|
requirements:
|
94
|
-
- - "
|
128
|
+
- - "<"
|
95
129
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
130
|
+
version: 1.0.0
|
97
131
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
132
|
+
name: simplecov-lcov
|
99
133
|
requirement: !ruby/object:Gem::Requirement
|
100
134
|
requirements:
|
101
|
-
- - "
|
135
|
+
- - "<"
|
102
136
|
- !ruby/object:Gem::Version
|
103
137
|
version: '1.0'
|
104
138
|
type: :development
|
105
139
|
prerelease: false
|
106
140
|
version_requirements: !ruby/object:Gem::Requirement
|
107
141
|
requirements:
|
108
|
-
- - "
|
142
|
+
- - "<"
|
109
143
|
- !ruby/object:Gem::Version
|
110
144
|
version: '1.0'
|
111
145
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
146
|
+
name: rainbow
|
113
147
|
requirement: !ruby/object:Gem::Requirement
|
114
148
|
requirements:
|
115
149
|
- - "<"
|
116
150
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
151
|
+
version: 4.0.0
|
118
152
|
type: :development
|
119
153
|
prerelease: false
|
120
154
|
version_requirements: !ruby/object:Gem::Requirement
|
121
155
|
requirements:
|
122
156
|
- - "<"
|
123
157
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
158
|
+
version: 4.0.0
|
125
159
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
160
|
+
name: rubocop
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "<="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 0.50.0
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "<="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 0.50.0
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: yard
|
127
175
|
requirement: !ruby/object:Gem::Requirement
|
128
176
|
requirements:
|
129
177
|
- - "<"
|
130
178
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
179
|
+
version: '1.0'
|
132
180
|
type: :development
|
133
181
|
prerelease: false
|
134
182
|
version_requirements: !ruby/object:Gem::Requirement
|
135
183
|
requirements:
|
136
184
|
- - "<"
|
137
185
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
186
|
+
version: '1.0'
|
139
187
|
description: Slices a Cucumber test suite into the smallest possible executable pieces
|
140
188
|
(i.e. scenarios and individual outline example rows. These pieces can then be more
|
141
189
|
easily used for running tests in parallel.
|
@@ -145,28 +193,10 @@ executables: []
|
|
145
193
|
extensions: []
|
146
194
|
extra_rdoc_files: []
|
147
195
|
files:
|
148
|
-
- ".gitignore"
|
149
|
-
- ".simplecov"
|
150
|
-
- ".travis.yml"
|
151
196
|
- CHANGELOG.md
|
152
|
-
- Gemfile
|
153
197
|
- LICENSE.txt
|
154
198
|
- README.md
|
155
|
-
- Rakefile
|
156
|
-
- appveyor.yml
|
157
199
|
- cuke_slicer.gemspec
|
158
|
-
- features/step_definitions/action_steps.rb
|
159
|
-
- features/step_definitions/setup_steps.rb
|
160
|
-
- features/step_definitions/verification_steps.rb
|
161
|
-
- features/support/env.rb
|
162
|
-
- features/tag_logic.feature
|
163
|
-
- features/test_case_extraction.feature
|
164
|
-
- features/test_case_filtering.feature
|
165
|
-
- features/validation.feature
|
166
|
-
- gemfiles/cuke_modeler0.gemfile
|
167
|
-
- gemfiles/cuke_modeler1.gemfile
|
168
|
-
- gemfiles/cuke_modeler2.gemfile
|
169
|
-
- gemfiles/cuke_modeler3.gemfile
|
170
200
|
- lib/cuke_slicer.rb
|
171
201
|
- lib/cuke_slicer/collections/nested_tag_collection.rb
|
172
202
|
- lib/cuke_slicer/collections/path_collection.rb
|
@@ -180,15 +210,20 @@ files:
|
|
180
210
|
- lib/cuke_slicer/helpers/matching_helpers.rb
|
181
211
|
- lib/cuke_slicer/slicer.rb
|
182
212
|
- lib/cuke_slicer/version.rb
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
186
|
-
-
|
213
|
+
- testing/cucumber/features/tag_logic.feature
|
214
|
+
- testing/cucumber/features/test_case_extraction.feature
|
215
|
+
- testing/cucumber/features/test_case_filtering.feature
|
216
|
+
- testing/cucumber/features/validation.feature
|
187
217
|
homepage: https://github.com/enkessler/cuke_slicer
|
188
218
|
licenses:
|
189
219
|
- MIT
|
190
|
-
metadata:
|
191
|
-
|
220
|
+
metadata:
|
221
|
+
bug_tracker_uri: https://github.com/enkessler/cuke_slicer/issues
|
222
|
+
changelog_uri: https://github.com/enkessler/cuke_slicer/blob/master/CHANGELOG.md
|
223
|
+
documentation_uri: https://www.rubydoc.info/gems/cuke_slicer
|
224
|
+
homepage_uri: https://github.com/enkessler/cuke_slicer
|
225
|
+
source_code_uri: https://github.com/enkessler/cuke_slicer
|
226
|
+
post_install_message:
|
192
227
|
rdoc_options: []
|
193
228
|
require_paths:
|
194
229
|
- lib
|
@@ -196,31 +231,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
196
231
|
requirements:
|
197
232
|
- - ">="
|
198
233
|
- !ruby/object:Gem::Version
|
199
|
-
version:
|
234
|
+
version: '2.3'
|
200
235
|
- - "<"
|
201
236
|
- !ruby/object:Gem::Version
|
202
|
-
version: '
|
237
|
+
version: '4.0'
|
203
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
204
239
|
requirements:
|
205
240
|
- - ">="
|
206
241
|
- !ruby/object:Gem::Version
|
207
242
|
version: '0'
|
208
243
|
requirements: []
|
209
|
-
|
210
|
-
|
211
|
-
signing_key:
|
244
|
+
rubygems_version: 3.2.32
|
245
|
+
signing_key:
|
212
246
|
specification_version: 4
|
213
247
|
summary: A gem for extracting test cases from a Cucumber test suite.
|
214
|
-
test_files:
|
215
|
-
- features/step_definitions/action_steps.rb
|
216
|
-
- features/step_definitions/setup_steps.rb
|
217
|
-
- features/step_definitions/verification_steps.rb
|
218
|
-
- features/support/env.rb
|
219
|
-
- features/tag_logic.feature
|
220
|
-
- features/test_case_extraction.feature
|
221
|
-
- features/test_case_filtering.feature
|
222
|
-
- features/validation.feature
|
223
|
-
- spec/cuke_slicer_spec.rb
|
224
|
-
- spec/slicer_integration_spec.rb
|
225
|
-
- spec/slicer_unit_spec.rb
|
226
|
-
- spec/spec_helper.rb
|
248
|
+
test_files: []
|
data/.gitignore
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
.bundle
|
4
|
-
.config
|
5
|
-
.yardoc
|
6
|
-
Gemfile.lock
|
7
|
-
InstalledFiles
|
8
|
-
_yardoc
|
9
|
-
coverage
|
10
|
-
doc/
|
11
|
-
lib/bundler/man
|
12
|
-
pkg
|
13
|
-
rdoc
|
14
|
-
spec/reports
|
15
|
-
test/tmp
|
16
|
-
test/version_tmp
|
17
|
-
tmp
|
18
|
-
*.bundle
|
19
|
-
*.so
|
20
|
-
*.o
|
21
|
-
*.a
|
22
|
-
mkmf.log
|
23
|
-
.idea/*
|
24
|
-
|
data/.simplecov
DELETED
data/.travis.yml
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
os:
|
2
|
-
- linux
|
3
|
-
- osx
|
4
|
-
|
5
|
-
language: ruby
|
6
|
-
rvm:
|
7
|
-
- 1.9.3
|
8
|
-
- 2.3.8
|
9
|
-
- 2.4.5
|
10
|
-
- 2.5.3
|
11
|
-
- 2.6.0
|
12
|
-
- jruby-9.1.7.0
|
13
|
-
|
14
|
-
gemfile:
|
15
|
-
- gemfiles/cuke_modeler0.gemfile
|
16
|
-
- gemfiles/cuke_modeler1.gemfile
|
17
|
-
- gemfiles/cuke_modeler2.gemfile
|
18
|
-
- gemfiles/cuke_modeler3.gemfile
|
19
|
-
|
20
|
-
matrix:
|
21
|
-
exclude:
|
22
|
-
# Travis does not provide 1.9.3 on OSX
|
23
|
-
- rvm: 1.9.3
|
24
|
-
os: osx
|
25
|
-
# Ruby 2.3.x for OSX is currently broken on TravisCI and is no longer a supported Ruby version, anyway.
|
26
|
-
- rvm: 2.3.8
|
27
|
-
os: osx
|
28
|
-
# cuke_modeler 3.x has a minimum Ruby version of 2.3
|
29
|
-
- rvm: 1.9.3
|
30
|
-
gemfile: gemfiles/cuke_modeler3.gemfile
|
31
|
-
|
32
|
-
|
33
|
-
script: bundle exec rake cuke_slicer:ci_build
|
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
require 'bundler/gem_tasks'
|
2
|
-
require 'rake'
|
3
|
-
require 'racatt'
|
4
|
-
require 'coveralls/rake/task'
|
5
|
-
require 'rainbow'
|
6
|
-
|
7
|
-
|
8
|
-
Rainbow.enabled = true
|
9
|
-
|
10
|
-
namespace 'racatt' do
|
11
|
-
Racatt.create_tasks
|
12
|
-
end
|
13
|
-
|
14
|
-
|
15
|
-
namespace 'cuke_slicer' do
|
16
|
-
|
17
|
-
desc 'Removes the current code coverage data'
|
18
|
-
task :clear_coverage do
|
19
|
-
code_coverage_directory = "#{File.dirname(__FILE__)}/coverage"
|
20
|
-
|
21
|
-
FileUtils.remove_dir(code_coverage_directory, true)
|
22
|
-
end
|
23
|
-
|
24
|
-
desc 'Check documentation with RDoc'
|
25
|
-
task :check_documentation do
|
26
|
-
output = `rdoc lib -C`
|
27
|
-
puts output
|
28
|
-
|
29
|
-
if output =~ /100.00% documented/
|
30
|
-
puts Rainbow('All code documented').green
|
31
|
-
else
|
32
|
-
raise Rainbow('Parts of the gem are undocumented').red
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
desc 'Check documentation with RDoc'
|
37
|
-
task :check_for_outdated_dependencies do
|
38
|
-
output = `bundle outdated`
|
39
|
-
puts output
|
40
|
-
|
41
|
-
if output =~ /requested/
|
42
|
-
raise Rainbow('Some dependencies are out of date!').red
|
43
|
-
else
|
44
|
-
puts Rainbow('All direct dependencies up to date!').green
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
desc 'Run all of the tests'
|
49
|
-
task :test_everything => [:clear_coverage] do
|
50
|
-
rspec_args = '--tag ~@wip --pattern "spec/**/*_spec.rb" --force-color'
|
51
|
-
|
52
|
-
cucumber_version = Gem.loaded_specs['cucumber'].version.version
|
53
|
-
|
54
|
-
if cucumber_version =~ /^[123]\./
|
55
|
-
cucumber_args = 'features -f progress -t ~@wip --color'
|
56
|
-
else
|
57
|
-
cucumber_args = "features -f progress -t 'not @wip' --color"
|
58
|
-
end
|
59
|
-
|
60
|
-
Rake::Task['racatt:test_everything'].invoke(rspec_args, cucumber_args)
|
61
|
-
end
|
62
|
-
|
63
|
-
# creates coveralls:push task
|
64
|
-
Coveralls::RakeTask.new
|
65
|
-
|
66
|
-
desc 'The task that CI will run. Do not run locally.'
|
67
|
-
task :ci_build => ['cuke_slicer:test_everything', 'coveralls:push']
|
68
|
-
|
69
|
-
desc 'Check that things look good before trying to release'
|
70
|
-
task :prerelease_check do
|
71
|
-
begin
|
72
|
-
Rake::Task['cuke_slicer:test_everything'].invoke
|
73
|
-
Rake::Task['cuke_slicer:check_documentation'].invoke
|
74
|
-
rescue => e
|
75
|
-
puts Rainbow("Something isn't right!").red
|
76
|
-
raise e
|
77
|
-
end
|
78
|
-
|
79
|
-
puts Rainbow('All is well. :)').green
|
80
|
-
end
|
81
|
-
|
82
|
-
end
|
83
|
-
|
84
|
-
|
85
|
-
task :default => 'cuke_slicer:test_everything'
|
data/appveyor.yml
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
version: '1.0.{build}'
|
2
|
-
|
3
|
-
environment:
|
4
|
-
matrix:
|
5
|
-
|
6
|
-
- RUBY_VERSION: 193
|
7
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
8
|
-
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
9
|
-
- RUBY_VERSION: 23
|
10
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
11
|
-
- RUBY_VERSION: 23-x64
|
12
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
13
|
-
- RUBY_VERSION: 24
|
14
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
15
|
-
- RUBY_VERSION: 24-x64
|
16
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
17
|
-
- RUBY_VERSION: 25
|
18
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
19
|
-
- RUBY_VERSION: 25-x64
|
20
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler0.gemfile
|
21
|
-
|
22
|
-
- RUBY_VERSION: 193
|
23
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
24
|
-
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
25
|
-
- RUBY_VERSION: 23
|
26
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
27
|
-
- RUBY_VERSION: 23-x64
|
28
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
29
|
-
- RUBY_VERSION: 24
|
30
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
31
|
-
- RUBY_VERSION: 24-x64
|
32
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
33
|
-
- RUBY_VERSION: 25
|
34
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
35
|
-
- RUBY_VERSION: 25-x64
|
36
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler1.gemfile
|
37
|
-
|
38
|
-
- RUBY_VERSION: 193
|
39
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
40
|
-
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
41
|
-
- RUBY_VERSION: 23
|
42
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
43
|
-
- RUBY_VERSION: 23-x64
|
44
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
45
|
-
- RUBY_VERSION: 24
|
46
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
47
|
-
- RUBY_VERSION: 24-x64
|
48
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
49
|
-
- RUBY_VERSION: 25
|
50
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
51
|
-
- RUBY_VERSION: 25-x64
|
52
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler2.gemfile
|
53
|
-
|
54
|
-
# CukeModeler 3.x requires at least Ruby 2.3
|
55
|
-
- RUBY_VERSION: 23
|
56
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler3.gemfile
|
57
|
-
- RUBY_VERSION: 23-x64
|
58
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler3.gemfile
|
59
|
-
- RUBY_VERSION: 24
|
60
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler3.gemfile
|
61
|
-
- RUBY_VERSION: 24-x64
|
62
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler3.gemfile
|
63
|
-
- RUBY_VERSION: 25
|
64
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler3.gemfile
|
65
|
-
- RUBY_VERSION: 25-x64
|
66
|
-
BUNDLE_GEMFILE: gemfiles/cuke_modeler3.gemfile
|
67
|
-
|
68
|
-
|
69
|
-
install:
|
70
|
-
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
71
|
-
- bundle install
|
72
|
-
|
73
|
-
build: off
|
74
|
-
|
75
|
-
before_test:
|
76
|
-
- ruby -v
|
77
|
-
- gem -v
|
78
|
-
- bundle -v
|
79
|
-
|
80
|
-
test_script:
|
81
|
-
- bundle exec rake cuke_slicer:ci_build
|
@@ -1,107 +0,0 @@
|
|
1
|
-
When(/^test cases are extracted from "([^"]*)"$/) do |target|
|
2
|
-
@output ||= {}
|
3
|
-
filters = {}
|
4
|
-
|
5
|
-
filters[:excluded_tags] = @excluded_tag_filters if @excluded_tag_filters
|
6
|
-
filters[:included_tags] = @included_tag_filters if @included_tag_filters
|
7
|
-
filters[:excluded_paths] = @excluded_path_filters if @excluded_path_filters
|
8
|
-
filters[:included_paths] = @included_path_filters if @included_path_filters
|
9
|
-
|
10
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", filters, :file_line, &@custom_filter)
|
11
|
-
end
|
12
|
-
|
13
|
-
When(/^test cases are extracted from it$/) do
|
14
|
-
@output ||= {}
|
15
|
-
filters = {}
|
16
|
-
target = @targets.first
|
17
|
-
@output_type ||= :file_line
|
18
|
-
|
19
|
-
begin
|
20
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", filters, @output_type)
|
21
|
-
rescue ArgumentError => e
|
22
|
-
@error_raised = e
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
When(/^test cases are extracted from them$/) do
|
27
|
-
@output ||= {}
|
28
|
-
filters = {}
|
29
|
-
|
30
|
-
@targets.each do |target|
|
31
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", filters, :file_line)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
When(/^test cases are extracted from "([^"]*)" using the following exclusive tag filters:$/) do |target, filters|
|
36
|
-
@output ||= {}
|
37
|
-
options = {}
|
38
|
-
|
39
|
-
options[:excluded_tags] = filters.raw.flatten.collect { |filter| process_filter(filter) }
|
40
|
-
|
41
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", options, :file_line)
|
42
|
-
end
|
43
|
-
|
44
|
-
When(/^test cases are extracted from "([^"]*)" using the following inclusive tag filters:$/) do |target, filters|
|
45
|
-
@output ||= {}
|
46
|
-
options = {}
|
47
|
-
|
48
|
-
options[:included_tags] = filters.raw.flatten.collect { |filter| process_filter(filter) }
|
49
|
-
|
50
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", options, :file_line)
|
51
|
-
end
|
52
|
-
|
53
|
-
When(/^test cases are extracted from "([^"]*)" using the following inclusive path filters:$/) do |target, filters|
|
54
|
-
@output ||= {}
|
55
|
-
options = {}
|
56
|
-
|
57
|
-
options[:included_paths] = filters.raw.flatten.collect { |filter| process_filter(filter) }
|
58
|
-
|
59
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", options, :file_line)
|
60
|
-
end
|
61
|
-
|
62
|
-
When(/^test cases are extracted from "([^"]*)" using the following exclusive path filters:$/) do |target, filters|
|
63
|
-
@output ||= {}
|
64
|
-
options = {}
|
65
|
-
|
66
|
-
options[:excluded_paths] = filters.raw.flatten.collect { |filter| process_filter(filter) }
|
67
|
-
|
68
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", options, :file_line)
|
69
|
-
end
|
70
|
-
|
71
|
-
When(/^test cases are extracted from "([^"]*)" using the following custom filter:$/) do |target, filter_block|
|
72
|
-
@output ||= {}
|
73
|
-
|
74
|
-
custom_filter = eval("Proc.new #{filter_block}")
|
75
|
-
|
76
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", :file_line, &custom_filter)
|
77
|
-
end
|
78
|
-
|
79
|
-
When(/^test cases are extracted from "([^"]*)" using "([^"]*)"$/) do |target, included_tag_filters|
|
80
|
-
@output ||= {}
|
81
|
-
options = {}
|
82
|
-
|
83
|
-
options[:included_tags] = eval("[#{included_tag_filters}]")
|
84
|
-
|
85
|
-
@output[target] = CukeSlicer::Slicer.new.slice("#{@default_file_directory}/#{target}", options, :file_line)
|
86
|
-
end
|
87
|
-
|
88
|
-
def process_filter(filter)
|
89
|
-
filter.sub!('path/to', @default_file_directory)
|
90
|
-
filter =~ /^\/.+\/$/ ? Regexp.new(filter.slice(1..-2)) : filter
|
91
|
-
end
|
92
|
-
|
93
|
-
When(/^it tries to extract test cases using an unknown filter type$/) do
|
94
|
-
begin
|
95
|
-
@slicer.slice(@default_file_directory, {unknown_filter: 'foo'}, :file_line)
|
96
|
-
rescue ArgumentError => e
|
97
|
-
@error_raised = e
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
When(/^it tries to extract test cases using an invalid filter$/) do
|
102
|
-
begin
|
103
|
-
@slicer.slice(@default_file_directory, {included_tags: 7}, :file_line)
|
104
|
-
rescue ArgumentError => e
|
105
|
-
@error_raised = e
|
106
|
-
end
|
107
|
-
end
|