chutney 3.12.2 → 3.12.3

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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/chutney.gemspec +3 -3
  3. data/lib/chutney/version.rb +1 -1
  4. data/spec/chutney_mcp_spec.rb +0 -0
  5. data/usechutney.com.site/.gitignore +2 -0
  6. data/usechutney.com.site/site/assets/favicons/android-chrome-192x192.png +0 -0
  7. data/usechutney.com.site/site/assets/favicons/android-chrome-512x512.png +0 -0
  8. data/usechutney.com.site/site/assets/favicons/apple-touch-icon.png +0 -0
  9. data/usechutney.com.site/site/assets/favicons/favicon-16x16.png +0 -0
  10. data/usechutney.com.site/site/assets/favicons/favicon-32x32.png +0 -0
  11. data/usechutney.com.site/site/assets/favicons/favicon.ico +0 -0
  12. data/usechutney.com.site/site/assets/favicons/site.webmanifest +19 -0
  13. data/usechutney.com.site/site/assets/styles.css +298 -0
  14. data/{usechutney.com/pages/about/index.md → usechutney.com.site/site/src/about.page.md} +1 -6
  15. data/{usechutney.com/docs/configuration/index.md → usechutney.com.site/site/src/docs/configuration.page.md} +2 -6
  16. data/{usechutney.com/docs/disabling-rules/index.md → usechutney.com.site/site/src/docs/disabling-rules.page.md} +2 -6
  17. data/usechutney.com.site/site/src/docs/index.page.md +17 -0
  18. data/{usechutney.com/docs/installing/index.md → usechutney.com.site/site/src/docs/installing.page.md} +2 -6
  19. data/{usechutney.com/docs/language-server/index.md → usechutney.com.site/site/src/docs/language-server.page.md} +3 -8
  20. data/{usechutney.com/docs/mcp/index.md → usechutney.com.site/site/src/docs/mcp.page.md} +3 -8
  21. data/{usechutney.com/docs/rules/avoid-colons-at-start-of-names/index.md → usechutney.com.site/site/src/docs/rules/avoid-colons-at-start-of-names.page.md} +2 -6
  22. data/{usechutney.com/docs/rules/avoid-comma-in-tags/index.md → usechutney.com.site/site/src/docs/rules/avoid-comma-in-tags.page.md} +2 -6
  23. data/{usechutney.com/docs/rules/avoid-full-stops/index.md → usechutney.com.site/site/src/docs/rules/avoid-full-stops.page.md} +2 -6
  24. data/{usechutney.com/docs/rules/avoid-outline-for-single-example/index.md → usechutney.com.site/site/src/docs/rules/avoid-outline-for-single-example.page.md} +2 -6
  25. data/{usechutney.com/docs/rules/avoid-scripting/index.md → usechutney.com.site/site/src/docs/rules/avoid-scripting.page.md} +2 -6
  26. data/{usechutney.com/docs/rules/avoid-splat-steps-in-background/index.md → usechutney.com.site/site/src/docs/rules/avoid-splat-steps-in-background.page.md} +2 -6
  27. data/{usechutney.com/docs/rules/avoid-splat-steps-in-scenarios/index.md → usechutney.com.site/site/src/docs/rules/avoid-splat-steps-in-scenarios.page.md} +2 -6
  28. data/{usechutney.com/docs/rules/avoid-typographers-quotes/index.md → usechutney.com.site/site/src/docs/rules/avoid-typographers-quotes.page.md} +2 -6
  29. data/{usechutney.com/docs/rules/background-does-more-than-setup/index.md → usechutney.com.site/site/src/docs/rules/background-does-more-than-setup.page.md} +2 -6
  30. data/{usechutney.com/docs/rules/background-requires-multiple-scenarios/index.md → usechutney.com.site/site/src/docs/rules/background-requires-multiple-scenarios.page.md} +2 -6
  31. data/{usechutney.com/docs/rules/bad-scenario-name/index.md → usechutney.com.site/site/src/docs/rules/bad-scenario-name.page.md} +2 -6
  32. data/usechutney.com.site/site/src/docs/rules/empty-feature-file.page.md +3 -0
  33. data/{usechutney.com/docs/rules/file-name-differs-feature-name/index.md → usechutney.com.site/site/src/docs/rules/file-name-differs-feature-name.page.md} +2 -6
  34. data/{usechutney.com/docs/rules/givens-after-background/index.md → usechutney.com.site/site/src/docs/rules/givens-after-background.page.md} +2 -6
  35. data/{usechutney.com/docs/rules/inconsistent-quoting/index.md → usechutney.com.site/site/src/docs/rules/inconsistent-quoting.page.md} +2 -6
  36. data/usechutney.com.site/site/src/docs/rules/index.page.md +43 -0
  37. data/{usechutney.com/docs/rules/invalid-step-flow/index.md → usechutney.com.site/site/src/docs/rules/invalid-step-flow.page.md} +2 -6
  38. data/{usechutney.com/docs/rules/invalid_file_name/index.md → usechutney.com.site/site/src/docs/rules/invalid_file_name.page.md} +2 -6
  39. data/{usechutney.com/docs/rules/missing-example-name/index.md → usechutney.com.site/site/src/docs/rules/missing-example-name.page.md} +2 -6
  40. data/{usechutney.com/docs/rules/missing-example-table/index.md → usechutney.com.site/site/src/docs/rules/missing-example-table.page.md} +2 -6
  41. data/{usechutney.com/docs/rules/missing-feature-description/index.md → usechutney.com.site/site/src/docs/rules/missing-feature-description.page.md} +2 -6
  42. data/{usechutney.com/docs/rules/missing-feature-name/index.md → usechutney.com.site/site/src/docs/rules/missing-feature-name.page.md} +2 -6
  43. data/{usechutney.com/docs/rules/missing-scenario-name/index.md → usechutney.com.site/site/src/docs/rules/missing-scenario-name.page.md} +2 -6
  44. data/{usechutney.com/docs/rules/missing-scenario-outline/index.md → usechutney.com.site/site/src/docs/rules/missing-scenario-outline.page.md} +2 -6
  45. data/{usechutney.com/docs/rules/missing-test-action/index.md → usechutney.com.site/site/src/docs/rules/missing-test-action.page.md} +2 -6
  46. data/{usechutney.com/docs/rules/missing-test-verification/index.md → usechutney.com.site/site/src/docs/rules/missing-test-verification.page.md} +2 -6
  47. data/{usechutney.com/docs/rules/required-tag-starts-with/index.md → usechutney.com.site/site/src/docs/rules/required-tag-starts-with.page.md} +2 -6
  48. data/{usechutney.com/docs/rules/same-scenario/index.md → usechutney.com.site/site/src/docs/rules/same-scenario.page.md} +2 -7
  49. data/{usechutney.com/docs/rules/same-tag-different-case/index.md → usechutney.com.site/site/src/docs/rules/same-tag-different-case.page.md} +2 -6
  50. data/{usechutney.com/docs/rules/same-tag-for-all-scenarios/index.md → usechutney.com.site/site/src/docs/rules/same-tag-for-all-scenarios.page.md} +2 -6
  51. data/{usechutney.com/docs/rules/scenario-names-match/index.md → usechutney.com.site/site/src/docs/rules/scenario-names-match.page.md} +2 -6
  52. data/{usechutney.com/docs/rules/tag-used-multiple-times/index.md → usechutney.com.site/site/src/docs/rules/tag-used-multiple-times.page.md} +2 -6
  53. data/{usechutney.com/docs/rules/too-clumsy/index.md → usechutney.com.site/site/src/docs/rules/too-clumsy.page.md} +2 -6
  54. data/{usechutney.com/docs/rules/too-long-step/index.md → usechutney.com.site/site/src/docs/rules/too-long-step.page.md} +2 -6
  55. data/{usechutney.com/docs/rules/too-many-different-tags/index.md → usechutney.com.site/site/src/docs/rules/too-many-different-tags.page.md} +2 -6
  56. data/{usechutney.com/docs/rules/too-many-steps/index.md → usechutney.com.site/site/src/docs/rules/too-many-steps.page.md} +2 -6
  57. data/{usechutney.com/docs/rules/too-many-tags/index.md → usechutney.com.site/site/src/docs/rules/too-many-tags.page.md} +2 -6
  58. data/{usechutney.com/docs/rules/unique-scenario-names/index.md → usechutney.com.site/site/src/docs/rules/unique-scenario-names.page.md} +2 -6
  59. data/{usechutney.com/docs/rules/unknown-variable/index.md → usechutney.com.site/site/src/docs/rules/unknown-variable.page.md} +2 -6
  60. data/{usechutney.com/docs/rules/unused-variable/index.md → usechutney.com.site/site/src/docs/rules/unused-variable.page.md} +2 -6
  61. data/{usechutney.com/docs/rules/use-background/index.md → usechutney.com.site/site/src/docs/rules/use-background.page.md} +2 -6
  62. data/{usechutney.com/docs/rules/use-outline/index.md → usechutney.com.site/site/src/docs/rules/use-outline.page.md} +2 -6
  63. data/{usechutney.com/docs/running/index.md → usechutney.com.site/site/src/docs/running.page.md} +2 -6
  64. data/{usechutney.com/pages/index.markdown → usechutney.com.site/site/src/index.page.md} +15 -24
  65. data/usechutney.com.site/site/templates/_nav.html.erb +6 -0
  66. data/usechutney.com.site/site/templates/layout.html.erb +35 -0
  67. data/usechutney.com.site/site/templates/page.html.erb +3 -0
  68. metadata +73 -66
  69. data/usechutney.com/.gitignore +0 -5
  70. data/usechutney.com/Gemfile +0 -37
  71. data/usechutney.com/_config.yml +0 -299
  72. data/usechutney.com/_data/navigation.yml +0 -120
  73. data/usechutney.com/_data/ui-text.yml +0 -2132
  74. data/usechutney.com/_posts/2024-09-23-welcome-to-jekyll.markdown +0 -28
  75. data/usechutney.com/assets/images/pug.png +0 -0
  76. data/usechutney.com/docs/rules/empty-feature-file/index.md +0 -7
  77. data/usechutney.com/pages/404.html +0 -25
  78. /data/{usechutney.com/assets/images → usechutney.com.site/site/assets}/mr_pickle.png +0 -0
@@ -1,8 +1,4 @@
1
- ---
2
- title: "File Name Differs From Feature Name"
3
- layout: single
4
- permalink: /docs/rules/file-name-differs-feature-name/
5
- ---
1
+ # File Name Differs From Feature Name
6
2
 
7
3
  The name of a feature file should match the name of the feature it describes. This makes it easier to find the feature file that contains a specific scenario.
8
4
 
@@ -34,4 +30,4 @@ Feature: logging in
34
30
  Given I have visited the website
35
31
  When I log in
36
32
  Then I will see my account
37
- ```
33
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Givens After Background"
3
- layout: single
4
- permalink: /docs/rules/givens-after-background/
5
- ---
1
+ # Givens After Background
6
2
 
7
3
  If you have a `Background` section in a feaure file and your scenarios still need to do some setup, you should start immediately with an `And` step. This makes it clear that the setup is in addition to the background and makes it obvious that the scenario is not sufficient on its own.
8
4
 
@@ -33,4 +29,4 @@ Background:
33
29
  And I have logged in
34
30
  When I view my profile
35
31
  Then I will see my account
36
- ```
32
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Inconsistent Quoting"
3
- layout: single
4
- permalink: /docs/rules/inconsistent-quoting/
5
- ---
1
+ # Inconsistent Quoting
6
2
 
7
3
  Use either single or double quotes consistently throughout your feature files. This makes it clear to the reader where your strings and variables are.
8
4
 
@@ -26,4 +22,4 @@ Feature: logging in
26
22
  Given I have visited the website
27
23
  When I log in with "username" and "password"
28
24
  Then I will see my account
29
- ```
25
+ ```
@@ -0,0 +1,43 @@
1
+ # Rules
2
+
3
+ * [Avoid Colons at Start of Names](/docs/rules/avoid-colons-at-start-of-names)
4
+ * [Avoid Comma in Tags](/docs/rules/avoid-comma-in-tags)
5
+ * [Avoid Full Stops](/docs/rules/avoid-full-stops)
6
+ * [Avoid Outline for Single Example](/docs/rules/avoid-outline-for-single-example)
7
+ * [Avoid Scripting](/docs/rules/avoid-scripting)
8
+ * [Avoid Splat Steps in Background](/docs/rules/avoid-splat-steps-in-background)
9
+ * [Avoid Splat Steps in Scenarios](/docs/rules/avoid-splat-steps-in-scenarios)
10
+ * [Avoid Typographers' Quotes](/docs/rules/avoid-typographers-quotes)
11
+ * [Background Does More Than Setup](/docs/rules/background-does-more-than-setup)
12
+ * [Background Requires Multiple Scenarios](/docs/rules/background-requires-multiple-scenarios)
13
+ * [Bad Scenario Name](/docs/rules/bad-scenario-name)
14
+ * [Empty Feature File](/docs/rules/empty-feature-file)
15
+ * [File Name Differs From Feature Name](/docs/rules/file-name-differs-feature-name)
16
+ * [Givens After Background](/docs/rules/givens-after-background)
17
+ * [Inconsistent Quoting](/docs/rules/inconsistent-quoting)
18
+ * [Invalid Step Flow](/docs/rules/invalid-step-flow)
19
+ * [Invalid File Name](/docs/rules/invalid_file_name)
20
+ * [Missing Example Name](/docs/rules/missing-example-name)
21
+ * [Missing Example Table](/docs/rules/missing-example-table)
22
+ * [Missing Feature Description](/docs/rules/missing-feature-description)
23
+ * [Missing Feature Name](/docs/rules/missing-feature-name)
24
+ * [Missing Scenario Name](/docs/rules/missing-scenario-name)
25
+ * [Missing Scenario Outline](/docs/rules/missing-scenario-outline)
26
+ * [Missing Test Action](/docs/rules/missing-test-action)
27
+ * [Missing Test Verification](/docs/rules/missing-test-verification)
28
+ * [Required Tags Starts With](/docs/rules/required-tag-starts-with)
29
+ * [Same Scenario](/docs/rules/same-scenario)
30
+ * [Same Tag Different Case](/docs/rules/same-tag-different-case)
31
+ * [Same Tag For All Scenarios](/docs/rules/same-tag-for-all-scenarios)
32
+ * [Scenario Names Match](/docs/rules/scenario-names-match)
33
+ * [Tag Used Multiple Times](/docs/rules/tag-used-multiple-times)
34
+ * [Too Clumsy](/docs/rules/too-clumsy)
35
+ * [Too Long Step](/docs/rules/too-long-step)
36
+ * [Too Many Different Tags](/docs/rules/too-many-different-tags)
37
+ * [Too Many Steps](/docs/rules/too-many-steps)
38
+ * [Too Many Tags](/docs/rules/too-many-tags)
39
+ * [Unique Scenario Names](/docs/rules/unique-scenario-names)
40
+ * [Unknown Variable](/docs/rules/unknown-variable)
41
+ * [Unused Variable](/docs/rules/unused-variable)
42
+ * [Use Background](/docs/rules/use-background)
43
+ * [Use Outline](/docs/rules/use-outline)
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Invalid Step Flow"
3
- layout: single
4
- permalink: /docs/rules/invalid-step-flow/
5
- ---
1
+ # Invalid Step Flow
6
2
 
7
3
  Scenarios should follow the Given-When-Then structure. This makes it clear to the reader what the scenario is doing and what the expected outcome is.
8
4
 
@@ -28,4 +24,4 @@ Feature: logging in
28
24
  Given I have visited the website
29
25
  When I log in with "username" and "password"
30
26
  Then I will see my account
31
- ```
27
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Invalid File Name"
3
- layout: single
4
- permalink: /docs/rules/invalid-file-name/
5
- ---
1
+ # Invalid File Name
6
2
 
7
3
  The name of the feature file should be in `snake_case` and end with `.feature`. It should not be in `mixedCase` or contain spaces. This makes sure that the feature file can easily be found on different types of operating system which have different file naming conventions.
8
4
 
@@ -16,4 +12,4 @@ The name of the feature file should be in `snake_case` and end with `.feature`.
16
12
  ## Good
17
13
 
18
14
  {: .notice}
19
- `logging_in.feature`
15
+ `logging_in.feature`
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Example Name"
3
- layout: single
4
- permalink: /docs/rules/missing-example-name/
5
- ---
1
+ # Missing Example Name
6
2
 
7
3
  If you have more than one example table in a scenario, you should give each example a name. This makes it easier to understand what each example is testing.
8
4
 
@@ -46,4 +42,4 @@ Feature: logging in
46
42
  | username | password |
47
43
  | admin1 | pass1 |
48
44
  | admin2 | pass2 |
49
- ```
45
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Example Table"
3
- layout: single
4
- permalink: /docs/rules/missing-example-table/
5
- ---
1
+ # Missing Example Table
6
2
 
7
3
  You have a scenario outline without an example table. You should add an example table to the scenario outline to show what the scenario is testing, or convert the scenario outline to a scenario if you do not need to test multiple examples.
8
4
 
@@ -31,4 +27,4 @@ Feature: logging in
31
27
  | username | password |
32
28
  | user1 | pass1 |
33
29
  | user2 | pass2 |
34
- ```
30
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Feature Description"
3
- layout: single
4
- permalink: /docs/rules/missing-feature-description/
5
- ---
1
+ # Missing Feature Description
6
2
 
7
3
  You should write a description for your feature in the form of a value-statements. This makes it clear to the reader what the feature is doing and why it is important.
8
4
 
@@ -22,4 +18,4 @@ Feature: logging in
22
18
  As a user,
23
19
  I want to log in to the website,
24
20
  so that I can access my account.
25
- ```
21
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Feature Name"
3
- layout: single
4
- permalink: /docs/rules/missing-feature-name/
5
- ---
1
+ # Missing Feature Name
6
2
 
7
3
  Your `Feature` should have a name that describes what the feature is doing. This makes it clear to the reader what the feature is doing and why it is important.
8
4
 
@@ -16,4 +12,4 @@ Feature:
16
12
 
17
13
  ```gherkin
18
14
  Feature: logging in
19
- ```
15
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Scenario Name"
3
- layout: single
4
- permalink: /docs/rules/missing-scenario-name/
5
- ---
1
+ # Missing Scenario Name
6
2
 
7
3
  Your `Scenario` and `Scenario Outline` should have a name that describes what the feature is doing. This makes it clear to the reader what the feature is doing and why it is important.
8
4
 
@@ -16,4 +12,4 @@ Scenario:
16
12
 
17
13
  ```gherkin
18
14
  Scenario: logging in
19
- ```
15
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Scenario Outline"
3
- layout: single
4
- permalink: /docs/rules/missing-scenario-outline/
5
- ---
1
+ # Missing Scenario Outline
6
2
 
7
3
  You have a `Scenario` with an example table, but you should use a `Scenario Outline` instead. This makes it clear to the reader that the scenario is a template for multiple examples.
8
4
 
@@ -36,4 +32,4 @@ Feature: logging in
36
32
  | username | password |
37
33
  | user1 | pass1 |
38
34
  | user2 | pass2 |
39
- ```
35
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Test Action"
3
- layout: single
4
- permalink: /docs/rules/missing-test-action/
5
- ---
1
+ # Missing Test Action
6
2
 
7
3
  You have a `Scenario` or `Scenario Outline` without a `When` step. You should add a `When` step to show what the scenario is testing.
8
4
 
@@ -25,4 +21,4 @@ Feature: logging in
25
21
  Given I have visited the website
26
22
  When I log in with "<username>" and "<password>"
27
23
  Then I will see my account
28
- ```
24
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Missing Test Verification"
3
- layout: single
4
- permalink: /docs/rules/missing-test-verification/
5
- ---
1
+ # Missing Test Verification
6
2
 
7
3
  You have a `Scenario` or `Scenario Outline` without a `Then` step. You should add a `Then` step to show what the scenario is testing.
8
4
 
@@ -25,4 +21,4 @@ Feature: logging in
25
21
  Given I have visited the website
26
22
  When I log in with "<username>" and "<password>"
27
23
  Then I will see my account
28
- ```
24
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Required Tags Starts With"
3
- layout: single
4
- permalink: /docs/rules/required-tags-start-with/
5
- ---
1
+ # Required Tags Starts With
6
2
 
7
3
  This is a rule which you can configure to enforce a naming convention for tags. This rule will check that all tags on a feature start with a specific prefix.
8
4
 
@@ -28,4 +24,4 @@ Feature: logging in
28
24
  Given I have visited the website
29
25
  When I log in with "<username>" and "<password>"
30
26
  Then I will see my account
31
- ```
27
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Same Scenario"
3
- layout: single
4
- permalink: /docs/rules/same-scenario/
5
- ---
1
+ # Same Scenario
6
2
 
7
3
  You have a `Scenario`, or a `Scenario Outline` which appears to be duplicated. This probably means you have a redundant test. You should probably make sure you only have one copy of your steps to be consitent and efficient.
8
4
 
@@ -20,5 +16,4 @@ Feature: Test
20
16
  Scenario: Scenario B
21
17
  When I do a thing
22
18
  Then A thing happens
23
- ```
24
-
19
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Same Tag Different Case"
3
- layout: single
4
- permalink: /docs/rules/same-tag-different-case/
5
- ---
1
+ # Same Tag Different Case
6
2
 
7
3
  Cucumber tags are case-sensitive. Be careful when using tags that are the same but have different cases, you might not get the results you expect if you use tags to select scenarios.
8
4
 
@@ -39,4 +35,4 @@ Feature: logging in
39
35
  Given I have visited the website
40
36
  When I log out
41
37
  Then I will see the login page
42
- ```
38
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Same Tag For All Scenarios"
3
- layout: single
4
- permalink: /docs/rules/same-tag-for-all-scenarios/
5
- ---
1
+ # Same Tag For All Scenarios
6
2
 
7
3
  You have the same tag for all scenarios. This is not recommended because it makes it difficult to filter scenarios by tags. Instead, set the tag at the \`Feature` level.
8
4
 
@@ -39,4 +35,4 @@ Feature: Login
39
35
  Given I am on the login page
40
36
  When I enter invalid credentials
41
37
  Then I should see an error message
42
- ```
38
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Scenario Names Match"
3
- layout: single
4
- permalink: /docs/rules/scenario-names-match/
5
- ---
1
+ # Scenario Names Match
6
2
 
7
3
  This is a rule which you can configure to enforce a naming convention for scenarios. This rule will check that all scenario names match a regular expression.
8
4
 
@@ -27,4 +23,4 @@ Feature: logging in
27
23
  Given I have visited the website
28
24
  When I log in with "<username>" and "<password>"
29
25
  Then I will see my account
30
- ```
26
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Tag Used Multiple Times"
3
- layout: single
4
- permalink: /docs/rules/tag-used-multiple-times/
5
- ---
1
+ # Tag Used Multiple Times
6
2
 
7
3
  Avoid using the same tag at both the feature and scenario level. If it is used at the feature level it is redundant at the scenario level. This rule will check that tags are not used multiple times in the same feature file.
8
4
 
@@ -29,4 +25,4 @@ Feature: logging in
29
25
  Given I have visited the website
30
26
  When I log in with "<username>" and "<password>"
31
27
  Then I will see my account
32
- ```
28
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Too Clumsy"
3
- layout: single
4
- permalink: /docs/rules/too-clumsy/
5
- ---
1
+ # Too Clumsy
6
2
 
7
3
  Avoid having very long or wordy scenarios. They are difficult to read and maintain and are often a sign that the scenario is doing too much or there is scripting involved. This rule will checks the total number of character in a scenario.
8
4
 
@@ -75,4 +71,4 @@ Feature: logging in
75
71
  Given I have visited the website
76
72
  When I log in with "validusername" and "validpassword"
77
73
  Then I will see my account details
78
- ```
74
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Too Long Step"
3
- layout: single
4
- permalink: /docs/rules/too-long-step/
5
- ---
1
+ # Too Long Step
6
2
 
7
3
  Avoid having very long or wordy steps. They are difficult to read and maintain and are often a sign that the step is doing too much or there is scripting involved. This rule will check that steps are not too long. Having an 'and' inside the step is often a clue that you have a compound step that should be broken down into smaller steps.
8
4
 
@@ -27,4 +23,4 @@ Feature: logging in
27
23
  And I have logged with credentials "validusername" and "validpassword"
28
24
  When I view my profile
29
25
  Then I will see my account
30
- ```
26
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Too Many Different Tags"
3
- layout: single
4
- permalink: /docs/rules/too-many-different-tags/
5
- ---
1
+ # Too Many Different Tags
6
2
 
7
3
  Avoid a tag soup by using too many different tags in a feature file. It suggests that redundant tags have been left in the feature file and have not been cleaned up.
8
4
 
@@ -29,4 +25,4 @@ Feature: logging in
29
25
  Given I have visited the website
30
26
  When I log in with "<username>" and "<password>"
31
27
  Then I will see my account
32
- ```
28
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Too Many Steps"
3
- layout: single
4
- permalink: /docs/rules/too-many-steps/
5
- ---
1
+ # Too Many Steps
6
2
 
7
3
  Avoid having too many steps in a scenario. Scenarios should be concise and focused on a single behavior. This rule will check that scenarios do not have too many steps.
8
4
 
@@ -76,4 +72,4 @@ Feature: logging in
76
72
  Given I have visited the website
77
73
  When I log in with "validusername" and "validpassword"
78
74
  Then I will see my account details
79
- ```
75
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Too Many Tags"
3
- layout: single
4
- permalink: /docs/rules/too-many-tags/
5
- ---
1
+ # Too Many Tags
6
2
 
7
3
  Avoid a tag soup by using too many tags in a feature file. It suggests that redundant tags have been left in the feature file and have not been cleaned up.
8
4
 
@@ -29,4 +25,4 @@ Feature: logging in
29
25
  Given I have visited the website
30
26
  When I log in with "<username>" and "<password>"
31
27
  Then I will see my account
32
- ```
28
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Unique Scenario Names"
3
- layout: single
4
- permalink: /docs/rules/unique-scenario-names/
5
- ---
1
+ # Unique Scenario Names
6
2
 
7
3
  Avoid duplicating scenario names. Scenario names should be unique within a feature file so that they are meaningful and easy to identify. This rule will check that scenario names are unique within a feature file.
8
4
 
@@ -36,4 +32,4 @@ Feature: logging in
36
32
  Given I have visited the website
37
33
  When I log out
38
34
  Then I will see the login page
39
- ```
35
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Unknown Variable"
3
- layout: single
4
- permalink: /docs/rules/unknown-variable/
5
- ---
1
+ # Unknown Variable
6
2
 
7
3
  You are referencing a variable which does not appear to be defined in the example table. This is probably an accident and your test might not be doing what you expect. This rule will check that all variables used in a scenario are defined in the example table.
8
4
 
@@ -35,4 +31,4 @@ Feature: logging in
35
31
  Examples:
36
32
  | username | password | admin |
37
33
  | user1 | password | true |
38
- ```
34
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Unused Variable"
3
- layout: single
4
- permalink: /docs/rules/unused-variable/
5
- ---
1
+ # Unused Variable
6
2
 
7
3
  You have defined a variable in your example table but you are not using it. This is probably an accident and your test might not be doing what you expect. This rule will check that all variables defined in the example table are used in the scenario.
8
4
 
@@ -34,4 +30,4 @@ Feature: logging in
34
30
  Examples:
35
31
  | username | password |
36
32
  | user1 | password |
37
- ```
33
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Use Background"
3
- layout: single
4
- permalink: /docs/rules/use-background/
5
- ---
1
+ # Use Background
6
2
 
7
3
  You have multiple scenarios that all have the same setup steps. This is a sign that you should use a background to define the common setup steps once and reuse them in each scenario. This rule will check that you are using a background when you have multiple scenarios with the same setup steps.
8
4
 
@@ -37,4 +33,4 @@ Feature: logging in
37
33
  Scenario: logging out
38
34
  When I log out
39
35
  Then I will see the login page
40
- ```
36
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Use Outline"
3
- layout: single
4
- permalink: /docs/rules/use-outline/
5
- ---
1
+ # Use Outline
6
2
 
7
3
  You have multiple scenarios that are almost identical. This is a sign that you should use a scenario outline to define the common steps once and reuse them with different inputs. This rule will check that you are using a scenario outline when you have multiple scenarios that are almost identical.
8
4
 
@@ -36,4 +32,4 @@ Feature: logging in
36
32
  | username | password |
37
33
  | user1 | password |
38
34
  | user2 | password |
39
- ```
35
+ ```
@@ -1,8 +1,4 @@
1
- ---
2
- title: "Running Chutney"
3
- layout: single
4
- permalink: /docs/running/
5
- ---
1
+ # Running Chutney
6
2
 
7
3
  Once you have [installed Chutney](/docs/installing/), you can run it from the command line.
8
4
 
@@ -30,4 +26,4 @@ foo.feature
30
26
  MissingScenarioName
31
27
  This scenario is unnamed. You should name all scenarios.
32
28
  foo.feature:13
33
- ```
29
+ ```
@@ -1,39 +1,30 @@
1
- ---
2
- # Feel free to add content and custom Front Matter to this file.
3
- # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
-
5
- # layout: single
6
- layout: splash
7
- permalink: /
8
- author_profile: false
9
-
10
- feature_row:
11
- - image_path: /assets/images/mr_pickle.png
12
- alt: "A happy jar of pickles smiling at you"
13
- title: "Best Practice Cucumber"
14
- excerpt: "Love your documentation, and your documentation will love you back."
15
- url: "/docs/installing/"
16
- btn_label: "Get Started"
17
- btn_class: "btn btn--success"
18
- ---
19
-
20
- {% include feature_row type="center" %}
21
-
1
+ <div class="hero-section">
2
+ <img src="/mr_pickle.png" alt="Chutney mascot Mr Pickle, a friendly cartoon pickle character wearing a bow tie" width="200">
3
+
4
+ <h1>Chutney</h1>
5
+ <p style="font-size: 1.5rem; color: var(--text-muted); max-width: 600px; margin: 0 auto;">Beautiful and tasteful best practice for Cucumber</p>
6
+ <div style="margin-top: 2rem;">
7
+ <a href="/docs/installing" class="btn btn-primary">Get Started</a>
8
+ <a href="/docs/rules" class="btn" style="background: white; border: 1px solid var(--border); margin-left: 10px; color: var(--text-main);">View Rules</a>
9
+ </div>
10
+ </div>
11
+
12
+ ## Why Chutney?
22
13
  You’re trying to follow BDD or ATDD principles, you’re writing executable specifications in gherkin using Cucumber, you’re trying to do the *right thing* but are you doing the *thing right?*
23
14
 
24
- # Tests are your documentation
15
+ ## Tests are your documentation
25
16
 
26
17
  Requirements are your longest-lived asset. Your implementation might change, your tests might change, but your requirements (specifications) continue to exist. They should be clear, concise, and easy to understand. They should be easy to read, easy to write, and easy to maintain. They should be your documentation.
27
18
 
28
19
  Cucumber makes it easy to write requirements in a human-readable format. It doesn't need any tool other than a text editor to write and read. It's a great tool to write requirements in a way that everyone can understand and that can be versioned and stored in a version control system with the rest of your code.
29
20
 
30
- # When cucumbers go bad
21
+ ## When cucumbers go bad
31
22
 
32
23
  Cucumber specifications can be a great asset, but they can also be a liability. In the exchange between business language and the language of testers and software developers, it's easy to lose the meaning of the requirements. It's easy to write specifications that are hard to read, hard to write, and hard to maintain.
33
24
 
34
25
  Chutney helps you write better Cucumber specifications. It helps you write specifications that are clear, concise, and easy to understand. It helps you write specifications that are easy to read, easy to write, and easy to maintain. Be kind to your future self and your team. Love your documentation, and your documentation will love you back.
35
26
 
36
- # What is Chutney?
27
+ ## What is Chutney?
37
28
 
38
29
  Chutney is a Ruby tool that reads your Cucumber feature files and tells you how you can make them better. It's a linter for Cucumber. It will help you avoid common pitfalls and anti-patterns in your Cucumber feature files. It will help you write better Cucumber specifications.
39
30
 
@@ -0,0 +1,6 @@
1
+ <nav>
2
+ <a href="/">Home</a>
3
+ <a href="/docs">Docs</a>
4
+ <a href="/docs/rules">Rules</a>
5
+ <a href="/about">About</a>
6
+ </nav>
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title><%= title %> - <%= site_name %></title>
7
+ <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png">
8
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
9
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
10
+ <link rel="manifest" href="/favicons/site.webmanifest">
11
+ <link rel="stylesheet" href="/styles.css">
12
+ <link rel="preconnect" href="https://fonts.googleapis.com">
13
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
14
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=JetBrains+Mono&display=swap" rel="stylesheet">
15
+ </head>
16
+ <body>
17
+ <header class="site-header">
18
+ <div class="container">
19
+ <a href="/" class="site-title">Chutney</a>
20
+ <%= render 'nav' %>
21
+ </div>
22
+ </header>
23
+
24
+ <main class="container">
25
+ <%= content %>
26
+ </main>
27
+
28
+ <footer class="site-footer">
29
+ <div class="container">
30
+ <p>&copy; <%= Time.now.year %> Chutney. Beautiful and tasteful best practice for Cucumber. GitHub: <a href="https://github.com/BillyRuffian/chutney">BillyRuffian/chutney</a></p>
31
+ <p>Documentation generated with <a href="https://usejackdaw.com">Jackdaw</a>.</p>
32
+ </div>
33
+ </footer>
34
+ </body>
35
+ </html>
@@ -0,0 +1,3 @@
1
+ <main>
2
+ <%= content %>
3
+ </main>