calandroid-widget-extension 0.0.1

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b412bb1da2eb93040f34e4f265703876dee8b3b2
4
+ data.tar.gz: 218415cd0322ab6244d4b04db1f6ec6a95ae9eff
5
+ SHA512:
6
+ metadata.gz: 4490ba1d15244f5b3b365a9ebd836f1e6ea6b69d716cf1d6e09842d3336e63196e1c107b51bcdfcee215ba6e0e02138b82e762e6ea76e8e5b136b17150d6c71d
7
+ data.tar.gz: 3c33dc4d8aecce23a516b2520ad04c14e1cb0a60cb6f28287e667650be69c344a8671604d542324578c06220756a5f2fbdf1f52c4859c3c62224efe6dd3ebe42
@@ -0,0 +1,8 @@
1
+ require 'calabash-android/operations'
2
+
3
+ require 'to_boolean'
4
+
5
+ require 'calandroid-widget-extension/base'
6
+ require 'calandroid-widget-extension/button'
7
+ require 'calandroid-widget-extension/list_view'
8
+ require 'calandroid-widget-extension/text_view'
@@ -0,0 +1,65 @@
1
+ include Calabash::Android::Operations
2
+
3
+ class Base
4
+ class << self
5
+ def class_name
6
+ name
7
+ end
8
+
9
+ def property(*aParams)
10
+ Calabash::Android::Operations.query(self.class_name, *aParams)
11
+ end
12
+
13
+ alias_method :prop, :property
14
+ alias_method :p, :property
15
+
16
+ def touch(aIdOrIndex=nil)
17
+ q = self.parse_query(aIdOrIndex)
18
+ Calabash::Android::Operations.touch(q)
19
+ end
20
+
21
+ alias_method :tap, :touch
22
+
23
+ def query(aIdOrIndex=nil)
24
+ q = parse_query(aIdOrIndex)
25
+ Calabash::Android::Operations.query(q)
26
+ end
27
+
28
+ alias_method :q, :query
29
+
30
+ def flash(aIdOrIndex=nil)
31
+ q = parse_query(aIdOrIndex)
32
+ Calabash::Android::Operations.flash(q)
33
+ end
34
+
35
+ alias_method :f, :flash
36
+
37
+ def id
38
+ self.property(:id)
39
+ end
40
+
41
+ def help
42
+ public_methods(false)
43
+ end
44
+
45
+ alias_method :h, :help
46
+
47
+ def parse_query(aIdOrIndex)
48
+ raise_if_invalid(aIdOrIndex)
49
+
50
+ if aIdOrIndex.nil?
51
+ qStr = "#{self.class_name}"
52
+ else
53
+ qStr = aIdOrIndex.is_a?(String) ? "#{self.class_name} marked:'#{aIdOrIndex}'" : "#{self.class_name} index:#{aIdOrIndex}"
54
+ end
55
+
56
+ qStr
57
+ end
58
+
59
+ private
60
+
61
+ def raise_if_invalid(aParam)
62
+ raise('invalid parameter') unless aParam.nil? || aParam.is_a?(String) || aParam.is_a?(Integer)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,15 @@
1
+ require_relative 'base'
2
+
3
+ class Button < Base
4
+ class << self
5
+ def text(aIdOrIndex=nil)
6
+ q = self.parse_query(aIdOrIndex)
7
+ Calabash::Android::Operations.query(q, :text).first
8
+ end
9
+
10
+ def selected?(aIdOrIndex=nil)
11
+ q = self.parse_query(aIdOrIndex)
12
+ Calabash::Android::Operations.query(q, :selected).first.to_boolean
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'base'
2
+
3
+ class ListView < Base
4
+ class << self
5
+ def count(aIdOrIndex=nil)
6
+ q = self.parse_query(aIdOrIndex)
7
+ Calabash::Android::Operations.query(q, :count).first
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'base'
2
+
3
+ class TextView < Base
4
+ class << self
5
+ def text(aIdOrIndex=nil)
6
+ q = self.parse_query(aIdOrIndex)
7
+ Calabash::Android::Operations.query(q, :text).first
8
+ end
9
+ end
10
+ end
data/spec/spec_base.rb ADDED
@@ -0,0 +1,39 @@
1
+ require_relative 'spec_helper'
2
+
3
+ class SpecBase < Minitest::Spec
4
+ before do
5
+ $uiquery = nil
6
+ $args = nil
7
+ end
8
+
9
+ after do
10
+ # nop
11
+ end
12
+
13
+ describe 'Base' do
14
+ describe 'Base.raise_if_invalid' do
15
+ it 'should raise' do
16
+ proc { Button.text(:symbol) }.must_raise(RuntimeError)
17
+ proc { Button.touch(:symbol) }.must_raise(RuntimeError)
18
+ proc { ListView.count(:symbol) }.must_raise(RuntimeError)
19
+ proc { ListView.touch(:symbol) }.must_raise(RuntimeError)
20
+ proc { TextView.text(:symbol) }.must_raise(RuntimeError)
21
+ proc { TextView.touch(:symbol) }.must_raise(RuntimeError)
22
+ end
23
+ end
24
+
25
+ describe 'Base.parse_query' do
26
+ it 'should parse query' do
27
+ Button.parse_query(nil).must_equal('Button')
28
+ Button.parse_query(0).must_equal('Button index:0')
29
+ Button.parse_query('myId').must_equal("Button marked:'myId'")
30
+ ListView.parse_query(nil).must_equal('ListView')
31
+ ListView.parse_query(0).must_equal('ListView index:0')
32
+ ListView.parse_query('myId').must_equal("ListView marked:'myId'")
33
+ TextView.parse_query(nil).must_equal('TextView')
34
+ TextView.parse_query(0).must_equal('TextView index:0')
35
+ TextView.parse_query('myId').must_equal("TextView marked:'myId'")
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,106 @@
1
+ require_relative 'spec_helper'
2
+
3
+ class SpecButton < Minitest::Spec
4
+ before do
5
+ $uiquery = nil
6
+ $args = nil
7
+ end
8
+
9
+ after do
10
+ # nop
11
+ end
12
+
13
+ describe 'Button' do
14
+ describe 'Button.class_name' do
15
+ it 'should return class name' do
16
+ Button.class_name.must_equal('Button')
17
+ end
18
+ end
19
+
20
+ describe 'Button.text' do
21
+ it 'should call Calabash query method with correct parameters' do
22
+ $stub_query_response = %w(varkaus oulu kuopio)
23
+
24
+ Button.text.must_equal('varkaus')
25
+ $uiquery.must_equal("#{Button.class_name}")
26
+ $args.first.must_equal(:text)
27
+
28
+ Button.text(0).must_equal('varkaus')
29
+ $uiquery.must_equal("#{Button.class_name} index:0")
30
+ $args.first.must_equal(:text)
31
+
32
+ Button.text('myId').must_equal('varkaus')
33
+ $uiquery.must_equal("#{Button.class_name} marked:'myId'")
34
+ $args.first.must_equal(:text)
35
+ end
36
+ end
37
+
38
+ describe 'Button.selected?' do
39
+ it 'should call Calabash query method with correct parameters' do
40
+ $stub_query_response = [false, true]
41
+ ret = Button.selected?
42
+ ret.must_equal(false)
43
+ $uiquery.must_equal("#{Button.class_name}")
44
+ $args.first.must_equal(:selected)
45
+
46
+ $stub_query_response = [false, true]
47
+ ret = Button.selected?(0)
48
+ ret.must_equal(false)
49
+ $uiquery.must_equal("#{Button.class_name} index:0")
50
+ $args.first.must_equal(:selected)
51
+
52
+ $stub_query_response = [true, false]
53
+ ret = Button.selected?('myId')
54
+ ret.must_equal(true)
55
+ $uiquery.must_equal("#{Button.class_name} marked:'myId'")
56
+ $args.first.must_equal(:selected)
57
+ end
58
+ end
59
+
60
+ describe 'Button.touch and aliases' do
61
+ it 'should call Calabash touch method with correct parameters' do
62
+ Button.touch
63
+ $uiquery.must_equal("#{Button.class_name}")
64
+
65
+ Button.touch(0)
66
+ $uiquery.must_equal("#{Button.class_name} index:0")
67
+
68
+ Button.touch('myId')
69
+ $uiquery.must_equal("#{Button.class_name} marked:'myId'")
70
+
71
+ Button.tap
72
+ $uiquery.must_equal("#{Button.class_name}")
73
+
74
+ Button.tap(0)
75
+ $uiquery.must_equal("#{Button.class_name} index:0")
76
+
77
+ Button.tap('myId')
78
+ $uiquery.must_equal("#{Button.class_name} marked:'myId'")
79
+ end
80
+ end
81
+
82
+ describe 'Button.property and aliases' do
83
+ it 'should call Calabash query method with correct parameters' do
84
+ Button.property(:finland)
85
+ $uiquery.must_equal("#{Button.class_name}")
86
+ $args.first.must_equal(:finland)
87
+
88
+ Button.prop(:finland)
89
+ $uiquery.must_equal("#{Button.class_name}")
90
+ $args.first.must_equal(:finland)
91
+
92
+ Button.p(:finland)
93
+ $uiquery.must_equal("#{Button.class_name}")
94
+ $args.first.must_equal(:finland)
95
+ end
96
+ end
97
+
98
+ describe 'Button.id' do
99
+ it 'should call Calabash query method with correct parameters' do
100
+ Button.id
101
+ $uiquery.must_equal("#{Button.class_name}")
102
+ $args.first.must_equal(:id)
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,8 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/reporters'
3
+
4
+ require 'calandroid-widget-extension'
5
+
6
+ require_relative 'stubs/calabash_android_operations_stub'
7
+
8
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
@@ -0,0 +1,66 @@
1
+ require_relative 'spec_helper'
2
+
3
+ class SpecListView < Minitest::Spec
4
+ before do
5
+ $uiquery = nil
6
+ $args = nil
7
+ end
8
+
9
+ after do
10
+ # nop
11
+ end
12
+
13
+ describe 'ListView' do
14
+ describe 'ListView.class_name' do
15
+ it 'should return class name' do
16
+ ListView.class_name.must_equal('ListView')
17
+ end
18
+ end
19
+
20
+ describe 'ListView.touch and aliases' do
21
+ it 'should call Calabash touch method with correct parameters' do
22
+ ListView.touch
23
+ $uiquery.must_equal("#{ListView.class_name}")
24
+
25
+ ListView.touch(0)
26
+ $uiquery.must_equal("#{ListView.class_name} index:0")
27
+
28
+ ListView.touch('myId')
29
+ $uiquery.must_equal("#{ListView.class_name} marked:'myId'")
30
+
31
+ ListView.tap
32
+ $uiquery.must_equal("#{ListView.class_name}")
33
+
34
+ ListView.tap(0)
35
+ $uiquery.must_equal("#{ListView.class_name} index:0")
36
+
37
+ ListView.tap('myId')
38
+ $uiquery.must_equal("#{ListView.class_name} marked:'myId'")
39
+ end
40
+ end
41
+
42
+ describe 'ListView.property and aliases' do
43
+ it 'should call Calabash query method with correct parameters' do
44
+ ListView.property(:finland)
45
+ $uiquery.must_equal("#{ListView.class_name}")
46
+ $args.first.must_equal(:finland)
47
+
48
+ ListView.prop(:finland)
49
+ $uiquery.must_equal("#{ListView.class_name}")
50
+ $args.first.must_equal(:finland)
51
+
52
+ ListView.p(:finland)
53
+ $uiquery.must_equal("#{ListView.class_name}")
54
+ $args.first.must_equal(:finland)
55
+ end
56
+ end
57
+
58
+ describe 'ListView.id' do
59
+ it 'should call Calabash query method with correct parameters' do
60
+ ListView.id
61
+ $uiquery.must_equal("#{ListView.class_name}")
62
+ $args.first.must_equal(:id)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,84 @@
1
+ require_relative 'spec_helper'
2
+
3
+ class SpecTextView < Minitest::Spec
4
+ before do
5
+ $uiquery = nil
6
+ $args = nil
7
+ end
8
+
9
+ after do
10
+ # nop
11
+ end
12
+
13
+ describe 'TextView' do
14
+ describe 'TextView.class_name' do
15
+ it 'should return class name' do
16
+ TextView.class_name.must_equal('TextView')
17
+ end
18
+ end
19
+
20
+ describe 'TextView.text' do
21
+ it 'should call Calabash query method with correct parameters' do
22
+ $stub_query_response = %w(varkaus oulu kuopio)
23
+
24
+ TextView.text.must_equal('varkaus')
25
+ $uiquery.must_equal("#{TextView.class_name}")
26
+ $args.first.must_equal(:text)
27
+
28
+ TextView.text(0).must_equal('varkaus')
29
+ $uiquery.must_equal("#{TextView.class_name} index:0")
30
+ $args.first.must_equal(:text)
31
+
32
+ TextView.text('myId').must_equal('varkaus')
33
+ $uiquery.must_equal("#{TextView.class_name} marked:'myId'")
34
+ $args.first.must_equal(:text)
35
+ end
36
+ end
37
+
38
+ describe 'TextView.touch and aliases' do
39
+ it 'should call Calabash touch method with correct parameters' do
40
+ TextView.touch
41
+ $uiquery.must_equal("#{TextView.class_name}")
42
+
43
+ TextView.touch(0)
44
+ $uiquery.must_equal("#{TextView.class_name} index:0")
45
+
46
+ TextView.touch('myId')
47
+ $uiquery.must_equal("#{TextView.class_name} marked:'myId'")
48
+
49
+ TextView.tap
50
+ $uiquery.must_equal("#{TextView.class_name}")
51
+
52
+ TextView.tap(0)
53
+ $uiquery.must_equal("#{TextView.class_name} index:0")
54
+
55
+ TextView.tap('myId')
56
+ $uiquery.must_equal("#{TextView.class_name} marked:'myId'")
57
+ end
58
+ end
59
+
60
+ describe 'TextView.property and aliases' do
61
+ it 'should call Calabash query method with correct parameters' do
62
+ TextView.property(:finland)
63
+ $uiquery.must_equal("#{TextView.class_name}")
64
+ $args.first.must_equal(:finland)
65
+
66
+ TextView.prop(:finland)
67
+ $uiquery.must_equal("#{TextView.class_name}")
68
+ $args.first.must_equal(:finland)
69
+
70
+ TextView.p(:finland)
71
+ $uiquery.must_equal("#{TextView.class_name}")
72
+ $args.first.must_equal(:finland)
73
+ end
74
+ end
75
+
76
+ describe 'TextView.id' do
77
+ it 'should call Calabash query method with correct parameters' do
78
+ TextView.id
79
+ $uiquery.must_equal("#{TextView.class_name}")
80
+ $args.first.must_equal(:id)
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,23 @@
1
+ require 'calabash-android/operations'
2
+
3
+ module Calabash::Android::Operations
4
+ def query(uiquery, *args)
5
+ $uiquery = uiquery
6
+ $args = args
7
+ $stub_query_response
8
+ end
9
+
10
+ def flash(uiquery, *args)
11
+ $uiquery = uiquery
12
+ $args = args
13
+ end
14
+
15
+ def touch(uiquery, opts={})
16
+ $uiquery = uiquery
17
+ $opts = opts
18
+ end
19
+ end
20
+
21
+ class CalabashAndroidOperationsStubClass
22
+ include Calabash::Android::Operations
23
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: calandroid-widget-extension
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jani Jegoroff
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: calabash-android
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: to_boolean
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest-reporters
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ description: Calabash-android widget extension provides convenient metaclasses for
84
+ Calabash usage.
85
+ email:
86
+ - jani.jegoroff@gmail.com
87
+ executables: []
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - lib/calandroid-widget-extension.rb
92
+ - lib/calandroid-widget-extension/base.rb
93
+ - lib/calandroid-widget-extension/button.rb
94
+ - lib/calandroid-widget-extension/list_view.rb
95
+ - lib/calandroid-widget-extension/text_view.rb
96
+ - spec/spec_base.rb
97
+ - spec/spec_button.rb
98
+ - spec/spec_helper.rb
99
+ - spec/spec_list_view.rb
100
+ - spec/spec_text_view.rb
101
+ - spec/stubs/calabash_android_operations_stub.rb
102
+ homepage: http://github.com/JaniJegoroff/calandroid-widget-extension
103
+ licenses:
104
+ - MIT
105
+ metadata: {}
106
+ post_install_message:
107
+ rdoc_options: []
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ requirements: []
121
+ rubyforge_project:
122
+ rubygems_version: 2.2.2
123
+ signing_key:
124
+ specification_version: 4
125
+ summary: Calabash-android widget extension.
126
+ test_files:
127
+ - spec/spec_base.rb
128
+ - spec/spec_button.rb
129
+ - spec/spec_helper.rb
130
+ - spec/spec_list_view.rb
131
+ - spec/spec_text_view.rb
132
+ - spec/stubs/calabash_android_operations_stub.rb