chutney 3.9.0 → 3.10.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/config/chutney_defaults.yml +46 -42
- data/lib/chutney/linter/avoid_colons_at_start_of_names.rb +17 -0
- data/lib/chutney/version.rb +1 -1
- data/lib/chutney.rb +1 -0
- data/lib/config/locales/en.yml +2 -0
- data/usechutney.com/_data/navigation.yml +4 -0
- data/usechutney.com/docs/rules/avoid-colons-at-start-of-names/index.md +28 -0
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6734d8a322d5394f40d363d0ad93def2424ea97be81f4a13cd7bb92c91ade597
|
|
4
|
+
data.tar.gz: 0146772a58c64cfa3aa8f7ab05861c94945d37abec3ff10c93bd3f653c9784b4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f869fc17e30cee78412fab391049971c81316937148e73dcd6111afb6d55a5c60e9ac5db24d36917b9be63556dd8ee63ea4b1d082f8fd4a8b3edb3bae037ba4
|
|
7
|
+
data.tar.gz: 87f372ffc4bcef3f514aef73ae971d8a5dd8545d6bd7897770e7c69808c11fd7f0740afd0befe271ef49274720e91da5a92a4913cd108737bf2e1fbe99f1dd5e
|
data/config/chutney_defaults.yml
CHANGED
|
@@ -1,80 +1,84 @@
|
|
|
1
|
+
AvoidColonsAtStartOfNames:
|
|
2
|
+
Enabled: true
|
|
3
|
+
AvoidCommaInTags:
|
|
4
|
+
Enabled: true
|
|
1
5
|
AvoidOutlineForSingleExample:
|
|
2
|
-
|
|
6
|
+
Enabled: true
|
|
3
7
|
AvoidFullStop:
|
|
4
|
-
|
|
8
|
+
Enabled: true
|
|
5
9
|
AvoidScripting:
|
|
6
|
-
|
|
10
|
+
Enabled: true
|
|
7
11
|
AvoidSplatStepsInBackground:
|
|
8
|
-
|
|
12
|
+
Enabled: true
|
|
9
13
|
AvoidSplatStepsInScenarios:
|
|
10
|
-
|
|
14
|
+
Enabled: true
|
|
11
15
|
AvoidTypographersQuotes:
|
|
12
|
-
|
|
16
|
+
Enabled: true
|
|
13
17
|
BackgroundDoesMoreThanSetup:
|
|
14
|
-
|
|
18
|
+
Enabled: true
|
|
15
19
|
BackgroundRequiresMultipleScenarios:
|
|
16
|
-
|
|
20
|
+
Enabled: true
|
|
17
21
|
BadScenarioName:
|
|
18
|
-
|
|
22
|
+
Enabled: true
|
|
19
23
|
EmptyFeatureFile:
|
|
20
|
-
|
|
24
|
+
Enabled: true
|
|
21
25
|
FileNameDiffersFeatureName:
|
|
22
|
-
|
|
26
|
+
Enabled: true
|
|
23
27
|
GivensAfterBackground:
|
|
24
|
-
|
|
28
|
+
Enabled: true
|
|
25
29
|
MissingExampleName:
|
|
26
|
-
|
|
30
|
+
Enabled: true
|
|
27
31
|
MissingExampleTable:
|
|
28
|
-
|
|
32
|
+
Enabled: true
|
|
29
33
|
MissingFeatureDescription:
|
|
30
|
-
|
|
34
|
+
Enabled: true
|
|
31
35
|
MissingFeatureName:
|
|
32
|
-
|
|
36
|
+
Enabled: true
|
|
33
37
|
MissingScenarioName:
|
|
34
|
-
|
|
38
|
+
Enabled: true
|
|
35
39
|
MissingScenarioOutline:
|
|
36
|
-
|
|
40
|
+
Enabled: true
|
|
37
41
|
MissingTestAction:
|
|
38
|
-
|
|
42
|
+
Enabled: true
|
|
39
43
|
MissingVerification:
|
|
40
|
-
|
|
44
|
+
Enabled: true
|
|
41
45
|
InconsistentQuoting:
|
|
42
|
-
|
|
46
|
+
Enabled: true
|
|
43
47
|
InvalidFileName:
|
|
44
|
-
|
|
48
|
+
Enabled: true
|
|
45
49
|
InvalidStepFlow:
|
|
46
|
-
|
|
50
|
+
Enabled: true
|
|
47
51
|
RequiredTagsStartsWith:
|
|
48
|
-
|
|
52
|
+
Enabled: false
|
|
49
53
|
SameTagDifferentCase:
|
|
50
|
-
|
|
54
|
+
Enabled: true
|
|
51
55
|
SameTagForAllScenarios:
|
|
52
|
-
|
|
56
|
+
Enabled: true
|
|
53
57
|
ScenarioNamesMatch:
|
|
54
|
-
|
|
58
|
+
Enabled: false
|
|
55
59
|
TagUsedMultipleTimes:
|
|
56
|
-
|
|
60
|
+
Enabled: true
|
|
57
61
|
TooClumsy:
|
|
58
|
-
|
|
62
|
+
Enabled: true
|
|
59
63
|
TooManyDifferentTags:
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
Enabled: true
|
|
65
|
+
MaxCount: 3
|
|
62
66
|
TooManySteps:
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
Enabled: true
|
|
68
|
+
MaxCount: 10
|
|
65
69
|
TooManyTags:
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
Enabled: true
|
|
71
|
+
MaxCount: 3
|
|
68
72
|
TooLongStep:
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
Enabled: true
|
|
74
|
+
MaxLength: 80
|
|
71
75
|
UniqueScenarioNames:
|
|
72
|
-
|
|
76
|
+
Enabled: true
|
|
73
77
|
UnknownVariable:
|
|
74
|
-
|
|
78
|
+
Enabled: true
|
|
75
79
|
UnusedVariable:
|
|
76
|
-
|
|
80
|
+
Enabled: true
|
|
77
81
|
UseBackground:
|
|
78
|
-
|
|
82
|
+
Enabled: true
|
|
79
83
|
UseOutline:
|
|
80
|
-
|
|
84
|
+
Enabled: true
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Chutney
|
|
4
|
+
# service class to lint for avoiding colons at the start of names
|
|
5
|
+
class AvoidColonsAtStartOfNames < Linter
|
|
6
|
+
def lint
|
|
7
|
+
add_issue(I18n.t('linters.avoid_colons_at_start_of_names'), feature) if feature.name.start_with? ':'
|
|
8
|
+
|
|
9
|
+
scenarios do |_feature, scenario|
|
|
10
|
+
if scenario.name.start_with? ':'
|
|
11
|
+
add_issue(I18n.t('linters.avoid_colons_at_start_of_names'), feature,
|
|
12
|
+
scenario)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/chutney/version.rb
CHANGED
data/lib/chutney.rb
CHANGED
|
@@ -4,6 +4,7 @@ require 'amatch'
|
|
|
4
4
|
|
|
5
5
|
require 'chutney/configuration'
|
|
6
6
|
require 'chutney/linter'
|
|
7
|
+
require 'chutney/linter/avoid_colons_at_start_of_names'
|
|
7
8
|
require 'chutney/linter/avoid_comma_in_tags'
|
|
8
9
|
require 'chutney/linter/avoid_full_stop'
|
|
9
10
|
require 'chutney/linter/avoid_outline_for_single_example'
|
data/lib/config/locales/en.yml
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
# God save the Queen, etc. etc.
|
|
4
4
|
en:
|
|
5
5
|
linters:
|
|
6
|
+
avoid_colons_at_start_of_names: >-
|
|
7
|
+
Avoid using colons at the start of names, it can make them hard to read or find.
|
|
6
8
|
avoid_comma_in_tags: >-
|
|
7
9
|
Avoid using commas in tags. Tags should be separated by spaces.
|
|
8
10
|
avoid_full_stop: >- # https://en.wikipedia.org/wiki/Full_stop
|
|
@@ -29,6 +29,10 @@ sidebar:
|
|
|
29
29
|
|
|
30
30
|
- title: "Rules"
|
|
31
31
|
children:
|
|
32
|
+
- title: "Avoid colons at start of names"
|
|
33
|
+
url: /docs/rules/avoid-colons-at-start-of-names/
|
|
34
|
+
- title: "Avoid comma in tags"
|
|
35
|
+
url: /docs/rules/avoid-comma-in-tags/
|
|
32
36
|
- title: "Avoid full stops"
|
|
33
37
|
url: /docs/rules/avoid-full-stops/
|
|
34
38
|
- title: "Avoid outline for single example"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Avoid Colons at Start of Names"
|
|
3
|
+
layout: single
|
|
4
|
+
permalink: /docs/rules/avoid-colons-at-start-of-names/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Don't have colons at the start of feature or scenario names. It's probably a mistake if you have them from double typing the colon after the `Feature` or `Scenario` keyword.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Bad
|
|
11
|
+
|
|
12
|
+
```gherkin
|
|
13
|
+
Feature: :My Feature
|
|
14
|
+
Scenario: :My Scenario
|
|
15
|
+
Given I have visited the website
|
|
16
|
+
When I log in
|
|
17
|
+
Then I will see my account
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Good
|
|
21
|
+
|
|
22
|
+
```gherkin
|
|
23
|
+
Feature: My Feature
|
|
24
|
+
Scenario: My Scenario
|
|
25
|
+
Given I have visited the website
|
|
26
|
+
When I log in
|
|
27
|
+
Then I will see my account
|
|
28
|
+
```
|
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: 3.
|
|
4
|
+
version: 3.10.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: 2024-11-
|
|
14
|
+
date: 2024-11-27 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: amatch
|
|
@@ -155,6 +155,7 @@ files:
|
|
|
155
155
|
- lib/chutney/formatter/rainbow_formatter.rb
|
|
156
156
|
- lib/chutney/issue.rb
|
|
157
157
|
- lib/chutney/linter.rb
|
|
158
|
+
- lib/chutney/linter/avoid_colons_at_start_of_names.rb
|
|
158
159
|
- lib/chutney/linter/avoid_comma_in_tags.rb
|
|
159
160
|
- lib/chutney/linter/avoid_full_stop.rb
|
|
160
161
|
- lib/chutney/linter/avoid_outline_for_single_example.rb
|
|
@@ -214,6 +215,7 @@ files:
|
|
|
214
215
|
- usechutney.com/docs/disabling-rules/index.md
|
|
215
216
|
- usechutney.com/docs/installing/index.md
|
|
216
217
|
- usechutney.com/docs/language-server/index.md
|
|
218
|
+
- usechutney.com/docs/rules/avoid-colons-at-start-of-names/index.md
|
|
217
219
|
- usechutney.com/docs/rules/avoid-comma-in-tags/index.md
|
|
218
220
|
- usechutney.com/docs/rules/avoid-full-stops/index.md
|
|
219
221
|
- usechutney.com/docs/rules/avoid-outline-for-single-example/index.md
|
|
@@ -279,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
279
281
|
- !ruby/object:Gem::Version
|
|
280
282
|
version: '0'
|
|
281
283
|
requirements: []
|
|
282
|
-
rubygems_version: 3.5.
|
|
284
|
+
rubygems_version: 3.5.23
|
|
283
285
|
signing_key:
|
|
284
286
|
specification_version: 4
|
|
285
287
|
summary: A linter for multi-lingual Gherkin
|