Class: Osaka::Calculator

Inherits:
TypicalApplication show all
Defined in:
lib/osaka/calculator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from TypicalApplication

#close, #close_dialog_sheet_with_dont_save, #copy, #create_dialog, #create_document, #cut, #do_and_wait_for_new_window, #duplicate, #duplicate_and_close_original, #duplicate_available?, #focus, #get_info, #initialize_copy, #new_document, #open, #paste, #print_dialog, #quit, #raise_error_on_open_standard_windows, #running?, #save, #save_as, #save_pops_up_dialog?, #select_all, #select_file_from_open_dialog, #wait_for_application_to_quit, #wait_for_save_dialog_and_save_file, #wait_for_window_and_dialogs_to_close

Constructor Details

#initializeCalculator

Returns a new instance of Calculator.



7
8
9
10
11
# File 'lib/osaka/calculator.rb', line 7

def initialize
  @name = "Calculator"
  @control = RemoteControl.new("Calculator")
  control.set_current_window(@name)
end

Instance Attribute Details

#controlObject

Returns the value of attribute control.



5
6
7
# File 'lib/osaka/calculator.rb', line 5

def control
  @control
end

Instance Method Details

#activateObject



13
14
15
16
17
18
19
# File 'lib/osaka/calculator.rb', line 13

def activate
  super
  if (control.current_window_name.empty?)
    wait_for_new_window([])
    control.set_current_window(control.window_list[0])
  end
end

#click(key) ⇒ Object



21
22
23
# File 'lib/osaka/calculator.rb', line 21

def click(key)
  control.click!(at.button(key).group(2))
end

#key(k) ⇒ Object



25
26
27
# File 'lib/osaka/calculator.rb', line 25

def key(k)
  control.keystroke(k)
end

#resultObject



29
30
31
32
# File 'lib/osaka/calculator.rb', line 29

def result
  control.wait_until_exists!(at.static_text(1).group(1))
  control.get!('value', at.static_text(1).group(1))
end