lib/calabash-cucumber/actions/instruments_actions.rb in calabash-cucumber-0.9.163.pre10 vs lib/calabash-cucumber/actions/instruments_actions.rb in calabash-cucumber-0.9.163.pre11

- old
+ new

@@ -1,15 +1,13 @@ require 'calabash-cucumber/uia' require 'calabash-cucumber/connection_helpers' -require 'calabash-cucumber/failure_helpers' require 'calabash-cucumber/query_helpers' require 'calabash-cucumber/map' class Calabash::Cucumber::InstrumentsActions include Calabash::Cucumber::UIA include Calabash::Cucumber::ConnectionHelpers - include Calabash::Cucumber::FailureHelpers include Calabash::Cucumber::QueryHelpers include Calabash::Cucumber::Map def touch(options) query_action(options, :uia_tap_offset) @@ -69,11 +67,13 @@ # options[:query] or options[:offset] def query_action(options, action=nil, *args, &block) ui_query = options[:query] offset = options[:offset] if ui_query - el = find_and_normalize_or_raise(ui_query) + res = find_and_normalize(ui_query) + return res if res.empty? + el = res.first final_offset = point_from(el, options) if block_given? yield final_offset else self.send(action, final_offset, *args) @@ -87,26 +87,20 @@ self.send(action, offset, *args) end end end - def find_and_normalize_or_raise(ui_query) - raw_result = find_or_raise(ui_query) + def find_and_normalize(ui_query) + raw_result = raw_map(ui_query, :query) orientation = raw_result['status_bar_orientation'] - res = raw_result['results'].first + res = raw_result['results'] - normalize_rect_for_orientation!(orientation, res['rect']) if res['rect'] + return res if res.empty? - res - end + first_res = res.first + normalize_rect_for_orientation!(orientation, first_res['rect']) if first_res['rect'] - def find_or_raise(ui_query) - raw_result = raw_map(ui_query, :query) - if raw_result['results'].empty? - screenshot_and_raise "Unable to find element matching query #{ui_query}" - else - raw_result - end + res end def normalize_rect_for_orientation!(orientation, rect) orientation = orientation.to_sym launcher = Calabash::Cucumber::Launcher.launcher \ No newline at end of file