chutney 3.8.1 → 3.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/chutney.gemspec +1 -1
- data/docs/index.md +3 -0
- data/lib/chutney/linter/avoid_comma_in_tags.rb +18 -0
- data/lib/chutney/linter/too_clumsy.rb +1 -1
- data/lib/chutney/lsp/server.rb +2 -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/_config.yml +14 -13
- data/usechutney.com/docs/language-server/index.md +5 -1
- data/usechutney.com/docs/rules/avoid-comma-in-tags/index.md +26 -0
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fb7860cfd94d79eb4aae1f69269c7aa0178d81cb155844dac4b67905e5caf55
|
4
|
+
data.tar.gz: 710d27816dfa2226e9b5384e88c7cd568a6096bea8e9078bd1898ee4eab5f218
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7d58d734669f76a342c4a570c1cca7ae179d1439f0426b256f673f48772a3709bec4e327ca6ee5e198493d4e5951ab4158e68d4bb333f70ce6def94f7aa0acf
|
7
|
+
data.tar.gz: e71d49b4ef0d6a6acbb21e601d8cd6ec55b100bcc63ac87199b8aace0b43e28d53279f68c9a38f6f620f30511d22dc86b48f1e70decec3e898f32038bea742de
|
data/chutney.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
'files. ' \
|
23
23
|
'It supports any spoken language Cucumber supports.'
|
24
24
|
|
25
|
-
spec.homepage = 'https://
|
25
|
+
spec.homepage = 'https://www.usechutney.com/'
|
26
26
|
spec.license = 'MIT'
|
27
27
|
|
28
28
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
data/docs/index.md
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Chutney
|
4
|
+
# service class to lint for too many tags
|
5
|
+
class AvoidCommaInTags < Linter
|
6
|
+
def lint
|
7
|
+
scenarios do |feature, scenario|
|
8
|
+
tags = tags_for(feature) + tags_for(scenario)
|
9
|
+
next unless tags.any? { |tag| tag.include?(',') }
|
10
|
+
|
11
|
+
add_issue(
|
12
|
+
I18n.t('linters.avoid_comma_in_tags'),
|
13
|
+
feature
|
14
|
+
)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -8,7 +8,7 @@ module Chutney
|
|
8
8
|
def lint
|
9
9
|
filled_scenarios do |feature, scenario|
|
10
10
|
characters = scenario.steps.map { |step| step.text.length }.inject(0, :+)
|
11
|
-
next if characters
|
11
|
+
next if characters <= 400
|
12
12
|
|
13
13
|
add_issue(
|
14
14
|
I18n.t('linters.too_clumsy', length: characters), feature, scenario
|
data/lib/chutney/lsp/server.rb
CHANGED
@@ -134,6 +134,8 @@ module Chutney
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def to_range(location)
|
137
|
+
return { start: { character: 0, line: 0 }, end: { character: 0, line: 0 } } unless location
|
138
|
+
|
137
139
|
{
|
138
140
|
start: { character: location.fetch(:column, 1) - 1, line: location.fetch(:line, 1) - 1 },
|
139
141
|
end: { character: 0, line: location.fetch(:line, 1) }
|
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_comma_in_tags'
|
7
8
|
require 'chutney/linter/avoid_full_stop'
|
8
9
|
require 'chutney/linter/avoid_outline_for_single_example'
|
9
10
|
require 'chutney/linter/avoid_scripting'
|
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_comma_in_tags: >-
|
7
|
+
Avoid using commas in tags. Tags should be separated by spaces.
|
6
8
|
avoid_full_stop: >- # https://en.wikipedia.org/wiki/Full_stop
|
7
9
|
Avoid using a full-stop in steps so that it is easier to re-use them.
|
8
10
|
avoid_outline_for_single_example: >-
|
data/usechutney.com/_config.yml
CHANGED
@@ -74,7 +74,7 @@ masthead_title: # overrides the website title displayed in the masthead, use " "
|
|
74
74
|
breadcrumbs: # true, false (default)
|
75
75
|
words_per_minute: 200
|
76
76
|
enable_copy_code_button: true # true, false (default)
|
77
|
-
copyright: # "copyright" name, defaults to site.title
|
77
|
+
copyright: Nigel Brookes-Thomas # "copyright" name, defaults to site.title
|
78
78
|
copyright_url: # "copyright" URL, defaults to site.url
|
79
79
|
comments:
|
80
80
|
provider: # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom"
|
@@ -159,17 +159,18 @@ author:
|
|
159
159
|
# url: "https://instagram.com/"
|
160
160
|
|
161
161
|
# Site Footer
|
162
|
-
|
163
|
-
|
164
|
-
# - label: "Twitter"
|
165
|
-
# icon: "fab fa-fw fa-twitter-square"
|
166
|
-
# # url:
|
167
|
-
# - label: "Facebook"
|
168
|
-
# icon: "fab fa-fw fa-facebook-square"
|
169
|
-
# # url:
|
170
|
-
|
171
|
-
|
172
|
-
|
162
|
+
footer:
|
163
|
+
links:
|
164
|
+
# - label: "Twitter"
|
165
|
+
# icon: "fab fa-fw fa-twitter-square"
|
166
|
+
# # url:
|
167
|
+
# - label: "Facebook"
|
168
|
+
# icon: "fab fa-fw fa-facebook-square"
|
169
|
+
# # url:
|
170
|
+
|
171
|
+
- label: "GitHub"
|
172
|
+
icon: "fab fa-fw fa-github"
|
173
|
+
url: https://github.com/BillyRuffian/chutney
|
173
174
|
# - label: "GitLab"
|
174
175
|
# icon: "fab fa-fw fa-gitlab"
|
175
176
|
# # url:
|
@@ -216,7 +217,7 @@ paginate_path: /page:num/
|
|
216
217
|
# for configuration details
|
217
218
|
pagination:
|
218
219
|
# Set enabled to true to use paginate v2
|
219
|
-
enabled:
|
220
|
+
enabled: false
|
220
221
|
debug: false
|
221
222
|
collection: "posts"
|
222
223
|
per_page: 10
|
@@ -21,4 +21,8 @@ It will listen for open / close and save events to evaluate the current feature
|
|
21
21
|
|
22
22
|
## Editor integrations
|
23
23
|
|
24
|
-
|
24
|
+
### VS Code
|
25
|
+
|
26
|
+
[vscode-chutney](https://github.com/BillyRuffian/vscode-chutney) adds Chutney LSP integration into VS Code,
|
27
|
+
|
28
|
+
You can install this extension from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=NigelBrookes-Thomas.vscode-chutney).
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
title: "Avoid Comma in Tags"
|
3
|
+
layout: single
|
4
|
+
permalink: /docs/rules/avoid-comma-in-tags/
|
5
|
+
---
|
6
|
+
|
7
|
+
Don't put a comma in tags. It's probably a mistake if you have them from trying write a list of tags but the comma will form part of the name and makes it hard to include or exclude the tag from a Cucumber run.
|
8
|
+
|
9
|
+
|
10
|
+
## Bad
|
11
|
+
|
12
|
+
```gherkin
|
13
|
+
@web, @login
|
14
|
+
Given I have visited the website
|
15
|
+
When I log in.
|
16
|
+
Then I will see my account
|
17
|
+
```
|
18
|
+
|
19
|
+
## Good
|
20
|
+
|
21
|
+
```gherkin
|
22
|
+
@web @login
|
23
|
+
Given I have visited the website
|
24
|
+
When I log in
|
25
|
+
Then I will see my account
|
26
|
+
```
|
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.9.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-
|
14
|
+
date: 2024-11-19 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_comma_in_tags.rb
|
158
159
|
- lib/chutney/linter/avoid_full_stop.rb
|
159
160
|
- lib/chutney/linter/avoid_outline_for_single_example.rb
|
160
161
|
- lib/chutney/linter/avoid_scripting.rb
|
@@ -213,6 +214,7 @@ files:
|
|
213
214
|
- usechutney.com/docs/disabling-rules/index.md
|
214
215
|
- usechutney.com/docs/installing/index.md
|
215
216
|
- usechutney.com/docs/language-server/index.md
|
217
|
+
- usechutney.com/docs/rules/avoid-comma-in-tags/index.md
|
216
218
|
- usechutney.com/docs/rules/avoid-full-stops/index.md
|
217
219
|
- usechutney.com/docs/rules/avoid-outline-for-single-example/index.md
|
218
220
|
- usechutney.com/docs/rules/avoid-scripting/index.md
|
@@ -255,11 +257,11 @@ files:
|
|
255
257
|
- usechutney.com/pages/404.html
|
256
258
|
- usechutney.com/pages/about/index.md
|
257
259
|
- usechutney.com/pages/index.markdown
|
258
|
-
homepage: https://
|
260
|
+
homepage: https://www.usechutney.com/
|
259
261
|
licenses:
|
260
262
|
- MIT
|
261
263
|
metadata:
|
262
|
-
homepage_uri: https://
|
264
|
+
homepage_uri: https://www.usechutney.com/
|
263
265
|
source_code_uri: https://github.com/BillyRuffian/chutney
|
264
266
|
changelog_uri: https://github.com/BillyRuffian/chutney/releases
|
265
267
|
post_install_message:
|
@@ -277,7 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
279
|
- !ruby/object:Gem::Version
|
278
280
|
version: '0'
|
279
281
|
requirements: []
|
280
|
-
rubygems_version: 3.5.
|
282
|
+
rubygems_version: 3.5.19
|
281
283
|
signing_key:
|
282
284
|
specification_version: 4
|
283
285
|
summary: A linter for multi-lingual Gherkin
|