gametel 0.5.9.3 → 0.6
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/features/list_item.feature +6 -0
- data/features/step_definitions/list_item_steps.rb +5 -2
- data/features/support/screens/custom_items_screen.rb +1 -0
- data/features/text.feature +11 -0
- data/lib/gametel/platforms/brazenhead/list_item.rb +2 -2
- data/lib/gametel/version.rb +1 -1
- data/lib/gametel/views/text.rb +4 -0
- data/lib/gametel/views/view.rb +7 -3
- data/spec/lib/gametel/accessors/text_spec.rb +11 -0
- metadata +4 -8
data/features/list_item.feature
CHANGED
@@ -22,6 +22,12 @@ Feature: Interacting with the list item control
|
|
22
22
|
Then I should know that it has the text "Tom"
|
23
23
|
And I should know that it has the text "This is Tom, he likes long walks in the park."
|
24
24
|
|
25
|
+
Scenario: Determining text inside a list item by index
|
26
|
+
Given I am on the custom list screen
|
27
|
+
When I ask for the first item by the first index
|
28
|
+
Then I should know that it has the text "Tom"
|
29
|
+
And I should know that it has the text "This is Tom, he likes long walks in the park."
|
30
|
+
|
25
31
|
Scenario: Determining if a list item has an image
|
26
32
|
Given I am on the efficient adapter screen
|
27
33
|
When I ask for the list item for "Abertam"
|
@@ -1,6 +1,5 @@
|
|
1
1
|
When /^I click the first list item by "(.+)"$/ do |type|
|
2
|
-
on(MainMenuScreen).send "first_list_item_#{type}"
|
3
|
-
end
|
2
|
+
on(MainMenuScreen).send "first_list_item_#{type}" end
|
4
3
|
|
5
4
|
When /^I click the list item "(.*?)" from the main menu$/ do |list_item|
|
6
5
|
on(MainMenuScreen).send "#{list_item.downcase}"
|
@@ -30,6 +29,10 @@ When /^I ask for the first item in the list$/ do
|
|
30
29
|
@list_item = on(CustomItemsScreen).tom_view
|
31
30
|
end
|
32
31
|
|
32
|
+
When(/^I ask for the first item by the first index$/) do
|
33
|
+
@list_item = on(CustomItemsScreen).first_index_view
|
34
|
+
end
|
35
|
+
|
33
36
|
Then /^I should know that it has the text "(.*?)"$/ do |expected_text|
|
34
37
|
@list_item.text.should include expected_text
|
35
38
|
@list_item.should have_text expected_text
|
data/features/text.feature
CHANGED
@@ -64,3 +64,14 @@ Feature: Interacting with the standard text field
|
|
64
64
|
| focused | true |
|
65
65
|
| selected | false |
|
66
66
|
| shown | true |
|
67
|
+
|
68
|
+
Scenario: Determining properties of a text view by index
|
69
|
+
When I'm on the controls screen
|
70
|
+
Then the "text" field identified by "index" can determine the following properties:
|
71
|
+
| property | value |
|
72
|
+
| clickable | true |
|
73
|
+
| enabled | true |
|
74
|
+
| focusable | true |
|
75
|
+
| focused | true |
|
76
|
+
| selected | false |
|
77
|
+
| shown | true |
|
@@ -28,8 +28,8 @@ module Gametel
|
|
28
28
|
|
29
29
|
def list_item(locator, &block)
|
30
30
|
chain_calls do |device|
|
31
|
-
device.list_item_by_text(locator[:text], :target => 'Brazenhead',
|
32
|
-
|
31
|
+
device.list_item_by_text(locator[:text], :target => 'Brazenhead', :variable => '@@the_view@@') if locator[:text]
|
32
|
+
device.list_item_by_index(locator[:index], :target => 'Brazenhead', :variable => '@@the_view@@') if locator[:index]
|
33
33
|
block.call device if block
|
34
34
|
end
|
35
35
|
end
|
data/lib/gametel/version.rb
CHANGED
data/lib/gametel/views/text.rb
CHANGED
data/lib/gametel/views/view.rb
CHANGED
@@ -9,6 +9,10 @@ module Gametel
|
|
9
9
|
build_property_methods
|
10
10
|
end
|
11
11
|
|
12
|
+
def view_class
|
13
|
+
'android.view.View'
|
14
|
+
end
|
15
|
+
|
12
16
|
protected
|
13
17
|
|
14
18
|
def properties
|
@@ -19,9 +23,9 @@ module Gametel
|
|
19
23
|
metaclass = class << self; self; end
|
20
24
|
properties.each do |property|
|
21
25
|
metaclass.send(:define_method, "#{property}?".to_sym) do
|
22
|
-
|
23
|
-
|
24
|
-
|
26
|
+
query_property = lambda {|device| device.send "is_#{property}" }
|
27
|
+
platform.get_view_by_id(locator[:id], &query_property) if locator[:id]
|
28
|
+
platform.get_view_by_index(view_class, locator[:index], &query_property) if locator[:index]
|
25
29
|
platform.last_response.body == "true"
|
26
30
|
end
|
27
31
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gametel::Views::Text do
|
4
|
+
let(:platform) { double('Gametel platform') }
|
5
|
+
let(:locator) { {:id => 'abc'} }
|
6
|
+
subject { Gametel::Views::Text.new(platform, locator) }
|
7
|
+
|
8
|
+
it 'should know what its type is' do
|
9
|
+
subject.view_class.should eq('android.widget.EditText')
|
10
|
+
end
|
11
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gametel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.6'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-05-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: brazenhead
|
@@ -187,6 +187,7 @@ files:
|
|
187
187
|
- lib/gametel/views/text.rb
|
188
188
|
- lib/gametel/views/view.rb
|
189
189
|
- lib/gametel/waiter.rb
|
190
|
+
- spec/lib/gametel/accessors/text_spec.rb
|
190
191
|
- spec/lib/gametel/accessors_spec.rb
|
191
192
|
- spec/lib/gametel/navigation_spec.rb
|
192
193
|
- spec/lib/gametel/waiter_spec.rb
|
@@ -204,18 +205,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
204
205
|
- - ! '>='
|
205
206
|
- !ruby/object:Gem::Version
|
206
207
|
version: '0'
|
207
|
-
segments:
|
208
|
-
- 0
|
209
|
-
hash: 4520710427909593083
|
210
208
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
211
209
|
none: false
|
212
210
|
requirements:
|
213
211
|
- - ! '>='
|
214
212
|
- !ruby/object:Gem::Version
|
215
213
|
version: '0'
|
216
|
-
segments:
|
217
|
-
- 0
|
218
|
-
hash: 4520710427909593083
|
219
214
|
requirements: []
|
220
215
|
rubyforge_project:
|
221
216
|
rubygems_version: 1.8.25
|
@@ -270,6 +265,7 @@ test_files:
|
|
270
265
|
- features/support/screens/views_menu_screen.rb
|
271
266
|
- features/text.feature
|
272
267
|
- features/view.feature
|
268
|
+
- spec/lib/gametel/accessors/text_spec.rb
|
273
269
|
- spec/lib/gametel/accessors_spec.rb
|
274
270
|
- spec/lib/gametel/navigation_spec.rb
|
275
271
|
- spec/lib/gametel/waiter_spec.rb
|