uia 0.1.2.2 → 0.1.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,18 +1,18 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .idea/
5
- .config
6
- .yardoc
7
- Gemfile.lock
8
- InstalledFiles
9
- _yardoc
10
- coverage
11
- doc/
12
- lib/bundler/man
13
- pkg
14
- rdoc
15
- spec/reports
16
- test/tmp
17
- test/version_tmp
18
- tmp
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .idea/
5
+ .config
6
+ .yardoc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "spec/app/src"]
2
+ path = spec/app/src
3
+ url = git://github.com/leviwilson/mohawk-testing-app
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ === Version 0.1.2.3 / 2014-04-21
2
+ * Bug Fixes
3
+ * Handles scenario when a Container is not reported from UIA for a SelectionItem element
4
+
1
5
  === Version 0.1.2 / 2014-02-11
2
6
  * Enhancements
3
7
  * Added #drag method to Element to drag the mouse within a client area of an element
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in ruby-uia.gemspec
4
- gem 'albacore', :git => 'git://github.com/Albacore/albacore.git', :branch => 'clean_slate'
5
- gemspec
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ruby-uia.gemspec
4
+ gem 'albacore', :git => 'git://github.com/Albacore/albacore.git', :branch => 'clean_slate'
5
+ gemspec
data/LICENSE.txt CHANGED
@@ -1,22 +1,22 @@
1
- Copyright (c) 2013 Levi Wilson
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright (c) 2013 Levi Wilson
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -124,7 +124,7 @@ namespace UIA.Helper
124
124
 
125
125
  public static Element From(AutomationElement element)
126
126
  {
127
- return new Element(element);
127
+ return null == element ? null : new Element(element);
128
128
  }
129
129
 
130
130
  public static Element[] From(AutomationElement[] elements)
@@ -73,7 +73,10 @@ typedef struct _SelectionItemInformation {
73
73
  private:
74
74
  void init(bool isSelected, Element^ selectionContainer) {
75
75
  IsSelected = isSelected;
76
- Container = new ElementInformation(selectionContainer);
76
+ Container = NULL;
77
+ if( nullptr != selectionContainer ) {
78
+ Container = new ElementInformation(selectionContainer);
79
+ }
77
80
  }
78
81
 
79
82
  } SelectionItemInformation, *SelectionItemInformationPtr;
@@ -18,7 +18,8 @@ module Uia
18
18
  end
19
19
 
20
20
  def container
21
- Uia::Element.new Library.selection_item_info(@element).container
21
+ container = Library.selection_item_info(@element).container
22
+ Uia::Element.new container if container
22
23
  end
23
24
  end
24
25
  end
data/lib/uia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Uia
2
- VERSION = '0.1.2.2'
2
+ VERSION = '0.1.2.3'
3
3
  end
Binary file
@@ -4,6 +4,10 @@ describe Uia::Patterns::SelectionItem do
4
4
  let(:main) { Uia.find_element id: 'MainFormWindow' }
5
5
  let(:reset) { main.find(name: 'Reset').as :invoke }
6
6
  let(:radio_label) { main.find id: 'radioButtonLabel' }
7
+ let(:grid_view_form) do
8
+ main.find(name: 'Data Grid View').as(:invoke).invoke
9
+ Uia.find_element(title: 'DataGridViewForm')
10
+ end
7
11
 
8
12
  Given { reset.invoke }
9
13
 
@@ -19,6 +23,19 @@ describe Uia::Patterns::SelectionItem do
19
23
  context '#container' do
20
24
  Given(:parent_two) { main.find(name: 'Parent Two').as :selection_item }
21
25
  Then { parent_two.container.id == 'treeView' }
26
+
27
+ context 'missing' do
28
+ after(:each) { grid_view_form.find(name: 'Close').click }
29
+
30
+ Given(:first_item) do
31
+ table = grid_view_form.find(id: 'dataGridView1').as(:table)
32
+ table.rows.first.as(:selection_item)
33
+ end
34
+
35
+ Then do
36
+ expect(first_item.container).to be_nil
37
+ end
38
+ end
22
39
  end
23
40
  end
24
41
 
@@ -17,7 +17,7 @@ describe Uia::Patterns::Table do
17
17
 
18
18
  context '#headers' do
19
19
  Then { data_grid.headers.map(&:control_type) == [:header_item] * 3 }
20
- Then { data_grid.headers.map(&:name) == ['Name', 'Date of birth', 'State'] }
20
+ Then { data_grid.headers.map(&:name) == ['Full Name', 'Date of birth', 'State'] }
21
21
  end
22
22
 
23
23
  context '#rows' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2.2
4
+ version: 0.1.2.3
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: 2014-02-28 00:00:00.000000000 Z
12
+ date: 2014-04-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -131,6 +131,7 @@ extensions: []
131
131
  extra_rdoc_files: []
132
132
  files:
133
133
  - .gitignore
134
+ - .gitmodules
134
135
  - .rspec
135
136
  - ChangeLog
136
137
  - Gemfile
@@ -250,7 +251,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
250
251
  version: '0'
251
252
  segments:
252
253
  - 0
253
- hash: 869511917
254
+ hash: -439398319
254
255
  required_rubygems_version: !ruby/object:Gem::Requirement
255
256
  none: false
256
257
  requirements:
@@ -259,10 +260,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
259
260
  version: '0'
260
261
  segments:
261
262
  - 0
262
- hash: 869511917
263
+ hash: -439398319
263
264
  requirements: []
264
265
  rubyforge_project:
265
- rubygems_version: 1.8.24
266
+ rubygems_version: 1.8.28
266
267
  signing_key:
267
268
  specification_version: 3
268
269
  summary: A low-level wrapper around Microsoft UI Automation for ruby