mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
676a21e13a
Follow https://github.com/teamcapybara/capybara/issues/2371. This PR adds `uplelvel` to deprecation warning of Capybara. The `uplevel` option has been introduced from Ruby 2.6. > If the `uplevel` keyword argument is given, the string will be prepended with information for the given caller frame in the same format used by the `rb_warn` C function. https://ruby-doc.org/core-2.6.0/Kernel.html#method-i-warn On the other hand, Capybara supports Ruby 2.5. Therefore, This PR adds `Capybara::Helpers.warn` internal method for emulating `warn 'message', uplevel: 1` in Ruby 2.5 or lower. This option will clarify where deprecation warnings should be fixed. ## Before ```console DEPRECATED: Calling 'has_key?' on the drivers/servers container is deprecated without replacement ``` ## After ```console /Users/koic/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/turnip-4.1.0/ lib/turnip/capybara.rb:10: warning: DEPRECATED: Calling 'has_key?' on the drivers/servers container is deprecated without replacement ```
262 lines
4.2 KiB
YAML
262 lines
4.2 KiB
YAML
require:
|
|
- rubocop-rspec
|
|
- rubocop-performance
|
|
|
|
AllCops:
|
|
NewCops: enable
|
|
DisabledByDefault: false
|
|
TargetRubyVersion: 2.5
|
|
Exclude:
|
|
- 'vendor/**/*'
|
|
- 'gemfiles/vendor/**/*'
|
|
|
|
#################### Lint ################################
|
|
|
|
Layout/LineLength:
|
|
Description: 'Limit lines to 80 characters.'
|
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
|
|
Exclude:
|
|
- 'spec/**/*'
|
|
- 'lib/capybara/spec/**/*'
|
|
IgnoredPatterns:
|
|
- '\s+# _?rubocop'
|
|
- '^\s*#'
|
|
- '^\s*(raise|warn|Capybara::Helpers.warn) '
|
|
Max: 120
|
|
|
|
Metrics/BlockLength:
|
|
Exclude:
|
|
- 'spec/**/*'
|
|
- 'lib/capybara/spec/**/*'
|
|
- 'capybara.gemspec'
|
|
ExcludedMethods:
|
|
- Capybara.add_selector
|
|
- Capybara::Selector::FilterSet.add
|
|
|
|
Metrics/AbcSize:
|
|
Enabled: false
|
|
|
|
Metrics/ClassLength:
|
|
CountComments: false
|
|
Enabled: false
|
|
|
|
Metrics/CyclomaticComplexity:
|
|
Enabled: false
|
|
|
|
Metrics/MethodLength:
|
|
CountComments: false
|
|
Enabled: false
|
|
|
|
Metrics/ModuleLength:
|
|
Enabled: false
|
|
CountComments: false
|
|
|
|
Metrics/PerceivedComplexity:
|
|
Enabled: false
|
|
|
|
Metrics/ParameterLists:
|
|
CountKeywordArgs: false
|
|
|
|
Lint/UnusedMethodArgument:
|
|
Exclude:
|
|
- 'lib/capybara/driver/base.rb'
|
|
- 'lib/capybara/driver/node.rb'
|
|
|
|
Lint/RaiseException:
|
|
Enabled: true
|
|
|
|
Lint/StructNewOverride:
|
|
Enabled: true
|
|
|
|
Lint/DeprecatedOpenSSLConstant:
|
|
Enabled: true
|
|
|
|
Lint/MixedRegexpCaptureTypes:
|
|
Enabled: true
|
|
|
|
Lint/DuplicateElsifCondition:
|
|
Enabled: true
|
|
|
|
Layout/EndAlignment:
|
|
EnforcedStyleAlignWith: variable
|
|
|
|
Naming/PredicateName:
|
|
Exclude:
|
|
- '**/*/*matchers.rb'
|
|
|
|
Naming/MethodParameterName:
|
|
AllowedNames:
|
|
- 'el'
|
|
- 'id'
|
|
- 'c'
|
|
- 'x'
|
|
- 'y'
|
|
- 'on'
|
|
|
|
Style/ParallelAssignment:
|
|
Enabled: false
|
|
|
|
Style/SingleLineMethods:
|
|
Enabled: false
|
|
|
|
Style/Alias:
|
|
Enabled: false
|
|
|
|
Style/Documentation:
|
|
Exclude:
|
|
- 'lib/capybara/spec/**/*'
|
|
- 'spec/**/*'
|
|
Enabled: false
|
|
|
|
Style/DoubleNegation:
|
|
Enabled: false
|
|
|
|
Style/EmptyElse:
|
|
EnforcedStyle: empty
|
|
|
|
Style/ClassAndModuleChildren:
|
|
Enabled: false
|
|
|
|
Style/NumericLiterals:
|
|
Exclude:
|
|
- 'lib/capybara/spec/**/*'
|
|
- 'spec/**/*'
|
|
|
|
Style/SpecialGlobalVars:
|
|
Exclude:
|
|
- 'capybara.gemspec'
|
|
|
|
Style/IfUnlessModifier:
|
|
Exclude:
|
|
- 'spec/**/*'
|
|
|
|
Style/HashEachMethods:
|
|
Enabled: true
|
|
|
|
Style/HashTransformKeys:
|
|
Enabled: true
|
|
|
|
Style/HashTransformValues:
|
|
Enabled: true
|
|
|
|
Style/ExponentialNotation:
|
|
Enabled: true
|
|
|
|
Style/SlicingWithRange:
|
|
Enabled: true
|
|
|
|
Style/RedundantRegexpCharacterClass:
|
|
Enabled: true
|
|
|
|
Style/RedundantRegexpEscape:
|
|
Enabled: true
|
|
|
|
Style/RedundantFetchBlock:
|
|
Enabled: true
|
|
|
|
Style/AccessorGrouping:
|
|
Enabled: false
|
|
|
|
Style/BisectedAttrAccessor:
|
|
Enabled: false
|
|
|
|
Style/RedundantAssignment:
|
|
Enabled: true
|
|
|
|
Style/ArrayCoercion:
|
|
Enabled: true
|
|
|
|
Style/CaseLikeIf:
|
|
Enabled: true
|
|
|
|
Style/HashAsLastArrayItem:
|
|
Enabled: true
|
|
|
|
Style/HashLikeCase:
|
|
Enabled: true
|
|
|
|
Style/RedundantFileExtensionInRequire:
|
|
Enabled: true
|
|
|
|
Layout/EmptyLineBetweenDefs:
|
|
AllowAdjacentOneLineDefs: true
|
|
|
|
Layout/AccessModifierIndentation:
|
|
EnforcedStyle: outdent
|
|
|
|
Layout/CaseIndentation:
|
|
EnforcedStyle: end
|
|
|
|
Layout/FirstArrayElementIndentation:
|
|
EnforcedStyle: consistent
|
|
|
|
Layout/IndentationWidth:
|
|
IgnoredPatterns: ['^\s*module']
|
|
|
|
Layout/SpaceAroundMethodCallOperator:
|
|
Enabled: true
|
|
|
|
Layout/EmptyLinesAroundAttributeAccessor:
|
|
Enabled: true
|
|
|
|
Security/YAMLLoad:
|
|
Exclude:
|
|
- 'lib/capybara/spec/**/*'
|
|
- 'spec/**/*'
|
|
|
|
Performance/AncestorsInclude:
|
|
Enabled: true
|
|
|
|
Performance/BigDecimalWithNumericArgument:
|
|
Enabled: true
|
|
|
|
Performance/RedundantSortBlock:
|
|
Enabled: true
|
|
|
|
Performance/RedundantStringChars:
|
|
Enabled: true
|
|
|
|
Performance/ReverseFirst:
|
|
Enabled: true
|
|
|
|
Performance/SortReverse:
|
|
Enabled: true
|
|
|
|
Performance/Squeeze:
|
|
Enabled: true
|
|
|
|
Performance/StringInclude:
|
|
Enabled: true
|
|
|
|
|
|
|
|
RSpec/ExampleWording:
|
|
Enabled: false
|
|
|
|
RSpec/InstanceVariable:
|
|
AssignmentOnly: true
|
|
|
|
RSpec/ExampleLength:
|
|
Enabled: false
|
|
|
|
RSpec/MultipleExpectations:
|
|
Enabled: false
|
|
|
|
RSpec/ContextWording:
|
|
Enabled: false
|
|
|
|
RSpec/NestedGroups:
|
|
Enabled: false
|
|
|
|
RSpec/DescribeClass:
|
|
Enabled: false
|
|
|
|
RSpec/FilePath:
|
|
Enabled: false
|
|
|
|
RSpec/PredicateMatcher:
|
|
Exclude:
|
|
- 'spec/basic_node_spec.rb'
|
|
|
|
Capybara/FeatureMethods:
|
|
Enabled: false
|