android_tests/lib/android/specs/common/helper.rb in appium_lib-4.0.0 vs android_tests/lib/android/specs/common/helper.rb in appium_lib-4.1.0
- old
+ new
@@ -1,23 +1,33 @@
describe 'common/helper' do
- wait_time = [0.2, 0.2] # max_wait, interval
+ wait_opts = { timeout: 0.2, interval: 0.2 } # max_wait, interval
+=begin
+There's no `must_not_raise` as the opposite of must_raise
+
+By default code is expected to not raise exceptions.
+must_not_raise is a no-op.
+=end
+
# wait is a success unless an error is raised
# max_wait=0 is infinity to use 0.1
t 'wait' do
# successful wait should not raise error
- wait(*wait_time) { true }
- wait(*wait_time) { false }
- wait(*wait_time) { nil }
+ wait(wait_opts) { true }
+ wait(wait_opts) { false }
+ wait(wait_opts) { nil }
# failed wait should error
- proc { wait(*wait_time) { raise } }.must_raise Timeout::Error
+ proc { wait(wait_opts) { raise } }.must_raise Selenium::WebDriver::Error::TimeOutError
# regular rescue will not handle exceptions outside of StandardError hierarchy
# must rescue Exception explicitly to rescue everything
- proc { wait(*wait_time) { raise NoMemoryError } }.must_raise Timeout::Error
- proc { wait(0.2, 0.0) { raise NoMemoryError } }.must_raise Timeout::Error
+ proc { wait(wait_opts) { raise NoMemoryError } }.must_raise Selenium::WebDriver::Error::TimeOutError
+ proc { wait(timeout: 0.2, interval: 0.0) { raise NoMemoryError } }.must_raise Selenium::WebDriver::Error::TimeOutError
+
+ # invalid keys are rejected
+ proc { wait(invalidkey: 2) { true } }.must_raise RuntimeError
end
t 'ignore' do
# ignore should rescue all exceptions
ignore { true }
@@ -28,22 +38,25 @@
end
# wait_true is a success unless the value is not true
t 'wait_true' do
# successful wait should not error
- wait_true(*wait_time) { true }
+ wait_true(wait_opts) { true }
# failed wait should error
- proc { wait_true(*wait_time) { false } }.must_raise Timeout::Error
- proc { wait_true(*wait_time) { nil } }.must_raise Timeout::Error
+ proc { wait_true(wait_opts) { false } }.must_raise Selenium::WebDriver::Error::TimeOutError
+ proc { wait_true(wait_opts) { nil } }.must_raise Selenium::WebDriver::Error::TimeOutError
# raise should error
- proc { wait_true(*wait_time) { raise } }.must_raise Timeout::Error
+ proc { wait_true(wait_opts) { raise } }.must_raise Selenium::WebDriver::Error::TimeOutError
# regular rescue will not handle exceptions outside of StandardError hierarchy
# must rescue Exception explicitly to rescue everything
- proc { wait_true(*wait_time) { raise NoMemoryError } }.must_raise Timeout::Error
- proc { wait_true(0.2, 0.0) { raise NoMemoryError } }.must_raise Timeout::Error
+ proc { wait_true(wait_opts) { raise NoMemoryError } }.must_raise Selenium::WebDriver::Error::TimeOutError
+ proc { wait_true(timeout: 0.2, interval: 0.0) { raise NoMemoryError } }.must_raise Selenium::WebDriver::Error::TimeOutError
+
+ # invalid keys are rejected
+ proc { wait_true(invalidkey: 2) { true } }.must_raise RuntimeError
end
t 'back' do
# start page
wait { texts.length.must_equal 12 }
\ No newline at end of file