Commit 122ffd9f authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'rs-rubocop-rspec' into 'master'

Enable Style/RedundantException, Lint/EmptyWhen, and RSpec/ExpectActual cops

See merge request !9151
parents da857767 17c8d15b
...@@ -339,6 +339,10 @@ Style/OpMethod: ...@@ -339,6 +339,10 @@ Style/OpMethod:
Style/ParenthesesAroundCondition: Style/ParenthesesAroundCondition:
Enabled: true Enabled: true
# Checks for an obsolete RuntimeException argument in raise/fail.
Style/RedundantException:
Enabled: true
# Checks for parentheses that seem not to serve any purpose. # Checks for parentheses that seem not to serve any purpose.
Style/RedundantParentheses: Style/RedundantParentheses:
Enabled: true Enabled: true
...@@ -568,6 +572,10 @@ Lint/ElseLayout: ...@@ -568,6 +572,10 @@ Lint/ElseLayout:
Lint/EmptyEnsure: Lint/EmptyEnsure:
Enabled: true Enabled: true
# Checks for the presence of `when` branches without a body.
Lint/EmptyWhen:
Enabled: true
# Align ends correctly. # Align ends correctly.
Lint/EndAlignment: Lint/EndAlignment:
Enabled: true Enabled: true
...@@ -769,6 +777,10 @@ Rails/ScopeArgs: ...@@ -769,6 +777,10 @@ Rails/ScopeArgs:
RSpec/AnyInstance: RSpec/AnyInstance:
Enabled: false Enabled: false
# Check for expectations where `be(...)` can replace `eql(...)`.
RSpec/BeEql:
Enabled: false
# Check that the first argument to the top level describe is the tested class or # Check that the first argument to the top level describe is the tested class or
# module. # module.
RSpec/DescribeClass: RSpec/DescribeClass:
...@@ -797,6 +809,10 @@ RSpec/ExampleWording: ...@@ -797,6 +809,10 @@ RSpec/ExampleWording:
not: does not not: does not
IgnoredWords: [] IgnoredWords: []
# Checks for `expect(...)` calls containing literal values.
RSpec/ExpectActual:
Enabled: true
# Checks the file and folder naming of the spec file. # Checks the file and folder naming of the spec file.
RSpec/FilePath: RSpec/FilePath:
Enabled: false Enabled: false
......
...@@ -21,10 +21,6 @@ Lint/AmbiguousRegexpLiteral: ...@@ -21,10 +21,6 @@ Lint/AmbiguousRegexpLiteral:
Lint/AssignmentInCondition: Lint/AssignmentInCondition:
Enabled: false Enabled: false
# Offense count: 1
Lint/EmptyWhen:
Enabled: false
# Offense count: 20 # Offense count: 20
Lint/HandleExceptions: Lint/HandleExceptions:
Enabled: false Enabled: false
...@@ -80,19 +76,11 @@ Performance/RedundantMatch: ...@@ -80,19 +76,11 @@ Performance/RedundantMatch:
Performance/RedundantMerge: Performance/RedundantMerge:
Enabled: false Enabled: false
# Offense count: 7
RSpec/BeEql:
Enabled: false
# Offense count: 15 # Offense count: 15
# Configuration parameters: CustomIncludeMethods. # Configuration parameters: CustomIncludeMethods.
RSpec/EmptyExampleGroup: RSpec/EmptyExampleGroup:
Enabled: false Enabled: false
# Offense count: 24
RSpec/ExpectActual:
Enabled: false
# Offense count: 58 # Offense count: 58
# Configuration parameters: EnforcedStyle, SupportedStyles. # Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: implicit, each, example # SupportedStyles: implicit, each, example
...@@ -424,11 +412,6 @@ Style/RaiseArgs: ...@@ -424,11 +412,6 @@ Style/RaiseArgs:
Style/RedundantBegin: Style/RedundantBegin:
Enabled: false Enabled: false
# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantException:
Enabled: false
# Offense count: 29 # Offense count: 29
# Cop supports --auto-correct. # Cop supports --auto-correct.
Style/RedundantFreeze: Style/RedundantFreeze:
......
...@@ -23,7 +23,7 @@ module PreferencesHelper ...@@ -23,7 +23,7 @@ module PreferencesHelper
if defined.size != DASHBOARD_CHOICES.size if defined.size != DASHBOARD_CHOICES.size
# Ensure that anyone adding new options updates this method too # Ensure that anyone adding new options updates this method too
raise RuntimeError, "`User` defines #{defined.size} dashboard choices," + raise "`User` defines #{defined.size} dashboard choices," \
" but `DASHBOARD_CHOICES` defined #{DASHBOARD_CHOICES.size}." " but `DASHBOARD_CHOICES` defined #{DASHBOARD_CHOICES.size}."
else else
defined.map do |key, _| defined.map do |key, _|
......
...@@ -45,7 +45,7 @@ module Gitlab ...@@ -45,7 +45,7 @@ module Gitlab
line_new += 1 line_new += 1
when "-" when "-"
line_old += 1 line_old += 1
when "\\" when "\\" # rubocop:disable Lint/EmptyWhen
# No increment # No increment
else else
line_new += 1 line_new += 1
......
...@@ -113,13 +113,11 @@ describe 'Filter issues', js: true, feature: true do ...@@ -113,13 +113,11 @@ describe 'Filter issues', js: true, feature: true do
end end
it 'filters issues by invalid author' do it 'filters issues by invalid author' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
it 'filters issues by multiple authors' do it 'filters issues by multiple authors' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
end end
...@@ -158,8 +156,7 @@ describe 'Filter issues', js: true, feature: true do ...@@ -158,8 +156,7 @@ describe 'Filter issues', js: true, feature: true do
end end
it 'sorting' do it 'sorting' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
end end
...@@ -182,13 +179,11 @@ describe 'Filter issues', js: true, feature: true do ...@@ -182,13 +179,11 @@ describe 'Filter issues', js: true, feature: true do
end end
it 'filters issues by invalid assignee' do it 'filters issues by invalid assignee' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
it 'filters issues by multiple assignees' do it 'filters issues by multiple assignees' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
end end
...@@ -228,8 +223,7 @@ describe 'Filter issues', js: true, feature: true do ...@@ -228,8 +223,7 @@ describe 'Filter issues', js: true, feature: true do
context 'sorting' do context 'sorting' do
it 'sorts' do it 'sorts' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
end end
end end
...@@ -253,8 +247,7 @@ describe 'Filter issues', js: true, feature: true do ...@@ -253,8 +247,7 @@ describe 'Filter issues', js: true, feature: true do
end end
it 'filters issues by invalid label' do it 'filters issues by invalid label' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
it 'filters issues by multiple labels' do it 'filters issues by multiple labels' do
...@@ -429,8 +422,7 @@ describe 'Filter issues', js: true, feature: true do ...@@ -429,8 +422,7 @@ describe 'Filter issues', js: true, feature: true do
context 'sorting' do context 'sorting' do
it 'sorts' do it 'sorts' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
end end
end end
...@@ -456,13 +448,11 @@ describe 'Filter issues', js: true, feature: true do ...@@ -456,13 +448,11 @@ describe 'Filter issues', js: true, feature: true do
end end
it 'filters issues by invalid milestones' do it 'filters issues by invalid milestones' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
it 'filters issues by multiple milestones' do it 'filters issues by multiple milestones' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
it 'filters issues by milestone containing special characters' do it 'filters issues by milestone containing special characters' do
...@@ -523,8 +513,7 @@ describe 'Filter issues', js: true, feature: true do ...@@ -523,8 +513,7 @@ describe 'Filter issues', js: true, feature: true do
context 'sorting' do context 'sorting' do
it 'sorts' do it 'sorts' do
pending('to be tested, issue #26546') skip('to be tested, issue #26546')
expect(true).to be(false)
end end
end end
end end
......
...@@ -2,47 +2,52 @@ ...@@ -2,47 +2,52 @@
require 'spec_helper' require 'spec_helper'
describe Gitlab::Regex, lib: true do describe Gitlab::Regex, lib: true do
describe 'project path regex' do describe '.project_path_regex' do
it { expect('gitlab-ce').to match(Gitlab::Regex.project_path_regex) } subject { described_class.project_path_regex }
it { expect('gitlab_git').to match(Gitlab::Regex.project_path_regex) }
it { expect('_underscore.js').to match(Gitlab::Regex.project_path_regex) }
it { expect('100px.com').to match(Gitlab::Regex.project_path_regex) }
it { expect('?gitlab').not_to match(Gitlab::Regex.project_path_regex) }
it { expect('git lab').not_to match(Gitlab::Regex.project_path_regex) }
it { expect('gitlab.git').not_to match(Gitlab::Regex.project_path_regex) }
end
describe 'project name regex' do it { is_expected.to match('gitlab-ce') }
it { expect('gitlab-ce').to match(Gitlab::Regex.project_name_regex) } it { is_expected.to match('gitlab_git') }
it { expect('GitLab CE').to match(Gitlab::Regex.project_name_regex) } it { is_expected.to match('_underscore.js') }
it { expect('100 lines').to match(Gitlab::Regex.project_name_regex) } it { is_expected.to match('100px.com') }
it { expect('gitlab.git').to match(Gitlab::Regex.project_name_regex) } it { is_expected.not_to match('?gitlab') }
it { expect('Český název').to match(Gitlab::Regex.project_name_regex) } it { is_expected.not_to match('git lab') }
it { expect('Dash – is this').to match(Gitlab::Regex.project_name_regex) } it { is_expected.not_to match('gitlab.git') }
it { expect('?gitlab').not_to match(Gitlab::Regex.project_name_regex) }
end end
describe 'file name regex' do describe '.project_name_regex' do
it { expect('foo@bar').to match(Gitlab::Regex.file_name_regex) } subject { described_class.project_name_regex }
it { is_expected.to match('gitlab-ce') }
it { is_expected.to match('GitLab CE') }
it { is_expected.to match('100 lines') }
it { is_expected.to match('gitlab.git') }
it { is_expected.to match('Český název') }
it { is_expected.to match('Dash – is this') }
it { is_expected.not_to match('?gitlab') }
end end
describe 'file path regex' do describe '.file_name_regex' do
it { expect('foo@/bar').to match(Gitlab::Regex.file_path_regex) } subject { described_class.file_name_regex }
it { is_expected.to match('foo@bar') }
end end
describe 'environment slug regex' do describe '.file_path_regex' do
def be_matched subject { described_class.file_path_regex }
match(Gitlab::Regex.environment_slug_regex)
it { is_expected.to match('foo@/bar') }
end end
it { expect('foo').to be_matched } describe '.environment_slug_regex' do
it { expect('foo-1').to be_matched } subject { described_class.environment_slug_regex }
it { expect('FOO').not_to be_matched } it { is_expected.to match('foo') }
it { expect('foo/1').not_to be_matched } it { is_expected.to match('foo-1') }
it { expect('foo.1').not_to be_matched } it { is_expected.not_to match('FOO') }
it { expect('foo*1').not_to be_matched } it { is_expected.not_to match('foo/1') }
it { expect('9foo').not_to be_matched } it { is_expected.not_to match('foo.1') }
it { expect('foo-').not_to be_matched } it { is_expected.not_to match('foo*1') }
it { is_expected.not_to match('9foo') }
it { is_expected.not_to match('foo-') }
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment