spinach 0.10.1 → 0.12.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 +5 -5
 - data/.github/workflows/ci.yml +30 -0
 - data/.ruby-version +1 -1
 - data/.tool-versions +1 -0
 - data/Gemfile +0 -1
 - data/README.markdown +35 -38
 - data/Rakefile +1 -1
 - data/bin/spinach +1 -1
 - data/features/feature_hooks_and_tags.feature +22 -0
 - data/features/randomization.feature +16 -0
 - data/features/reporting/display_run_summary.feature +19 -3
 - data/features/steps/automatic_feature_generation.rb +1 -1
 - data/features/steps/feature_hooks_and_tags.rb +55 -0
 - data/features/steps/randomizing_features_scenarios.rb +68 -0
 - data/features/steps/reporting/display_run_summary.rb +29 -1
 - data/features/support/env.rb +0 -13
 - data/features/support/spinach_runner.rb +11 -0
 - data/lib/spinach/cli.rb +29 -2
 - data/lib/spinach/config.rb +25 -0
 - data/lib/spinach/feature.rb +8 -0
 - data/lib/spinach/orderers/default.rb +25 -0
 - data/lib/spinach/orderers/random.rb +35 -0
 - data/lib/spinach/orderers.rb +2 -0
 - data/lib/spinach/reporter/progress.rb +1 -1
 - data/lib/spinach/reporter/reporting.rb +3 -1
 - data/lib/spinach/reporter/stdout.rb +1 -1
 - data/lib/spinach/reporter.rb +1 -0
 - data/lib/spinach/runner/feature_runner.rb +7 -3
 - data/lib/spinach/runner.rb +40 -17
 - data/lib/spinach/scenario.rb +10 -0
 - data/lib/spinach/tags_matcher.rb +11 -2
 - data/lib/spinach/version.rb +1 -1
 - data/lib/spinach.rb +1 -0
 - data/spinach.gemspec +4 -5
 - data/test/spinach/cli_test.rb +39 -5
 - data/test/spinach/config_test.rb +22 -0
 - data/test/spinach/dsl_test.rb +1 -1
 - data/test/spinach/feature_test.rb +10 -0
 - data/test/spinach/generators/feature_generator_test.rb +1 -1
 - data/test/spinach/hooks_test.rb +1 -1
 - data/test/spinach/orderers/default_test.rb +31 -0
 - data/test/spinach/orderers/random_test.rb +39 -0
 - data/test/spinach/reporter_test.rb +2 -2
 - data/test/spinach/runner_test.rb +28 -8
 - data/test/spinach/scenario_test.rb +14 -0
 - data/test/test_helper.rb +1 -14
 - metadata +26 -40
 - data/.travis.yml +0 -8
 
    
        metadata
    CHANGED
    
    | 
         @@ -1,17 +1,17 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: spinach
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.12.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Josep Jaume Rey
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Josep M. Bach
         
     | 
| 
       9 
9 
     | 
    
         
             
            - Oriol Gual
         
     | 
| 
       10 
10 
     | 
    
         
             
            - Marc Divins Castellvi
         
     | 
| 
       11 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 11 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       12 
12 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       13 
13 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       14 
     | 
    
         
            -
            date:  
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2023-02-09 00:00:00.000000000 Z
         
     | 
| 
       15 
15 
     | 
    
         
             
            dependencies:
         
     | 
| 
       16 
16 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       17 
17 
     | 
    
         
             
              name: gherkin-ruby
         
     | 
| 
         @@ -41,20 +41,6 @@ dependencies: 
     | 
|
| 
       41 
41 
     | 
    
         
             
                - - ">="
         
     | 
| 
       42 
42 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       43 
43 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       44 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       45 
     | 
    
         
            -
              name: json
         
     | 
| 
       46 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       47 
     | 
    
         
            -
                requirements:
         
     | 
| 
       48 
     | 
    
         
            -
                - - ">="
         
     | 
| 
       49 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       50 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
       51 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       52 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       53 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       54 
     | 
    
         
            -
                requirements:
         
     | 
| 
       55 
     | 
    
         
            -
                - - ">="
         
     | 
| 
       56 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       57 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
       58 
44 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       59 
45 
     | 
    
         
             
              name: rake
         
     | 
| 
       60 
46 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -75,14 +61,14 @@ dependencies: 
     | 
|
| 
       75 
61 
     | 
    
         
             
                requirements:
         
     | 
| 
       76 
62 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       77 
63 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       78 
     | 
    
         
            -
                    version:  
     | 
| 
      
 64 
     | 
    
         
            +
                    version: 1.5.0
         
     | 
| 
       79 
65 
     | 
    
         
             
              type: :development
         
     | 
| 
       80 
66 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       81 
67 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       82 
68 
     | 
    
         
             
                requirements:
         
     | 
| 
       83 
69 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       84 
70 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       85 
     | 
    
         
            -
                    version:  
     | 
| 
      
 71 
     | 
    
         
            +
                    version: 1.5.0
         
     | 
| 
       86 
72 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       87 
73 
     | 
    
         
             
              name: sinatra
         
     | 
| 
       88 
74 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -125,20 +111,6 @@ dependencies: 
     | 
|
| 
       125 
111 
     | 
    
         
             
                - - ">="
         
     | 
| 
       126 
112 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       127 
113 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       128 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       129 
     | 
    
         
            -
              name: simplecov
         
     | 
| 
       130 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       131 
     | 
    
         
            -
                requirements:
         
     | 
| 
       132 
     | 
    
         
            -
                - - ">="
         
     | 
| 
       133 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       134 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
       135 
     | 
    
         
            -
              type: :development
         
     | 
| 
       136 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       137 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       138 
     | 
    
         
            -
                requirements:
         
     | 
| 
       139 
     | 
    
         
            -
                - - ">="
         
     | 
| 
       140 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       141 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
       142 
114 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       143 
115 
     | 
    
         
             
              name: rspec
         
     | 
| 
       144 
116 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -183,7 +155,6 @@ dependencies: 
     | 
|
| 
       183 
155 
     | 
    
         
             
                    version: 0.5.2
         
     | 
| 
       184 
156 
     | 
    
         
             
            description: Spinach is a BDD framework on top of gherkin
         
     | 
| 
       185 
157 
     | 
    
         
             
            email:
         
     | 
| 
       186 
     | 
    
         
            -
            - info@codegram.com
         
     | 
| 
       187 
158 
     | 
    
         
             
            - josep.m.bach@gmail.com
         
     | 
| 
       188 
159 
     | 
    
         
             
            - oriolgual@gmail.com
         
     | 
| 
       189 
160 
     | 
    
         
             
            - josepjaume@gmail.com
         
     | 
| 
         @@ -194,10 +165,11 @@ extensions: [] 
     | 
|
| 
       194 
165 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       195 
166 
     | 
    
         
             
            files:
         
     | 
| 
       196 
167 
     | 
    
         
             
            - ".document"
         
     | 
| 
      
 168 
     | 
    
         
            +
            - ".github/workflows/ci.yml"
         
     | 
| 
       197 
169 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       198 
170 
     | 
    
         
             
            - ".ruby-gemset"
         
     | 
| 
       199 
171 
     | 
    
         
             
            - ".ruby-version"
         
     | 
| 
       200 
     | 
    
         
            -
            - ". 
     | 
| 
      
 172 
     | 
    
         
            +
            - ".tool-versions"
         
     | 
| 
       201 
173 
     | 
    
         
             
            - CHANGELOG.md
         
     | 
| 
       202 
174 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       203 
175 
     | 
    
         
             
            - Guardfile
         
     | 
| 
         @@ -211,8 +183,10 @@ files: 
     | 
|
| 
       211 
183 
     | 
    
         
             
            - features/before_and_after_hooks_inheritance.feature
         
     | 
| 
       212 
184 
     | 
    
         
             
            - features/exit_status.feature
         
     | 
| 
       213 
185 
     | 
    
         
             
            - features/fail_fast.feature
         
     | 
| 
      
 186 
     | 
    
         
            +
            - features/feature_hooks_and_tags.feature
         
     | 
| 
       214 
187 
     | 
    
         
             
            - features/feature_name_guessing.feature
         
     | 
| 
       215 
188 
     | 
    
         
             
            - features/pending_steps.feature
         
     | 
| 
      
 189 
     | 
    
         
            +
            - features/randomization.feature
         
     | 
| 
       216 
190 
     | 
    
         
             
            - features/reporting/customized_reporter.feature
         
     | 
| 
       217 
191 
     | 
    
         
             
            - features/reporting/display_run_summary.feature
         
     | 
| 
       218 
192 
     | 
    
         
             
            - features/reporting/error_reporting.feature
         
     | 
| 
         @@ -228,8 +202,10 @@ files: 
     | 
|
| 
       228 
202 
     | 
    
         
             
            - features/steps/before_and_after_hooks_inheritance.rb
         
     | 
| 
       229 
203 
     | 
    
         
             
            - features/steps/exit_status.rb
         
     | 
| 
       230 
204 
     | 
    
         
             
            - features/steps/fail_fast_option.rb
         
     | 
| 
      
 205 
     | 
    
         
            +
            - features/steps/feature_hooks_and_tags.rb
         
     | 
| 
       231 
206 
     | 
    
         
             
            - features/steps/feature_name_guessing.rb
         
     | 
| 
       232 
207 
     | 
    
         
             
            - features/steps/pending_steps.rb
         
     | 
| 
      
 208 
     | 
    
         
            +
            - features/steps/randomizing_features_scenarios.rb
         
     | 
| 
       233 
209 
     | 
    
         
             
            - features/steps/reporting/display_run_summary.rb
         
     | 
| 
       234 
210 
     | 
    
         
             
            - features/steps/reporting/error_reporting.rb
         
     | 
| 
       235 
211 
     | 
    
         
             
            - features/steps/reporting/pending_feature_reporting.rb
         
     | 
| 
         @@ -263,6 +239,9 @@ files: 
     | 
|
| 
       263 
239 
     | 
    
         
             
            - lib/spinach/generators/step_generator.rb
         
     | 
| 
       264 
240 
     | 
    
         
             
            - lib/spinach/hookable.rb
         
     | 
| 
       265 
241 
     | 
    
         
             
            - lib/spinach/hooks.rb
         
     | 
| 
      
 242 
     | 
    
         
            +
            - lib/spinach/orderers.rb
         
     | 
| 
      
 243 
     | 
    
         
            +
            - lib/spinach/orderers/default.rb
         
     | 
| 
      
 244 
     | 
    
         
            +
            - lib/spinach/orderers/random.rb
         
     | 
| 
       266 
245 
     | 
    
         
             
            - lib/spinach/parser.rb
         
     | 
| 
       267 
246 
     | 
    
         
             
            - lib/spinach/parser/visitor.rb
         
     | 
| 
       268 
247 
     | 
    
         
             
            - lib/spinach/reporter.rb
         
     | 
| 
         @@ -293,6 +272,8 @@ files: 
     | 
|
| 
       293 
272 
     | 
    
         
             
            - test/spinach/generators_test.rb
         
     | 
| 
       294 
273 
     | 
    
         
             
            - test/spinach/hookable_test.rb
         
     | 
| 
       295 
274 
     | 
    
         
             
            - test/spinach/hooks_test.rb
         
     | 
| 
      
 275 
     | 
    
         
            +
            - test/spinach/orderers/default_test.rb
         
     | 
| 
      
 276 
     | 
    
         
            +
            - test/spinach/orderers/random_test.rb
         
     | 
| 
       296 
277 
     | 
    
         
             
            - test/spinach/parser/visitor_test.rb
         
     | 
| 
       297 
278 
     | 
    
         
             
            - test/spinach/parser_test.rb
         
     | 
| 
       298 
279 
     | 
    
         
             
            - test/spinach/reporter/failure_file_test.rb
         
     | 
| 
         @@ -314,7 +295,7 @@ homepage: http://github.com/codegram/spinach 
     | 
|
| 
       314 
295 
     | 
    
         
             
            licenses:
         
     | 
| 
       315 
296 
     | 
    
         
             
            - MIT
         
     | 
| 
       316 
297 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       317 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 298 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       318 
299 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       319 
300 
     | 
    
         
             
            require_paths:
         
     | 
| 
       320 
301 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -322,16 +303,15 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       322 
303 
     | 
    
         
             
              requirements:
         
     | 
| 
       323 
304 
     | 
    
         
             
              - - ">="
         
     | 
| 
       324 
305 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       325 
     | 
    
         
            -
                  version: ' 
     | 
| 
      
 306 
     | 
    
         
            +
                  version: '2.4'
         
     | 
| 
       326 
307 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       327 
308 
     | 
    
         
             
              requirements:
         
     | 
| 
       328 
309 
     | 
    
         
             
              - - ">="
         
     | 
| 
       329 
310 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       330 
311 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       331 
312 
     | 
    
         
             
            requirements: []
         
     | 
| 
       332 
     | 
    
         
            -
             
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
       334 
     | 
    
         
            -
            signing_key: 
         
     | 
| 
      
 313 
     | 
    
         
            +
            rubygems_version: 3.4.6
         
     | 
| 
      
 314 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       335 
315 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       336 
316 
     | 
    
         
             
            summary: Spinach is a BDD framework on top of gherkin
         
     | 
| 
       337 
317 
     | 
    
         
             
            test_files:
         
     | 
| 
         @@ -341,8 +321,10 @@ test_files: 
     | 
|
| 
       341 
321 
     | 
    
         
             
            - features/before_and_after_hooks_inheritance.feature
         
     | 
| 
       342 
322 
     | 
    
         
             
            - features/exit_status.feature
         
     | 
| 
       343 
323 
     | 
    
         
             
            - features/fail_fast.feature
         
     | 
| 
      
 324 
     | 
    
         
            +
            - features/feature_hooks_and_tags.feature
         
     | 
| 
       344 
325 
     | 
    
         
             
            - features/feature_name_guessing.feature
         
     | 
| 
       345 
326 
     | 
    
         
             
            - features/pending_steps.feature
         
     | 
| 
      
 327 
     | 
    
         
            +
            - features/randomization.feature
         
     | 
| 
       346 
328 
     | 
    
         
             
            - features/reporting/customized_reporter.feature
         
     | 
| 
       347 
329 
     | 
    
         
             
            - features/reporting/display_run_summary.feature
         
     | 
| 
       348 
330 
     | 
    
         
             
            - features/reporting/error_reporting.feature
         
     | 
| 
         @@ -358,8 +340,10 @@ test_files: 
     | 
|
| 
       358 
340 
     | 
    
         
             
            - features/steps/before_and_after_hooks_inheritance.rb
         
     | 
| 
       359 
341 
     | 
    
         
             
            - features/steps/exit_status.rb
         
     | 
| 
       360 
342 
     | 
    
         
             
            - features/steps/fail_fast_option.rb
         
     | 
| 
      
 343 
     | 
    
         
            +
            - features/steps/feature_hooks_and_tags.rb
         
     | 
| 
       361 
344 
     | 
    
         
             
            - features/steps/feature_name_guessing.rb
         
     | 
| 
       362 
345 
     | 
    
         
             
            - features/steps/pending_steps.rb
         
     | 
| 
      
 346 
     | 
    
         
            +
            - features/steps/randomizing_features_scenarios.rb
         
     | 
| 
       363 
347 
     | 
    
         
             
            - features/steps/reporting/display_run_summary.rb
         
     | 
| 
       364 
348 
     | 
    
         
             
            - features/steps/reporting/error_reporting.rb
         
     | 
| 
       365 
349 
     | 
    
         
             
            - features/steps/reporting/pending_feature_reporting.rb
         
     | 
| 
         @@ -387,6 +371,8 @@ test_files: 
     | 
|
| 
       387 
371 
     | 
    
         
             
            - test/spinach/generators_test.rb
         
     | 
| 
       388 
372 
     | 
    
         
             
            - test/spinach/hookable_test.rb
         
     | 
| 
       389 
373 
     | 
    
         
             
            - test/spinach/hooks_test.rb
         
     | 
| 
      
 374 
     | 
    
         
            +
            - test/spinach/orderers/default_test.rb
         
     | 
| 
      
 375 
     | 
    
         
            +
            - test/spinach/orderers/random_test.rb
         
     | 
| 
       390 
376 
     | 
    
         
             
            - test/spinach/parser/visitor_test.rb
         
     | 
| 
       391 
377 
     | 
    
         
             
            - test/spinach/parser_test.rb
         
     | 
| 
       392 
378 
     | 
    
         
             
            - test/spinach/reporter/failure_file_test.rb
         
     |