Merge branch 'rs-rubocop-rspec' into 'master'
Enable Style/RedundantException, Lint/EmptyWhen, and RSpec/ExpectActual cops See merge request !9151
This commit is contained in:
commit
122ffd9fc7
16
.rubocop.yml
16
.rubocop.yml
|
@ -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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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 @@
|
||||||
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 { is_expected.to match('gitlab-ce') }
|
||||||
it { expect('100px.com').to match(Gitlab::Regex.project_path_regex) }
|
it { is_expected.to match('gitlab_git') }
|
||||||
it { expect('?gitlab').not_to match(Gitlab::Regex.project_path_regex) }
|
it { is_expected.to match('_underscore.js') }
|
||||||
it { expect('git lab').not_to match(Gitlab::Regex.project_path_regex) }
|
it { is_expected.to match('100px.com') }
|
||||||
it { expect('gitlab.git').not_to match(Gitlab::Regex.project_path_regex) }
|
it { is_expected.not_to match('?gitlab') }
|
||||||
|
it { is_expected.not_to match('git lab') }
|
||||||
|
it { is_expected.not_to match('gitlab.git') }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'project name regex' do
|
describe '.project_name_regex' do
|
||||||
it { expect('gitlab-ce').to match(Gitlab::Regex.project_name_regex) }
|
subject { described_class.project_name_regex }
|
||||||
it { expect('GitLab CE').to match(Gitlab::Regex.project_name_regex) }
|
|
||||||
it { expect('100 lines').to match(Gitlab::Regex.project_name_regex) }
|
it { is_expected.to match('gitlab-ce') }
|
||||||
it { expect('gitlab.git').to match(Gitlab::Regex.project_name_regex) }
|
it { is_expected.to match('GitLab CE') }
|
||||||
it { expect('Český název').to match(Gitlab::Regex.project_name_regex) }
|
it { is_expected.to match('100 lines') }
|
||||||
it { expect('Dash – is this').to match(Gitlab::Regex.project_name_regex) }
|
it { is_expected.to match('gitlab.git') }
|
||||||
it { expect('?gitlab').not_to match(Gitlab::Regex.project_name_regex) }
|
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 name regex' do
|
describe '.file_name_regex' do
|
||||||
it { expect('foo@bar').to match(Gitlab::Regex.file_name_regex) }
|
subject { described_class.file_name_regex }
|
||||||
|
|
||||||
|
it { is_expected.to match('foo@bar') }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'file path regex' do
|
describe '.file_path_regex' do
|
||||||
it { expect('foo@/bar').to match(Gitlab::Regex.file_path_regex) }
|
subject { described_class.file_path_regex }
|
||||||
|
|
||||||
|
it { is_expected.to match('foo@/bar') }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'environment slug regex' do
|
describe '.environment_slug_regex' do
|
||||||
def be_matched
|
subject { described_class.environment_slug_regex }
|
||||||
match(Gitlab::Regex.environment_slug_regex)
|
|
||||||
end
|
|
||||||
|
|
||||||
it { expect('foo').to be_matched }
|
it { is_expected.to match('foo') }
|
||||||
it { expect('foo-1').to be_matched }
|
it { is_expected.to match('foo-1') }
|
||||||
|
it { is_expected.not_to match('FOO') }
|
||||||
it { expect('FOO').not_to be_matched }
|
it { is_expected.not_to match('foo/1') }
|
||||||
it { expect('foo/1').not_to be_matched }
|
it { is_expected.not_to match('foo.1') }
|
||||||
it { expect('foo.1').not_to be_matched }
|
it { is_expected.not_to match('foo*1') }
|
||||||
it { expect('foo*1').not_to be_matched }
|
it { is_expected.not_to match('9foo') }
|
||||||
it { expect('9foo').not_to be_matched }
|
it { is_expected.not_to match('foo-') }
|
||||||
it { expect('foo-').not_to be_matched }
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue