calandroid-widget-extension 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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