mohawk 0.0.1 → 0.0.2

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.
Files changed (41) hide show
  1. data/Changelog +17 -0
  2. data/Gemfile +1 -5
  3. data/README.md +29 -0
  4. data/features/label.feature +4 -0
  5. data/features/menu.feature +5 -0
  6. data/features/mohawk.feature +14 -0
  7. data/features/step_definitions/label_steps.rb +3 -0
  8. data/features/step_definitions/menu_steps.rb +5 -0
  9. data/features/step_definitions/mohawk_steps.rb +15 -0
  10. data/features/step_definitions/table_steps.rb +23 -0
  11. data/features/step_definitions/text_steps.rb +4 -0
  12. data/features/step_definitions/tree_view_steps.rb +31 -0
  13. data/features/support/WindowsForms.exe +0 -0
  14. data/features/support/screens/data_entry_form.rb +6 -0
  15. data/features/support/screens/main_screen.rb +4 -0
  16. data/features/support/string.rb +4 -0
  17. data/features/table.feature +19 -0
  18. data/features/text.feature +4 -0
  19. data/features/tree_view.feature +49 -0
  20. data/lib/mohawk.rb +41 -0
  21. data/lib/mohawk/accessors.rb +182 -1
  22. data/lib/mohawk/accessors/label.rb +13 -0
  23. data/lib/mohawk/accessors/menu_item.rb +21 -0
  24. data/lib/mohawk/accessors/table.rb +50 -0
  25. data/lib/mohawk/accessors/text.rb +6 -0
  26. data/lib/mohawk/accessors/tree_view.rb +30 -0
  27. data/lib/mohawk/adapters/uia_adapter.rb +16 -0
  28. data/lib/mohawk/navigation.rb +4 -3
  29. data/lib/mohawk/version.rb +1 -1
  30. data/mohawk.gemspec +4 -2
  31. data/spec/lib/mohawk/accessors/combo_spec.rb +28 -1
  32. data/spec/lib/mohawk/accessors/label_spec.rb +25 -0
  33. data/spec/lib/mohawk/accessors/menu_spec.rb +32 -0
  34. data/spec/lib/mohawk/accessors/table_spec.rb +96 -0
  35. data/spec/lib/mohawk/accessors/text_spec.rb +9 -0
  36. data/spec/lib/mohawk/accessors/tree_view_spec.rb +86 -0
  37. data/spec/lib/mohawk_spec.rb +26 -0
  38. data/spec/lib/navigation_spec.rb +34 -0
  39. metadata +74 -9
  40. data/features/fado.feature +0 -5
  41. data/features/step_definitions/fado_steps.rb +0 -7
@@ -19,12 +19,38 @@ describe Mohawk do
19
19
  context "using the UI Automation adapter" do
20
20
  before(:each) do
21
21
  RAutomation::Window.stub(:new).and_return(window)
22
+ RAutomation::WaitHelper.stub(:sleep)
22
23
  end
23
24
 
24
25
  it "knows if a window exists" do
25
26
  window.should_receive(:exist?)
26
27
  screen.exist?
27
28
  end
29
+
30
+ it "knows if a window is active or not" do
31
+ window.should_receive(:active?)
32
+ screen.active?
33
+ end
34
+
35
+ it "knows if the window is present" do
36
+ window.should_receive(:present?)
37
+ screen.present?
38
+ end
39
+
40
+ it "can hold off until the window is present" do
41
+ window.should_receive(:wait_until_present)
42
+ screen.wait_until_present
43
+ end
44
+
45
+ it "can hold off until I say so" do
46
+ window.should_receive(:present?).twice.and_return(false, true)
47
+ screen.wait_until {screen.present?}
48
+ end
49
+
50
+ it "knows if a window has text" do
51
+ window.should_receive(:text).and_return("lots of text but I wanted to find blardy blar blar")
52
+ screen.should have_text "blardy blar"
53
+ end
28
54
 
29
55
  end
30
56
  end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ class NavigationTestScreen
4
+ end
5
+
6
+ include Mohawk::Navigation
7
+
8
+ describe Mohawk::Navigation do
9
+ let(:screen) { double("Mohawk Screen").as_null_object }
10
+
11
+ before(:each) do
12
+ NavigationTestScreen.stub(:new).and_return(screen)
13
+ RAutomation::WaitHelper.stub(:sleep)
14
+ end
15
+
16
+ it "can create screen objects" do
17
+ on(NavigationTestScreen).should eq screen
18
+ end
19
+
20
+ it "should give the screen to a block if desired" do
21
+ screen.should_receive(:expected_method)
22
+ on(NavigationTestScreen) do |screen|
23
+ screen.expected_method
24
+ end
25
+ end
26
+
27
+ it "waits for the screen to be present before proceeding" do
28
+ screen.should_receive(:wait_until_present)
29
+ screen.should_receive(:was_used)
30
+ on(NavigationTestScreen) do |screen|
31
+ screen.was_used
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mohawk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-08 00:00:00.000000000 Z
12
+ date: 2012-12-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rautomation
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 0.8.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,9 +26,9 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 0.8.0
30
30
  - !ruby/object:Gem::Dependency
31
- name: childprocess
31
+ name: cucumber
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
@@ -59,6 +59,38 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: childprocess
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
62
94
  description: High level wrapper around windows applications
63
95
  email:
64
96
  - levi@leviwilson.com
@@ -77,26 +109,39 @@ files:
77
109
  - features/button.feature
78
110
  - features/checkbox.feature
79
111
  - features/combo_box.feature
80
- - features/fado.feature
112
+ - features/label.feature
113
+ - features/menu.feature
114
+ - features/mohawk.feature
81
115
  - features/radio.feature
82
116
  - features/step_definitions/button_steps.rb
83
117
  - features/step_definitions/checkbox_steps.rb
84
118
  - features/step_definitions/combo_box_steps.rb
85
- - features/step_definitions/fado_steps.rb
119
+ - features/step_definitions/label_steps.rb
120
+ - features/step_definitions/menu_steps.rb
121
+ - features/step_definitions/mohawk_steps.rb
86
122
  - features/step_definitions/radio_steps.rb
123
+ - features/step_definitions/table_steps.rb
87
124
  - features/step_definitions/text_steps.rb
125
+ - features/step_definitions/tree_view_steps.rb
88
126
  - features/support/WindowsForms.exe
89
127
  - features/support/env.rb
128
+ - features/support/screens/data_entry_form.rb
90
129
  - features/support/screens/main_screen.rb
91
130
  - features/support/string.rb
131
+ - features/table.feature
92
132
  - features/text.feature
133
+ - features/tree_view.feature
93
134
  - lib/mohawk.rb
94
135
  - lib/mohawk/accessors.rb
95
136
  - lib/mohawk/accessors/button.rb
96
137
  - lib/mohawk/accessors/checkbox.rb
97
138
  - lib/mohawk/accessors/combo.rb
139
+ - lib/mohawk/accessors/label.rb
140
+ - lib/mohawk/accessors/menu_item.rb
98
141
  - lib/mohawk/accessors/radio.rb
142
+ - lib/mohawk/accessors/table.rb
99
143
  - lib/mohawk/accessors/text.rb
144
+ - lib/mohawk/accessors/tree_view.rb
100
145
  - lib/mohawk/adapters/uia_adapter.rb
101
146
  - lib/mohawk/navigation.rb
102
147
  - lib/mohawk/version.rb
@@ -104,9 +149,14 @@ files:
104
149
  - spec/lib/mohawk/accessors/button_spec.rb
105
150
  - spec/lib/mohawk/accessors/checkbox_spec.rb
106
151
  - spec/lib/mohawk/accessors/combo_spec.rb
152
+ - spec/lib/mohawk/accessors/label_spec.rb
153
+ - spec/lib/mohawk/accessors/menu_spec.rb
107
154
  - spec/lib/mohawk/accessors/radio_spec.rb
155
+ - spec/lib/mohawk/accessors/table_spec.rb
108
156
  - spec/lib/mohawk/accessors/text_spec.rb
157
+ - spec/lib/mohawk/accessors/tree_view_spec.rb
109
158
  - spec/lib/mohawk_spec.rb
159
+ - spec/lib/navigation_spec.rb
110
160
  - spec/spec_helper.rb
111
161
  homepage: http://github.com/leviwilson/mohawk
112
162
  licenses: []
@@ -136,23 +186,38 @@ test_files:
136
186
  - features/button.feature
137
187
  - features/checkbox.feature
138
188
  - features/combo_box.feature
139
- - features/fado.feature
189
+ - features/label.feature
190
+ - features/menu.feature
191
+ - features/mohawk.feature
140
192
  - features/radio.feature
141
193
  - features/step_definitions/button_steps.rb
142
194
  - features/step_definitions/checkbox_steps.rb
143
195
  - features/step_definitions/combo_box_steps.rb
144
- - features/step_definitions/fado_steps.rb
196
+ - features/step_definitions/label_steps.rb
197
+ - features/step_definitions/menu_steps.rb
198
+ - features/step_definitions/mohawk_steps.rb
145
199
  - features/step_definitions/radio_steps.rb
200
+ - features/step_definitions/table_steps.rb
146
201
  - features/step_definitions/text_steps.rb
202
+ - features/step_definitions/tree_view_steps.rb
147
203
  - features/support/WindowsForms.exe
148
204
  - features/support/env.rb
205
+ - features/support/screens/data_entry_form.rb
149
206
  - features/support/screens/main_screen.rb
150
207
  - features/support/string.rb
208
+ - features/table.feature
151
209
  - features/text.feature
210
+ - features/tree_view.feature
152
211
  - spec/lib/mohawk/accessors/button_spec.rb
153
212
  - spec/lib/mohawk/accessors/checkbox_spec.rb
154
213
  - spec/lib/mohawk/accessors/combo_spec.rb
214
+ - spec/lib/mohawk/accessors/label_spec.rb
215
+ - spec/lib/mohawk/accessors/menu_spec.rb
155
216
  - spec/lib/mohawk/accessors/radio_spec.rb
217
+ - spec/lib/mohawk/accessors/table_spec.rb
156
218
  - spec/lib/mohawk/accessors/text_spec.rb
219
+ - spec/lib/mohawk/accessors/tree_view_spec.rb
157
220
  - spec/lib/mohawk_spec.rb
221
+ - spec/lib/navigation_spec.rb
158
222
  - spec/spec_helper.rb
223
+ has_rdoc:
@@ -1,5 +0,0 @@
1
- Feature: Using Mohawk
2
-
3
- Scenario: Determining if a window exists
4
- When we are using the "MainScreen"
5
- Then the window should exist
@@ -1,7 +0,0 @@
1
- When /^we are using the "(.*?)"$/ do |expected_screen|
2
- @screen = on(Object.const_get(expected_screen))
3
- end
4
-
5
- Then /^the window should exist$/ do
6
- @screen.should exist
7
- end