chutney 3.11.0 → 3.11.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c008b1c26d32fdc61e5971638623f09d6f34526e0482b31c9e6c98ca7770a5e6
4
- data.tar.gz: 4868772b4ffea1157e0c443772d779dc5b693aa7ec693d3e37718d392ab6676b
3
+ metadata.gz: 74225c8b4badcb729231121bce2547b43c1a7d21b239bf17f0de152a4a425686
4
+ data.tar.gz: acfe603816c3c0bafd77e4fc149d895d665745b5260b341f24744baa7ab162c1
5
5
  SHA512:
6
- metadata.gz: 03c10adcf4fe4c184ef0a867f7b735c1f39e9845ce691c6d6bb2679a3f81917d65e417dd32e80776a5db036afa11de056f35464fdf54db3caf55c82015803cce
7
- data.tar.gz: 90fb24d6851765a01e014f1c838c51eed6d0190ce85265ab0344f481fded24ff9b632bdbc847263ddf2b20e80a81f61140cc452409785c52dcc000a105b4c8c4
6
+ metadata.gz: d4a3ed6425a8157e7dbcba96808fd8e340760da1140b3966e25b44fc4d2d5849f774e6cd0f3bd9c8c93bf4c6e7aedd4c648476d2a393e819a39cfc5c69d00c96
7
+ data.tar.gz: 5f51a71f864e39ee219b841167fa5a8bffdf9837db27bb705089573e7402a9dd3931c6340c51861c2363bc8bbce73718404221280a348dbceebae027a9c6beb8
data/Gemfile CHANGED
@@ -6,7 +6,6 @@ gemspec
6
6
 
7
7
  gem 'coveralls', '~> 0.8'
8
8
  gem 'cucumber', '>= 9.0'
9
- gem 'pry-byebug', '~> 3.0'
10
9
  gem 'rake', '~> 13.0'
11
10
  gem 'rerun', '~> 0.13'
12
11
  gem 'rspec', '~> 3.13'
@@ -50,6 +50,8 @@ InvalidStepFlow:
50
50
  Enabled: true
51
51
  RequiredTagsStartsWith:
52
52
  Enabled: false
53
+ SameScenario:
54
+ Enabled: true
53
55
  SameTagDifferentCase:
54
56
  Enabled: true
55
57
  SameTagForAllScenarios:
@@ -1,28 +1,31 @@
1
- module Chutney
1
+ # frozen_string_literal: true
2
2
 
3
+ module Chutney
4
+ # Rule to find all the duplicated scenarios
3
5
  class SameScenario < Linter
4
6
  def lint
5
7
  dictionary = Hash.new { |hash, key| hash[key] = [] }
6
8
 
7
9
  scenarios do |feature, scenario|
8
10
  text = scenario
9
- .steps
10
- .map { |step| "#{step.text} #{child_text(step)}" }
11
- .join("\n") + example_text(scenario)
11
+ .steps
12
+ .map { |step| "#{step.text} #{child_text(step)}" }
13
+ .join("\n") + example_text(scenario)
12
14
 
13
15
  digest = Digest::SHA2.hexdigest(text)
14
16
  dictionary[digest] << { scenario:, feature: }
15
17
  end
16
18
 
17
- dictionary.filter { |k, v| v.size > 1 }
19
+ dictionary.filter { |_k, v| v.size > 1 }
18
20
  .each_value do |v|
19
- v[1...].each { |problem|
21
+ v[1...].each do |problem|
20
22
  add_issue(I18n.t('linters.same_scenario',
21
23
  feature: problem[:feature].name,
22
24
  scenario: problem[:scenario].name,
23
25
  original_feature: v.first[:feature].name,
24
26
  original_scenario: v.first[:scenario].name),
25
- problem[:feature], problem[:scenario], nil) }
27
+ problem[:feature], problem[:scenario], nil)
28
+ end
26
29
  end
27
30
  end
28
31
 
@@ -49,4 +52,4 @@ module Chutney
49
52
  end
50
53
  end
51
54
  end
52
- end
55
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Chutney
4
- VERSION = '3.11.0'
4
+ VERSION = '3.11.1'
5
5
  end
data/lib/chutney.rb CHANGED
@@ -49,6 +49,7 @@ require 'chutney/locator'
49
49
  require 'chutney/version'
50
50
 
51
51
  require 'cuke_modeler'
52
+ require 'digest'
52
53
  require 'forwardable'
53
54
  require 'i18n'
54
55
  require 'yaml'
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.11.0
4
+ version: 3.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nigel Brookes-Thomas