Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/unittest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: [3.0, 3.1, 3.2]
ruby: [3.1, 3.2, 3.3]

runs-on: ubuntu-latest

Expand All @@ -38,7 +38,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: [3.0, 3.1, 3.2]
ruby: [3.1, 3.2, 3.3]

runs-on: windows-latest

Expand Down
86 changes: 82 additions & 4 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
AllCops:
TargetRubyVersion: 2.6
TargetRubyVersion: 3.1
Layout/LineLength:
Max: 128
Layout/RescueEnsureAlignment:
Expand Down Expand Up @@ -75,7 +75,7 @@ Lint/AmbiguousRange:
Lint/DeprecatedConstants:
Enabled: true
Lint/DuplicateBranch:
Enabled: true
Enabled: false
Lint/DuplicateRegexpCharacterClassElement:
Enabled: true
Lint/EmptyBlock:
Expand Down Expand Up @@ -114,6 +114,7 @@ Security/IoMethods:
Enabled: true
Style/ArgumentsForwarding:
Enabled: true
UseAnonymousForwarding: false
Style/CollectionCompact:
Enabled: true
Style/DocumentDynamicEvalDefinition:
Expand Down Expand Up @@ -170,12 +171,11 @@ Lint/RequireRangeParentheses: # new in 1.32
Enabled: true
Lint/UselessRescue: # new in 1.43
Enabled: true
Lint/DuplicateBranch:
Enabled: false
Metrics/CollectionLiteralLength: # new in 1.47
Enabled: true
Naming/BlockForwarding: # new in 1.24
Enabled: true
EnforcedStyle: explicit
Security/CompoundHash: # new in 1.28
Enabled: true
Style/ArrayIntersect: # new in 1.40
Expand Down Expand Up @@ -228,3 +228,81 @@ Style/RedundantStringEscape: # new in 1.37
Enabled: true
Style/RegexpLiteral:
Enabled: false
Gemspec/AddRuntimeDependency: # new in 1.65
Enabled: true
Lint/ConstantReassignment: # new in 1.70
Enabled: true
Lint/DuplicateMatchPattern: # new in 1.50
Enabled: true
Lint/DuplicateSetElement: # new in 1.67
Enabled: true
Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
Enabled: true
Lint/ItWithoutArgumentsInBlock: # new in 1.59
Enabled: true
Lint/LiteralAssignmentInCondition: # new in 1.58
Enabled: true
Lint/MixedCaseRange: # new in 1.53
Enabled: true
Lint/NumericOperationWithConstantResult: # new in 1.69
Enabled: true
Lint/RedundantRegexpQuantifiers: # new in 1.53
Enabled: true
Lint/SharedMutableDefault: # new in 1.70
Enabled: true
Lint/UnescapedBracketInRegexp: # new in 1.68
Enabled: true
Lint/UselessDefined: # new in 1.69
Enabled: true
Lint/UselessNumericOperation: # new in 1.66
Enabled: true
Style/AmbiguousEndlessMethodDefinition: # new in 1.68
Enabled: true
Style/BitwisePredicate: # new in 1.68
Enabled: true
Style/CombinableDefined: # new in 1.68
Enabled: true
Style/DataInheritance: # new in 1.49
Enabled: true
Style/DigChain: # new in 1.69
Enabled: true
Style/ExactRegexpMatch: # new in 1.51
Enabled: true
Style/FileNull: # new in 1.69
Enabled: true
Style/FileTouch: # new in 1.69
Enabled: true
Style/ItAssignment: # new in 1.70
Enabled: true
Style/KeywordArgumentsMerging: # new in 1.68
Enabled: true
Style/MapIntoArray: # new in 1.63
Enabled: true
Style/RedundantArrayConstructor: # new in 1.52
Enabled: true
Style/RedundantCurrentDirectoryInPath: # new in 1.53
Enabled: true
Style/RedundantFilterChain: # new in 1.52
Enabled: true
Style/RedundantInterpolationUnfreeze: # new in 1.66
Enabled: true
Style/RedundantLineContinuation: # new in 1.49
Enabled: true
Style/RedundantRegexpArgument: # new in 1.53
Enabled: true
Style/RedundantRegexpConstructor: # new in 1.52
Enabled: true
Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
Enabled: true
Style/SafeNavigationChainLength: # new in 1.68
Enabled: true
Style/SendWithLiteralMethodName: # new in 1.64
Enabled: true
Style/SingleLineDoEndBlock: # new in 1.57
Enabled: true
Style/SuperArguments: # new in 1.64
Enabled: true
Style/SuperWithArgsParentheses: # new in 1.58
Enabled: true
Style/YAMLFileRead: # new in 1.53
Enabled: true
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Read `release_notes.md` for commit level details.
### Bug fixes

### Deprecations
- Drop Ruby 3.0 by following selenium binding

## [9.4.0] - 2025-01-08

Expand Down
11 changes: 11 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,14 @@ source 'https://rubygems.org'

# Specify your gem's dependencies in appium_lib_core.gemspec
gemspec

gem 'appium_thor', '~> 2.0'
gem 'minitest', '~> 5.0'
gem 'minitest-reporters', '~> 1.1'
gem 'parallel_tests'
gem 'rake', '~> 13.0'
gem 'rubocop', '1.70.0'
gem 'simplecov'
gem 'steep', '~> 1.7.0'
gem 'webmock', '~> 3.24.0'
gem 'yard', '~> 0.9.11'
16 changes: 3 additions & 13 deletions appium_lib_core.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'appium_lib_core/version'

Gem::Specification.new do |spec|
spec.required_ruby_version = Gem::Requirement.new('>= 3.0')
spec.required_ruby_version = Gem::Requirement.new('>= 3.1')

spec.name = 'appium_lib_core'
spec.version = Appium::Core::VERSION
Expand All @@ -21,18 +21,8 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
spec.add_runtime_dependency 'selenium-webdriver', '~> 4.21'
spec.add_dependency 'faye-websocket', '~> 0.11.0'
spec.add_dependency 'selenium-webdriver', '~> 4.21'

spec.add_development_dependency 'appium_thor', '~> 2.0'
spec.add_development_dependency 'minitest', '~> 5.0'
spec.add_development_dependency 'minitest-reporters', '~> 1.1'
spec.add_development_dependency 'parallel_tests'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '1.70.0'
spec.add_development_dependency 'simplecov'
spec.add_development_dependency 'steep', '~> 1.7.0'
spec.add_development_dependency 'webmock', '~> 3.24.0'
spec.add_development_dependency 'yard', '~> 0.9.11'
spec.metadata['rubygems_mfa_required'] = 'true'
end
2 changes: 1 addition & 1 deletion lib/appium_lib_core/common/base/http_default.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ module RequestHeaders
class Default < ::Selenium::WebDriver::Remote::Http::Default
attr_reader :additional_headers

::Selenium::WebDriver::Remote::Http::Common.user_agent = \
::Selenium::WebDriver::Remote::Http::Common.user_agent =
"appium/ruby_lib_core/#{VERSION} (#{::Selenium::WebDriver::Remote::Http::Common.user_agent})"

# override
Expand Down
2 changes: 1 addition & 1 deletion lib/appium_lib_core/support/event_firing_bridge.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class EventFiringBridge < ::Selenium::WebDriver::Support::EventFiringBridge

def initialize(delegate, listener, **opts)
@appium_options = opts
super delegate, listener
super(delegate, listener)
end

def find_element_by(how, what, parent = nil)
Expand Down
2 changes: 1 addition & 1 deletion test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
# Ignore since Minitest::Reporters::JUnitReporter.new fails in deleting files, sometimes
end

ROOT_REPORT_PATH = "#{Dir.pwd}/test/report"
ROOT_REPORT_PATH = "#{Dir.pwd}/test/report".freeze
START_AT = Time.now.strftime('%Y-%m-%d-%H%M%S').freeze

Dir.mkdir(ROOT_REPORT_PATH) unless Dir.exist? ROOT_REPORT_PATH
Expand Down
Loading