summaryrefslogtreecommitdiff
path: root/tooling
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-09 03:13:02 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-09 03:13:02 +0000
commit44a883b53a586ff5966adce0aacfaa9d31e80441 (patch)
treeb2040c2fa853aec7dd181c5c6d8129b638ee3693 /tooling
parentde19091107816cd08b0b83f7d908776e71a43606 (diff)
downloadgitlab-ce-44a883b53a586ff5966adce0aacfaa9d31e80441.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'tooling')
-rw-r--r--tooling/danger/specs.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/tooling/danger/specs.rb b/tooling/danger/specs.rb
index f95a798d53e..5359e71f8cc 100644
--- a/tooling/danger/specs.rb
+++ b/tooling/danger/specs.rb
@@ -90,15 +90,17 @@ module Tooling
changed_lines.each_with_index do |changed_line, i|
next unless changed_line =~ RSPEC_TOP_LEVEL_DESCRIBE_REGEX
- next_line_in_file = file_lines[file_lines.find_index(changed_line.delete_prefix('+')) + 1]
-
- if changed_line.include?(FEATURE_CATEGORY_KEYWORD) || next_line_in_file.to_s.include?(FEATURE_CATEGORY_KEYWORD)
- next
- end
-
line_number = file_lines.find_index(changed_line.delete_prefix('+'))
next unless line_number
+ # Get the top level RSpec.describe line and the next 5 lines
+ lines_to_check = file_lines[line_number, 5]
+ # Remove all the lines after the first one that ends in `do`
+ last_line_number_of_describe_declaration = lines_to_check.index { |line| line.end_with?(' do') }
+ lines_to_check = lines_to_check[0..last_line_number_of_describe_declaration]
+
+ next if lines_to_check.any? { |line| line.include?(FEATURE_CATEGORY_KEYWORD) }
+
suggested_line = file_lines[line_number]
markdown(comment(FEATURE_CATEGORY_SUGGESTION, suggested_line), file: filename, line: line_number.succ)