module Briar::Control::Segmented_Control
Public Instance Methods
index_of_control_with_id(control_id)
click to toggle source
# File lib/briar/control/segmented_control.rb, line 15 def index_of_control_with_id (control_id) controls = query('segmentedControl', AI) controls.index(control_id) end
index_of_segment_with_name_in_control_with_id(segment_id, control_id)
click to toggle source
# File lib/briar/control/segmented_control.rb, line 20 def index_of_segment_with_name_in_control_with_id(segment_id, control_id) qstr = "segmentedControl marked:'#{control_id}'" num_segs = query(qstr, :numberOfSegments).first.to_i idx = 0 while idx < num_segs title = query(qstr, {:titleForSegmentAtIndex => idx}).first return idx if title.eql?(segment_id) idx = idx + 1 end return nil end
query_str_for_control(control_id=nil)
click to toggle source
# File lib/briar/control/segmented_control.rb, line 7 def query_str_for_control (control_id=nil) if control_id.nil? 'segmentedControl' else "segmentedControl marked:'#{control_id}'" end end
should_see_control_with_segment_titles(control_id, segment_titles)
click to toggle source
# File lib/briar/control/segmented_control.rb, line 55 def should_see_control_with_segment_titles (control_id, segment_titles) @control_id = control_id should_see_view control_id tokens = tokenize_list(segment_titles) tokens.each do |token| token.strip! end counter = 0 tokens.each do |expected| idx = index_of_segment_with_name_in_control_with_id expected, control_id unless idx == counter actual = query("segmentedControl marked:'#{control_id}'", {:titleForSegmentAtIndex => counter}).first screenshot_and_raise "expected to see segment '#{expected}' at index '#{counter}' but found '#{actual}'" end counter = counter + 1 end end
should_see_segment_with_selected_state(control_id, segment_id, selected_state)
click to toggle source
# File lib/briar/control/segmented_control.rb, line 32 def should_see_segment_with_selected_state (control_id, segment_id, selected_state) @segment_id = segment_id @control_id = control_id qstr = "segmentedControl marked:'#{control_id}' child segment marked:'#{segment_id}'" res = query(qstr, :isSelected) if res.empty? screenshot_and_raise "expected to see segmented control '#{control_id}' with segment '#{segment_id}'" end actual_state = res.first unless actual_state == selected_state screenshot_and_raise "expected to see segment '#{segment_id}' in '#{control_id}' with selection state '#{selected_state}' but found '#{actual_state}'" end end
touch_segment(segment_id, control_id)
click to toggle source
# File lib/briar/control/segmented_control.rb, line 48 def touch_segment(segment_id, control_id) @segment_id = segment_id @control_id = control_id touch("segmentedControl marked:'#{control_id}' child segment marked:'#{segment_id}'") step_pause end