mohawk 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +24 -17
- data/.travis.yml +2 -0
- data/Changelog +36 -20
- data/Gemfile +3 -3
- data/Guardfile +16 -0
- data/LICENSE.txt +21 -21
- data/README.md +60 -56
- data/Rakefile +18 -18
- data/features/control.feature +5 -0
- data/features/label.feature +4 -4
- data/features/link.feature +9 -0
- data/features/mohawk.feature +4 -1
- data/features/navigation.feature +9 -0
- data/features/step_definitions/control_steps.rb +3 -0
- data/features/step_definitions/label_steps.rb +3 -3
- data/features/step_definitions/link_steps.rb +3 -0
- data/features/step_definitions/mohawk_steps.rb +4 -0
- data/features/step_definitions/navigation_steps.rb +15 -0
- data/features/step_definitions/table_steps.rb +19 -3
- data/features/step_definitions/tree_view_steps.rb +4 -0
- data/features/support/WindowsForms.exe +0 -0
- data/features/support/app/WindowsForms/WindowsForms/AboutBox.Designer.cs +80 -0
- data/features/support/app/WindowsForms/WindowsForms/AboutBox.cs +103 -0
- data/features/support/app/WindowsForms/WindowsForms/AboutBox.resx +120 -0
- data/features/support/app/WindowsForms/WindowsForms/AutomatableMonthCalendar.cs +59 -0
- data/features/support/app/WindowsForms/WindowsForms/AutomationHelpers/AutomationProvider.cs +91 -0
- data/features/support/app/WindowsForms/WindowsForms/DataEntryForm.Designer.cs +187 -0
- data/features/support/app/WindowsForms/WindowsForms/DataEntryForm.cs +46 -0
- data/features/support/app/WindowsForms/WindowsForms/DataEntryForm.resx +120 -0
- data/features/support/app/WindowsForms/WindowsForms/MainFormWindow.Designer.cs +526 -0
- data/features/support/app/WindowsForms/WindowsForms/MainFormWindow.cs +93 -0
- data/features/support/app/WindowsForms/WindowsForms/MainFormWindow.resx +123 -0
- data/features/support/app/WindowsForms/WindowsForms/PersonForm.Designer.cs +119 -0
- data/features/support/app/WindowsForms/WindowsForms/PersonForm.cs +34 -0
- data/features/support/app/WindowsForms/WindowsForms/PersonForm.resx +120 -0
- data/features/support/app/WindowsForms/WindowsForms/Program.cs +21 -0
- data/features/support/app/WindowsForms/WindowsForms/Properties/AssemblyInfo.cs +36 -0
- data/features/support/app/WindowsForms/WindowsForms/Properties/Resources.Designer.cs +71 -0
- data/features/support/app/WindowsForms/WindowsForms/Properties/Resources.resx +117 -0
- data/features/support/app/WindowsForms/WindowsForms/Properties/Settings.Designer.cs +30 -0
- data/features/support/app/WindowsForms/WindowsForms/Properties/Settings.settings +7 -0
- data/features/support/app/WindowsForms/WindowsForms/SimpleElementsForm.Designer.cs +93 -0
- data/features/support/app/WindowsForms/WindowsForms/SimpleElementsForm.cs +19 -0
- data/features/support/app/WindowsForms/WindowsForms/SimpleElementsForm.resx +120 -0
- data/features/support/app/WindowsForms/WindowsForms/WindowsForms.csproj +132 -0
- data/features/support/app/WindowsForms/WindowsForms.sln +30 -0
- data/features/support/env.rb +28 -17
- data/features/support/screens/about_screen.rb +7 -0
- data/features/support/screens/data_entry_form.rb +5 -0
- data/features/support/screens/main_screen.rb +3 -0
- data/features/table.feature +14 -0
- data/features/tree_view.feature +3 -0
- data/lib/mohawk/accessors/button.rb +6 -4
- data/lib/mohawk/accessors/checkbox.rb +7 -5
- data/lib/mohawk/accessors/combo.rb +7 -5
- data/lib/mohawk/accessors/control.rb +23 -0
- data/lib/mohawk/accessors/label.rb +15 -13
- data/lib/mohawk/accessors/link.rb +9 -0
- data/lib/mohawk/accessors/radio.rb +5 -3
- data/lib/mohawk/accessors/table.rb +12 -31
- data/lib/mohawk/accessors/table_row.rb +43 -0
- data/lib/mohawk/accessors/text.rb +7 -5
- data/lib/mohawk/accessors/tree_view.rb +9 -7
- data/lib/mohawk/accessors.rb +66 -7
- data/lib/mohawk/adapters/uia_adapter.rb +8 -0
- data/lib/mohawk/core_ext/string.rb +5 -0
- data/lib/mohawk/navigation.rb +6 -2
- data/lib/mohawk/version.rb +3 -3
- data/lib/mohawk.rb +76 -69
- data/mohawk.gemspec +32 -26
- data/spec/lib/mohawk/accessors/button_spec.rb +4 -0
- data/spec/lib/mohawk/accessors/checkbox_spec.rb +4 -1
- data/spec/lib/mohawk/accessors/combo_spec.rb +3 -0
- data/spec/lib/mohawk/accessors/control_spec.rb +38 -0
- data/spec/lib/mohawk/accessors/label_spec.rb +29 -25
- data/spec/lib/mohawk/accessors/link_spec.rb +34 -0
- data/spec/lib/mohawk/accessors/radio_spec.rb +4 -0
- data/spec/lib/mohawk/accessors/table_spec.rb +52 -7
- data/spec/lib/mohawk/accessors/text_spec.rb +4 -0
- data/spec/lib/mohawk/accessors/tree_view_spec.rb +5 -0
- data/spec/lib/mohawk_spec.rb +19 -0
- data/spec/lib/navigation_spec.rb +5 -0
- metadata +175 -6
@@ -1,13 +1,15 @@
|
|
1
|
-
module Mohawk
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
end
|
1
|
+
module Mohawk
|
2
|
+
module Accessors
|
3
|
+
class Label
|
4
|
+
attr_reader :view
|
5
|
+
|
6
|
+
def initialize(adapter, locator)
|
7
|
+
@view = adapter.window.label(locator)
|
8
|
+
end
|
9
|
+
|
10
|
+
def value
|
11
|
+
@view.value
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,16 +1,18 @@
|
|
1
1
|
module Mohawk
|
2
2
|
module Accessors
|
3
3
|
class Radio
|
4
|
+
attr_reader :view
|
5
|
+
|
4
6
|
def initialize(adapter, locator)
|
5
|
-
@
|
7
|
+
@view = adapter.window.radio(locator)
|
6
8
|
end
|
7
9
|
|
8
10
|
def set
|
9
|
-
@
|
11
|
+
@view.set
|
10
12
|
end
|
11
13
|
|
12
14
|
def set?
|
13
|
-
@
|
15
|
+
@view.set?
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
@@ -1,49 +1,30 @@
|
|
1
1
|
module Mohawk
|
2
2
|
module Accessors
|
3
3
|
class Table
|
4
|
-
|
5
|
-
attr_reader :row
|
4
|
+
attr_reader :view
|
6
5
|
|
7
|
-
|
8
|
-
@row = row
|
9
|
-
@table = table
|
10
|
-
end
|
11
|
-
|
12
|
-
def selected?
|
13
|
-
@table.selected? row.row
|
14
|
-
end
|
15
|
-
|
16
|
-
def cells
|
17
|
-
row.cells.map &:text
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_hash
|
21
|
-
{:text => row.text, :row => row.row }
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
attr_reader :table
|
6
|
+
include Enumerable
|
26
7
|
|
27
8
|
def initialize(adapter, locator)
|
28
|
-
@
|
9
|
+
@view = adapter.window.table(locator)
|
29
10
|
end
|
30
11
|
|
31
12
|
def select(which_item)
|
32
|
-
|
13
|
+
view.select which_item
|
33
14
|
end
|
34
15
|
|
35
|
-
def
|
36
|
-
|
37
|
-
Row.new(table, row).to_hash
|
38
|
-
end
|
16
|
+
def headers
|
17
|
+
RAutomation::Adapter::MsUia::UiaDll.table_headers(view.search_information)
|
39
18
|
end
|
40
19
|
|
41
|
-
def row
|
42
|
-
|
20
|
+
def [](row)
|
21
|
+
TableRow.new(self, view.row(:index => row))
|
43
22
|
end
|
44
23
|
|
45
|
-
def
|
46
|
-
|
24
|
+
def each
|
25
|
+
view.rows.map do |row|
|
26
|
+
yield TableRow.new(self, row)
|
27
|
+
end
|
47
28
|
end
|
48
29
|
end
|
49
30
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Mohawk
|
2
|
+
module Accessors
|
3
|
+
class TableRow
|
4
|
+
attr_reader :row
|
5
|
+
|
6
|
+
def initialize(table, row)
|
7
|
+
@row = row
|
8
|
+
@table = table
|
9
|
+
end
|
10
|
+
|
11
|
+
def selected?
|
12
|
+
@table.view.selected? row.row
|
13
|
+
end
|
14
|
+
|
15
|
+
def select
|
16
|
+
@table.view.select row.row
|
17
|
+
end
|
18
|
+
|
19
|
+
def cells
|
20
|
+
row.cells.map &:text
|
21
|
+
end
|
22
|
+
|
23
|
+
def value_from_header(name)
|
24
|
+
which_column = header_methods.index(name)
|
25
|
+
raise ArgumentError, "#{name} column does not exist in #{header_methods}" if which_column.nil?
|
26
|
+
cells[which_column]
|
27
|
+
end
|
28
|
+
|
29
|
+
def method_missing(name, *args)
|
30
|
+
value_from_header name
|
31
|
+
end
|
32
|
+
|
33
|
+
def to_hash
|
34
|
+
{:text => row.text, :row => row.row }
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
def header_methods
|
39
|
+
@headers ||= @table.headers.map(&:to_method)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -1,25 +1,27 @@
|
|
1
1
|
module Mohawk
|
2
2
|
module Accessors
|
3
3
|
class Text
|
4
|
+
attr_reader :view
|
5
|
+
|
4
6
|
def initialize(adapter, locator)
|
5
7
|
@adapter = adapter
|
6
|
-
@
|
8
|
+
@view = adapter.window.text_field(locator)
|
7
9
|
end
|
8
10
|
|
9
11
|
def value
|
10
|
-
@
|
12
|
+
@view.value
|
11
13
|
end
|
12
14
|
|
13
15
|
def set(text)
|
14
|
-
@
|
16
|
+
@view.set text
|
15
17
|
end
|
16
18
|
|
17
19
|
def clear
|
18
|
-
@
|
20
|
+
@view.clear
|
19
21
|
end
|
20
22
|
|
21
23
|
def enter(text)
|
22
|
-
text_window = @adapter.window.child(:hwnd => @
|
24
|
+
text_window = @adapter.window.child(:hwnd => @view.hwnd)
|
23
25
|
text_window.send_keys text.split(//)
|
24
26
|
end
|
25
27
|
end
|
@@ -1,29 +1,31 @@
|
|
1
1
|
module Mohawk
|
2
2
|
module Accessors
|
3
3
|
class TreeView
|
4
|
+
attr_reader :view
|
5
|
+
|
4
6
|
def initialize(adapter, locator)
|
5
|
-
@
|
7
|
+
@view = adapter.window.select_list(locator)
|
6
8
|
end
|
7
9
|
|
8
10
|
def value
|
9
|
-
@
|
11
|
+
@view.value
|
10
12
|
end
|
11
13
|
|
12
14
|
def items
|
13
|
-
@
|
15
|
+
@view.options.map &:text
|
14
16
|
end
|
15
17
|
|
16
18
|
def expand(which_item)
|
17
|
-
@
|
19
|
+
@view.expand which_item
|
18
20
|
end
|
19
21
|
|
20
22
|
def collapse(which_item)
|
21
|
-
@
|
23
|
+
@view.collapse which_item
|
22
24
|
end
|
23
25
|
|
24
26
|
def select(which_item)
|
25
|
-
@
|
26
|
-
@
|
27
|
+
@view.select which_item if which_item.is_a? Integer
|
28
|
+
@view.set which_item if which_item.is_a? String
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
data/lib/mohawk/accessors.rb
CHANGED
@@ -40,6 +40,9 @@ module Mohawk
|
|
40
40
|
define_method("enter_#{name}") do |text|
|
41
41
|
adapter.text(locator).enter text
|
42
42
|
end
|
43
|
+
define_method("#{name}_view") do
|
44
|
+
adapter.text(locator).view
|
45
|
+
end
|
43
46
|
end
|
44
47
|
|
45
48
|
#
|
@@ -60,6 +63,9 @@ module Mohawk
|
|
60
63
|
define_method("#{name}_value") do
|
61
64
|
adapter.button(locator).value
|
62
65
|
end
|
66
|
+
define_method("#{name}_view") do
|
67
|
+
adapter.button(locator).view
|
68
|
+
end
|
63
69
|
end
|
64
70
|
|
65
71
|
#
|
@@ -88,6 +94,9 @@ module Mohawk
|
|
88
94
|
define_method("#{name}_options") do
|
89
95
|
adapter.combo(locator).options
|
90
96
|
end
|
97
|
+
define_method("#{name}_view") do
|
98
|
+
adapter.combo(locator).view
|
99
|
+
end
|
91
100
|
end
|
92
101
|
|
93
102
|
#
|
@@ -111,6 +120,9 @@ module Mohawk
|
|
111
120
|
define_method("#{name}_value") do
|
112
121
|
adapter.checkbox(locator).value
|
113
122
|
end
|
123
|
+
define_method("#{name}_view") do
|
124
|
+
adapter.checkbox(locator).view
|
125
|
+
end
|
114
126
|
end
|
115
127
|
|
116
128
|
#
|
@@ -131,6 +143,9 @@ module Mohawk
|
|
131
143
|
define_method("#{name}?") do
|
132
144
|
adapter.radio(locator).set?
|
133
145
|
end
|
146
|
+
define_method("#{name}_view") do
|
147
|
+
adapter.radio(locator).view
|
148
|
+
end
|
134
149
|
end
|
135
150
|
|
136
151
|
#
|
@@ -147,6 +162,31 @@ module Mohawk
|
|
147
162
|
define_method("#{name}") do
|
148
163
|
adapter.label(locator).value
|
149
164
|
end
|
165
|
+
define_method("#{name}_view") do
|
166
|
+
adapter.label(locator).view
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
#
|
171
|
+
# Generates methods to work with link controls
|
172
|
+
#
|
173
|
+
# @example
|
174
|
+
# link(:send_info_link, :id => 'sendInfoId')
|
175
|
+
# # will generate 'send_info_link_text' and 'click_send_info_link' methods
|
176
|
+
#
|
177
|
+
# @param [String] the name used for the generated methods
|
178
|
+
# @param [Hash] locator for how the label is found
|
179
|
+
#
|
180
|
+
def link(name, locator)
|
181
|
+
define_method("#{name}_text") do
|
182
|
+
adapter.link(locator).value
|
183
|
+
end
|
184
|
+
define_method("click_#{name}") do
|
185
|
+
adapter.link(locator).click
|
186
|
+
end
|
187
|
+
define_method("#{name}_view") do
|
188
|
+
adapter.link(locator).view
|
189
|
+
end
|
150
190
|
end
|
151
191
|
|
152
192
|
# Generates methods to work with menu items
|
@@ -168,8 +208,9 @@ module Mohawk
|
|
168
208
|
#
|
169
209
|
# @example
|
170
210
|
# table(:some_table, :id => "tableId")
|
171
|
-
# # will generate 'some_table
|
172
|
-
# #
|
211
|
+
# # will generate 'some_table', 'some_table=', 'some_table_headers'
|
212
|
+
# # and 'some_table_view' methods to get an Enumerable of table rows,
|
213
|
+
# # select a table item, return all of the headers and get the raw view
|
173
214
|
#
|
174
215
|
# @param [String] the name used for the generated methods
|
175
216
|
# @param [Hash] locator for how the label is found
|
@@ -179,14 +220,14 @@ module Mohawk
|
|
179
220
|
# * list_view
|
180
221
|
#
|
181
222
|
def table(name, locator)
|
223
|
+
define_method("#{name}") do
|
224
|
+
adapter.table(locator)
|
225
|
+
end
|
182
226
|
define_method("#{name}=") do |which_item|
|
183
227
|
adapter.table(locator).select which_item
|
184
228
|
end
|
185
|
-
define_method("#{name}
|
186
|
-
adapter.table(locator).
|
187
|
-
end
|
188
|
-
define_method("#{name}_row") do |which_row|
|
189
|
-
adapter.table(locator).row which_row
|
229
|
+
define_method("#{name}_headers") do
|
230
|
+
adapter.table(locator).headers
|
190
231
|
end
|
191
232
|
define_method("#{name}_view") do
|
192
233
|
adapter.table(locator).view
|
@@ -224,6 +265,24 @@ module Mohawk
|
|
224
265
|
define_method("collapse_#{name}_item") do |which_item|
|
225
266
|
adapter.tree_view(locator).collapse which_item
|
226
267
|
end
|
268
|
+
define_method("#{name}_view") do
|
269
|
+
adapter.tree_view(locator).view
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
def control(name, locator)
|
274
|
+
define_method("#{name}_value") do
|
275
|
+
adapter.value_control(locator).value
|
276
|
+
end
|
277
|
+
define_method("#{name}=") do |value|
|
278
|
+
adapter.value_control(locator).set value
|
279
|
+
end
|
280
|
+
define_method("click_#{name}") do
|
281
|
+
adapter.value_control(locator).click
|
282
|
+
end
|
283
|
+
define_method("#{name}_view") do
|
284
|
+
adapter.value_control(locator).view
|
285
|
+
end
|
227
286
|
end
|
228
287
|
|
229
288
|
# combo_box aliases
|
@@ -31,6 +31,10 @@ module Mohawk
|
|
31
31
|
Mohawk::Accessors::Label.new(self, locator)
|
32
32
|
end
|
33
33
|
|
34
|
+
def link(locator)
|
35
|
+
Mohawk::Accessors::Link.new(self, locator)
|
36
|
+
end
|
37
|
+
|
34
38
|
def menu_item(locator)
|
35
39
|
Mohawk::Accessors::MenuItem.new(self, locator)
|
36
40
|
end
|
@@ -42,6 +46,10 @@ module Mohawk
|
|
42
46
|
def tree_view(locator)
|
43
47
|
Mohawk::Accessors::TreeView.new(self, locator)
|
44
48
|
end
|
49
|
+
|
50
|
+
def value_control(locator)
|
51
|
+
Mohawk::Accessors::Control.new(self, locator)
|
52
|
+
end
|
45
53
|
end
|
46
54
|
end
|
47
55
|
end
|
data/lib/mohawk/navigation.rb
CHANGED
@@ -1,7 +1,11 @@
|
|
1
|
+
require 'page_navigation'
|
2
|
+
|
1
3
|
module Mohawk
|
2
4
|
module Navigation
|
3
|
-
|
4
|
-
|
5
|
+
include PageNavigation
|
6
|
+
|
7
|
+
def on(cls, extra={}, &block)
|
8
|
+
screen = cls.new extra
|
5
9
|
screen.wait_until_present
|
6
10
|
block.call screen if block
|
7
11
|
screen
|
data/lib/mohawk/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module Mohawk
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
1
|
+
module Mohawk
|
2
|
+
VERSION = "0.0.3"
|
3
|
+
end
|
data/lib/mohawk.rb
CHANGED
@@ -1,69 +1,76 @@
|
|
1
|
-
require "rautomation"
|
2
|
-
require "mohawk/version"
|
3
|
-
require "
|
4
|
-
require "mohawk/accessors
|
5
|
-
require "mohawk/
|
6
|
-
require "mohawk/
|
7
|
-
require "mohawk/
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
#
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
#
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
#
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
#
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
#
|
64
|
-
#
|
65
|
-
#
|
66
|
-
def
|
67
|
-
|
68
|
-
end
|
69
|
-
|
1
|
+
require "rautomation"
|
2
|
+
require "mohawk/version"
|
3
|
+
require "require_all"
|
4
|
+
require "mohawk/accessors"
|
5
|
+
require "mohawk/navigation"
|
6
|
+
require "mohawk/adapters/uia_adapter"
|
7
|
+
require "mohawk/core_ext/string"
|
8
|
+
|
9
|
+
require_rel "mohawk/accessors"
|
10
|
+
|
11
|
+
module Mohawk
|
12
|
+
|
13
|
+
attr_reader :adapter
|
14
|
+
|
15
|
+
def self.included(cls)
|
16
|
+
cls.extend Mohawk::Accessors
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(extra={})
|
20
|
+
@adapter = Mohawk::Adapters::UiaAdapter.new(which_window.merge(extra))
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# Returns whether or not the window exists
|
25
|
+
#
|
26
|
+
def exist?
|
27
|
+
adapter.window.exist?
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Returns whether or not the window is active
|
32
|
+
#
|
33
|
+
def active?
|
34
|
+
adapter.window.active?
|
35
|
+
end
|
36
|
+
|
37
|
+
#
|
38
|
+
# Returns whether or not the window is present
|
39
|
+
#
|
40
|
+
def present?
|
41
|
+
adapter.window.present?
|
42
|
+
end
|
43
|
+
|
44
|
+
#
|
45
|
+
# Waits until the window is present
|
46
|
+
#
|
47
|
+
def wait_until_present
|
48
|
+
adapter.window.wait_until_present
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# Waits until a control exists
|
53
|
+
#
|
54
|
+
def wait_for_control(locator)
|
55
|
+
control = adapter.window.control(locator)
|
56
|
+
begin
|
57
|
+
RAutomation::WaitHelper.wait_until { control.exist? }
|
58
|
+
rescue
|
59
|
+
raise "A control with #{locator} was not found"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
#
|
64
|
+
# Waits until the block returns true
|
65
|
+
#
|
66
|
+
def wait_until(timeout=RAutomation::Window.wait_timeout, &block)
|
67
|
+
RAutomation::WaitHelper.wait_until timeout, &block
|
68
|
+
end
|
69
|
+
|
70
|
+
#
|
71
|
+
# Indicates if the window has text or not
|
72
|
+
#
|
73
|
+
def has_text?(text_to_find)
|
74
|
+
adapter.window.text.include? text_to_find
|
75
|
+
end
|
76
|
+
end
|
data/mohawk.gemspec
CHANGED
@@ -1,26 +1,32 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'mohawk/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |gem|
|
7
|
-
gem.name = "mohawk"
|
8
|
-
gem.version = Mohawk::VERSION
|
9
|
-
gem.authors = ["Levi Wilson"]
|
10
|
-
gem.email = ["levi@leviwilson.com"]
|
11
|
-
gem.description = %q{High level wrapper around windows applications}
|
12
|
-
gem.summary = %q{High level wrapper around windows applications}
|
13
|
-
gem.homepage = "http://github.com/leviwilson/mohawk"
|
14
|
-
|
15
|
-
gem.files = `git ls-files`.split($/)
|
16
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
-
gem.require_paths = ["lib"]
|
19
|
-
|
20
|
-
gem.add_dependency 'rautomation', '>= 0.
|
21
|
-
|
22
|
-
gem.
|
23
|
-
|
24
|
-
gem.add_development_dependency '
|
25
|
-
gem.add_development_dependency '
|
26
|
-
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'mohawk/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "mohawk"
|
8
|
+
gem.version = Mohawk::VERSION
|
9
|
+
gem.authors = ["Levi Wilson"]
|
10
|
+
gem.email = ["levi@leviwilson.com"]
|
11
|
+
gem.description = %q{High level wrapper around windows applications}
|
12
|
+
gem.summary = %q{High level wrapper around windows applications}
|
13
|
+
gem.homepage = "http://github.com/leviwilson/mohawk"
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
|
20
|
+
gem.add_dependency 'rautomation', '>= 0.9.1'
|
21
|
+
gem.add_dependency 'require_all'
|
22
|
+
gem.add_dependency 'page_navigation', '>= 0.7'
|
23
|
+
|
24
|
+
gem.add_development_dependency 'cucumber'
|
25
|
+
gem.add_development_dependency 'rspec', '>= 2.12.0'
|
26
|
+
gem.add_development_dependency 'rake'
|
27
|
+
gem.add_development_dependency 'childprocess'
|
28
|
+
gem.add_development_dependency 'rb-fsevent', '~> 0.9.1'
|
29
|
+
gem.add_development_dependency 'guard'
|
30
|
+
gem.add_development_dependency 'guard-rspec'
|
31
|
+
gem.add_development_dependency 'terminal-notifier-guard'
|
32
|
+
end
|
@@ -58,6 +58,9 @@ describe Mohawk::Accessors::Combo do
|
|
58
58
|
screen.nacho_combos_options.should eq(["first", "second", "third"])
|
59
59
|
end
|
60
60
|
|
61
|
+
it "can dish out the combo view" do
|
62
|
+
screen.nacho_combos_view.should be(combo_box_field)
|
63
|
+
end
|
61
64
|
end
|
62
65
|
|
63
66
|
context "aliases for combo_box" do
|