chutney 0.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +40 -39
- data/chutney.gemspec +2 -1
- data/lib/chutney/version.rb +1 -1
- data/spec/configuration_spec.rb +2 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8bc9337fd1120b47c6240548eef0890f55fdc5c0512540e087e0054e1cc5382
|
4
|
+
data.tar.gz: f79f72dd8c83173f48581b4ee9e2785aac7ae8009dbe2d92a569a39c09025e3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f2ba192db1ab5d8cab0a8d2a806363bca59235bc8776bc33f1727b7ab8e3e880b96e0192319f0cccb8e36a5c6ef5b141d26468dce6362cd69839f1fdc24c08d
|
7
|
+
data.tar.gz: 662ed62e0777f3dc493e52f14a2703b57ab2a71a1487f5716bf248ecfae8488b6049530935458de42bec0eada88544fdb521e3b9b82f7fbaad74b7d05e615a06
|
data/README.md
CHANGED
@@ -1,24 +1,26 @@
|
|
1
1
|
# Lint Gherkin Files
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
[![Code Climate](https://codeclimate.com/github/funkwerk/gherkin_lint/badges/gpa.svg)](https://codeclimate.com/github/funkwerk/gherkin_lint)
|
6
|
-
[![Docker Build](https://img.shields.io/docker/automated/gherkin/lint.svg)](https://hub.docker.com/r/gherkin/lint/)
|
7
|
-
[![Downloads](https://img.shields.io/gem/dt/gherkin_lint.svg)](https://rubygems.org/gems/gherkin_lint)
|
8
|
-
[![Latest Tag](https://img.shields.io/github/tag/funkwerk/gherkin_lint.svg)](https://rubygems.org/gems/gherkin_lint)
|
3
|
+
![CircleCI branch](https://img.shields.io/circleci/project/github/BillyRuffian/chutney/master.svg?style=flat-square)
|
4
|
+
![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/BillyRuffian/chutney.svg?style=flat-square)
|
9
5
|
|
10
6
|
This tool lints gherkin files.
|
11
7
|
|
8
|
+
## Background
|
9
|
+
|
10
|
+
This gem is a fork of [gherkin_lint](https://github.com/funkwerk/gherkin_lint) which seems to have been abandoned. There's a lot of good stuff in that gem, hence this fork. I've dusted it off, bumped the dependencies (we now depend on the Cucumber 3.x version's monogem) and pushed it to RubyGems as `chutney`.
|
11
|
+
|
12
|
+
See also [cuke_linter](https://github.com/enkessler/cuke_linter) as a promising linter.
|
13
|
+
|
12
14
|
## Usage
|
13
15
|
|
14
|
-
run `
|
16
|
+
run `chutney` on a list of files
|
15
17
|
|
16
|
-
|
18
|
+
chutney -f '<wild_card_path>' #default is `features/**/*.feature`
|
17
19
|
|
18
20
|
With `--disable CHECK` or `--enable CHECK` it's possible to disable respectivly enable program wide checks except when a linter requires additional values to be set in order to be valid. Currently only RequiredTagStartsWith meets this criteria.
|
19
21
|
|
20
22
|
Checks could be disabled using tags within Feature Files. To do so, add @disableCHECK.
|
21
|
-
Detailed usage within the [disable_tags](https://github.com/
|
23
|
+
Detailed usage within the [disable_tags](https://github.com/BillyRuffian/chutney/blob/master/features/disable_tags.feature) feature.
|
22
24
|
|
23
25
|
### Usage with Docker
|
24
26
|
|
@@ -30,34 +32,33 @@ This will mount the current directory within the Gherkin Lint Docker Container a
|
|
30
32
|
|
31
33
|
## Checks
|
32
34
|
|
33
|
-
- [avoid outline for single example](https://github.com/
|
34
|
-
- [avoid period](https://github.com/
|
35
|
-
- [avoid scripting](https://github.com/
|
36
|
-
- [be declarative](https://github.com/
|
37
|
-
- [background does more than setup](https://github.com/
|
38
|
-
- [background requires scenario](https://github.com/
|
39
|
-
- [bad scenario name](https://github.com/
|
40
|
-
- [file name differs feature name](https://github.com/
|
41
|
-
- [invalid file name](https://github.com/
|
42
|
-
- [invalid step flow](https://github.com/
|
43
|
-
- [missing example name](https://github.com/
|
44
|
-
- [missing feature description](https://github.com/
|
45
|
-
- [missing feature name](https://github.com/
|
46
|
-
- [missing scenario name](https://github.com/
|
47
|
-
- [missing test action](https://github.com/
|
48
|
-
- [missing verification](https://github.com/
|
49
|
-
- [
|
50
|
-
- [
|
51
|
-
- [
|
52
|
-
- [too
|
53
|
-
- [too
|
54
|
-
- [too many
|
55
|
-
- [too many
|
56
|
-
- [
|
57
|
-
- [
|
58
|
-
- [
|
59
|
-
- [use
|
60
|
-
- [use outline](https://github.com/funkwerk/gherkin_lint/blob/master/features/use_outline.feature)
|
35
|
+
- [avoid outline for single example](https://github.com/BillyRuffian/chutney/blob/master/features/avoid_outline_for_single_example.feature)
|
36
|
+
- [avoid period](https://github.com/BillyRuffian/chutney/blob/master/features/avoid_period.feature)
|
37
|
+
- [avoid scripting](https://github.com/BillyRuffian/chutney/blob/master/features/avoid_scripting.feature)
|
38
|
+
- [be declarative](https://github.com/BillyRuffian/chutney/blob/master/features/be_declarative.feature)
|
39
|
+
- [background does more than setup](https://github.com/BillyRuffian/chutney/blob/master/features/background_does_more_than_setup.feature)
|
40
|
+
- [background requires scenario](https://github.com/BillyRuffian/chutney/blob/master/features/background_requires_scenario.feature)
|
41
|
+
- [bad scenario name](https://github.com/BillyRuffian/chutney/blob/master/features/bad_scenario_name.feature)
|
42
|
+
- [file name differs feature name](https://github.com/BillyRuffian/chutney/blob/master/features/file_name_differs_feature_name.feature)
|
43
|
+
- [invalid file name](https://github.com/BillyRuffian/chutney/blob/master/features/invalid_file_name.feature)
|
44
|
+
- [invalid step flow](https://github.com/BillyRuffian/chutney/blob/master/features/invalid_step_flow.feature)
|
45
|
+
- [missing example name](https://github.com/BillyRuffian/chutney/blob/master/features/missing_example_name.feature)
|
46
|
+
- [missing feature description](https://github.com/BillyRuffian/chutney/blob/master/features/missing_feature_description.feature)
|
47
|
+
- [missing feature name](https://github.com/BillyRuffian/chutney/blob/master/features/missing_feature_name.feature)
|
48
|
+
- [missing scenario name](https://github.com/BillyRuffian/chutney/blob/master/features/missing_scenario_name.feature)
|
49
|
+
- [missing test action](https://github.com/BillyRuffian/chutney/blob/master/features/missing_test_action.feature)
|
50
|
+
- [missing verification](https://github.com/BillyRuffian/chutney/blob/master/features/missing_verification.feature)
|
51
|
+
- [same tag for all scenarios](https://github.com/BillyRuffian/chutney/blob/master/features/same_tag_for_all_scenarios.feature)
|
52
|
+
- [tag used multiple times](https://github.com/BillyRuffian/chutney/blob/master/features/tag_used_multiple_times.feature)
|
53
|
+
- [too clumsy](https://github.com/BillyRuffian/chutney/blob/master/features/too_clumsy.feature)
|
54
|
+
- [too long step](https://github.com/BillyRuffian/chutney/blob/master/features/too_long_step.feature)
|
55
|
+
- [too many different tags](https://github.com/BillyRuffian/chutney/blob/master/features/too_many_different_tags.feature)
|
56
|
+
- [too many steps](https://github.com/BillyRuffian/chutney/blob/master/features/too_many_steps.feature)
|
57
|
+
- [too many tags](https://github.com/BillyRuffian/chutney/blob/master/features/too_many_tags.feature)
|
58
|
+
- [unique scenario names](https://github.com/BillyRuffian/chutney/blob/master/features/unique_scenario_names.feature)
|
59
|
+
- [unknown variable](https://github.com/BillyRuffian/chutney/blob/master/features/unknown_variable.feature)
|
60
|
+
- [use background](https://github.com/BillyRuffian/chutney/blob/master/features/use_background.feature)
|
61
|
+
- [use outline](https://github.com/BillyRuffian/chutney/blob/master/features/use_outline.feature)
|
61
62
|
|
62
63
|
## Errors and Warnings
|
63
64
|
|
@@ -76,9 +77,9 @@ If there is at least one error, the returncode will be set to ERROR (!= 0).
|
|
76
77
|
|
77
78
|
Install it with:
|
78
79
|
|
79
|
-
`sudo gem install
|
80
|
+
`sudo gem install chutney`
|
80
81
|
|
81
|
-
After that `
|
82
|
+
After that `chutney` executable is available.
|
82
83
|
|
83
84
|
## Configuration
|
84
85
|
If you have a custom configuration you'd like to run on a regular basis instead of passing enable and disable flags through the CLI on every run, you can configure a ```.chutney.yml``` file that will be loaded on execution. The format and available linters are in [```config/default.yml```](config/default.yml)
|
data/chutney.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
|
15
15
|
spec.summary = 'A linter for English language Gherkin'
|
16
16
|
spec.description = 'A fork of gherkin_lint (https://github.com/funkwerk/gherkin_lint) ' \
|
17
|
-
|
17
|
+
'which is no-longer being actively maintained'
|
18
18
|
|
19
19
|
spec.homepage = 'https://github.com/BillyRuffian/chutney'
|
20
20
|
spec.license = 'MIT'
|
@@ -50,5 +50,6 @@ Gem::Specification.new do |spec|
|
|
50
50
|
|
51
51
|
spec.add_development_dependency 'aruba', '~> 0.14.0'
|
52
52
|
spec.add_development_dependency 'rubocop', '~> 0.68.0'
|
53
|
+
spec.add_development_dependency 'rspec', '~> 3.8'
|
53
54
|
|
54
55
|
end
|
data/lib/chutney/version.rb
CHANGED
data/spec/configuration_spec.rb
CHANGED
@@ -34,8 +34,8 @@ describe Chutney::Configuration do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'should load a file from the config path but fail to parse' do
|
37
|
-
expect { subject.load_configuration }.to raise_error
|
38
|
-
expect { subject.config }.to raise_error
|
37
|
+
expect { subject.load_configuration }.to raise_error Psych::SyntaxError
|
38
|
+
expect { subject.config }.to raise_error Psych::SyntaxError
|
39
39
|
end
|
40
40
|
end
|
41
41
|
context 'when a valid YAML file is present' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chutney
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nigel Brookes-Thomas
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-05-
|
14
|
+
date: 2019-05-09 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: amatch
|
@@ -111,6 +111,20 @@ dependencies:
|
|
111
111
|
- - "~>"
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: 0.68.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: rspec
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '3.8'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '3.8'
|
114
128
|
description: A fork of gherkin_lint (https://github.com/funkwerk/gherkin_lint) which
|
115
129
|
is no-longer being actively maintained
|
116
130
|
email:
|