Module: Furter::Accessors

Defined in:
lib/furter/accessors.rb,
lib/furter/accessors/text.rb,
lib/furter/accessors/view.rb,
lib/furter/accessors/label.rb,
lib/furter/accessors/table.rb,
lib/furter/accessors/button.rb,
lib/furter/accessors/slider.rb,
lib/furter/accessors/switch.rb,
lib/furter/accessors/map_pin.rb,
lib/furter/accessors/table_item.rb,
lib/furter/accessors/alert_button.rb

Defined Under Namespace

Classes: AlertButton, Button, Label, MapPin, Slider, Switch, Table, TableItem, Text, View

Instance Method Summary collapse

Instance Method Details

#alert_button(name, locator) ⇒ Object



45
46
47
48
49
# File 'lib/furter/accessors.rb', line 45

def alert_button(name, locator)
  define_method("#{name}") do
    Furter::Accessors::AlertButton.new(locator).click
  end
end

#button(name, locator) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/furter/accessors.rb', line 36

def button(name, locator)
  define_method("#{name}") do
    Furter::Accessors::Button.new(locator).click
  end
  define_method("#{name}_view") do
    Furter::Accessors::Button.new(locator)
  end
end

#label(name, locator) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/furter/accessors.rb', line 18

def label(name, locator)
  define_method("#{name}") do
    Furter::Accessors::Label.new(locator).text
  end
  define_method("#{name}_view") do
    Furter::Accessors::Label.new(locator)
  end
end

#map_pin(name, locator) ⇒ Object



73
74
75
76
77
# File 'lib/furter/accessors.rb', line 73

def map_pin(name, locator)
  define_method("#{name}") do
    Furter::Accessors::MapPin.new(locator).click
  end
end

#slider(name, locator) ⇒ Object



91
92
93
94
95
96
97
98
99
100
101
# File 'lib/furter/accessors.rb', line 91

def slider(name, locator)
  define_method("#{name}_view") do
    Furter::Accessors::Slider.new(locator)
  end
  define_method("#{name}_move") do |value|
    Furter::Accessors::Slider.new(locator).move value
  end
  define_method("#{name}_progress") do
    Furter::Accessors::Slider.new(locator).progress
  end
end

#switch(name, locator) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
# File 'lib/furter/accessors.rb', line 79

def switch(name, locator)
  define_method("#{name}") do
    Furter::Accessors::Switch.new(locator).on?
  end
  define_method("#{name}=") do |on_or_off|
    Furter::Accessors::Switch.new(locator).set on_or_off
  end
  define_method("#{name}_view") do
    Furter::Accessors::Switch.new(locator)
  end
end

#table(name, locator) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/furter/accessors.rb', line 51

def table(name, locator)
  define_method("#{name}=") do |which|
    if which.is_a? Integer
      Furter::Accessors::Table.new(locator).touch_index which
    else
      Furter::Accessors::TableItem.new(:text => which).click
    end
  end
  define_method("#{name}_options") do
    Furter::Accessors::Table.new(locator).options
  end
  define_method("#{name}_view") do
    Furter::Accessors::Table.new(locator)
  end
end

#table_item(name, locator) ⇒ Object



67
68
69
70
71
# File 'lib/furter/accessors.rb', line 67

def table_item(name, locator)
  define_method("#{name}") do
    Furter::Accessors::TableItem.new(locator).click
  end
end

#text(name, locator) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/furter/accessors.rb', line 3

def text(name, locator)
  define_method("#{name}") do
    Furter::Accessors::Text.new(locator).get_text
  end
  define_method("#{name}_editable?") do
    Furter::Accessors::Text.new(locator).editable?
  end
  define_method("#{name}=") do |text|
    Furter::Accessors::Text.new(locator).set_text text
  end
  define_method("#{name}_view") do
    Furter::Accessors::Text.new(locator)
  end
end

#view(name, locator) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/furter/accessors.rb', line 27

def view(name, locator)
  define_method("#{name}") do
    Furter::Accessors::View.new(locator).click
  end
  define_method("#{name}_view") do
    Furter::Accessors::View.new(locator)
  end
end

#views(*view_classes) ⇒ Object



103
104
105
106
107
# File 'lib/furter/accessors.rb', line 103

def views(*view_classes)
  define_method(:active?) do
    (view_classes & Furter::Accessors::View.new.next_responders) == view_classes
  end
end