AXElements 0.6.0beta2 → 0.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/.yardopts +1 -2
  2. data/README.markdown +152 -88
  3. data/Rakefile +8 -103
  4. data/docs/Debugging.markdown +9 -2
  5. data/docs/KeyboardEvents.markdown +114 -49
  6. data/docs/Setting.markdown +1 -0
  7. data/docs/images/next_version.png +0 -0
  8. data/ext/accessibility/key_coder/extconf.rb +22 -0
  9. data/ext/accessibility/key_coder/key_coder.c +113 -0
  10. data/lib/AXElements.rb +2 -0
  11. data/lib/accessibility/core.rb +897 -0
  12. data/lib/accessibility/debug.rb +168 -0
  13. data/lib/accessibility/dsl.rb +697 -0
  14. data/lib/accessibility/enumerators.rb +104 -0
  15. data/lib/accessibility/errors.rb +32 -0
  16. data/lib/accessibility/factory.rb +153 -0
  17. data/lib/accessibility/graph.rb +150 -0
  18. data/lib/{ax_elements/inspector.rb → accessibility/pp_inspector.rb} +39 -28
  19. data/lib/accessibility/qualifier.rb +158 -0
  20. data/lib/accessibility/string.rb +494 -0
  21. data/lib/accessibility/translator.rb +178 -0
  22. data/lib/accessibility/version.rb +7 -0
  23. data/lib/accessibility.rb +79 -0
  24. data/lib/ax/application.rb +234 -0
  25. data/lib/{ax_elements/elements → ax}/button.rb +2 -0
  26. data/lib/ax/element.rb +518 -0
  27. data/lib/{ax_elements/elements → ax}/radio_button.rb +2 -0
  28. data/lib/ax/row.rb +37 -0
  29. data/lib/{ax_elements/elements → ax}/static_text.rb +2 -0
  30. data/lib/ax/systemwide.rb +86 -0
  31. data/lib/ax_elements/awesome_print.rb +25 -0
  32. data/lib/ax_elements/exception_workaround.rb +8 -0
  33. data/lib/ax_elements/nsarray_compat.rb +64 -0
  34. data/lib/ax_elements/vendor/inflection_data.rb +65 -0
  35. data/lib/ax_elements/vendor/inflections.rb +172 -0
  36. data/lib/ax_elements/vendor/inflector.rb +306 -0
  37. data/lib/ax_elements.rb +14 -25
  38. data/lib/minitest/ax_elements.rb +112 -12
  39. data/lib/mouse.rb +72 -46
  40. data/lib/rspec/expectations/ax_elements.rb +133 -6
  41. data/rakelib/doc.rake +13 -0
  42. data/rakelib/ext.rake +61 -0
  43. data/rakelib/gem.rake +28 -0
  44. data/rakelib/test.rake +53 -0
  45. data/test/helper.rb +11 -97
  46. data/test/integration/accessibility/test_core.rb +18 -0
  47. data/test/integration/accessibility/test_debug.rb +44 -0
  48. data/test/integration/accessibility/test_dsl.rb +225 -0
  49. data/test/integration/accessibility/test_enumerators.rb +122 -0
  50. data/test/integration/accessibility/test_errors.rb +38 -0
  51. data/test/integration/accessibility/test_notifications.rb +22 -0
  52. data/test/integration/accessibility/test_qualifier.rb +148 -0
  53. data/test/integration/ax/test_application.rb +56 -0
  54. data/test/integration/ax/test_element.rb +46 -0
  55. data/test/integration/ax/test_row.rb +23 -0
  56. data/test/integration/ax_elements/test_nsarray_compat.rb +43 -0
  57. data/test/integration/minitest/test_ax_elements.rb +98 -0
  58. data/test/integration/rspec/expectations/test_ax_elements.rb +58 -0
  59. data/test/integration/test_mouse.rb +35 -0
  60. data/test/sanity/accessibility/test_core.rb +553 -0
  61. data/test/sanity/accessibility/test_debug.rb +63 -0
  62. data/test/sanity/accessibility/test_dsl.rb +75 -0
  63. data/test/sanity/accessibility/test_errors.rb +10 -0
  64. data/test/sanity/accessibility/test_factory.rb +88 -0
  65. data/test/sanity/accessibility/test_pp_inspector.rb +110 -0
  66. data/test/sanity/accessibility/test_qualifier.rb +13 -0
  67. data/test/sanity/accessibility/test_string.rb +238 -0
  68. data/test/sanity/accessibility/test_translator.rb +145 -0
  69. data/test/sanity/ax/test_application.rb +90 -0
  70. data/test/sanity/ax/test_element.rb +80 -0
  71. data/test/sanity/ax/test_systemwide.rb +66 -0
  72. data/test/sanity/ax_elements/test_nsarray_compat.rb +16 -0
  73. data/test/sanity/ax_elements/test_nsobject_inspect.rb +11 -0
  74. data/test/sanity/minitest/test_ax_elements.rb +15 -0
  75. data/test/sanity/rspec/expectations/test_ax_elements.rb +12 -0
  76. data/test/sanity/test_ax_elements.rb +10 -0
  77. data/test/sanity/test_mouse.rb +19 -0
  78. metadata +111 -93
  79. data/LICENSE.txt +0 -25
  80. data/ext/key_coder/extconf.rb +0 -6
  81. data/ext/key_coder/key_coder.m +0 -77
  82. data/lib/ax_elements/accessibility/enumerators.rb +0 -104
  83. data/lib/ax_elements/accessibility/graph.rb +0 -118
  84. data/lib/ax_elements/accessibility/language.rb +0 -347
  85. data/lib/ax_elements/accessibility/qualifier.rb +0 -73
  86. data/lib/ax_elements/accessibility.rb +0 -166
  87. data/lib/ax_elements/core.rb +0 -541
  88. data/lib/ax_elements/element.rb +0 -593
  89. data/lib/ax_elements/elements/application.rb +0 -88
  90. data/lib/ax_elements/elements/row.rb +0 -30
  91. data/lib/ax_elements/elements/systemwide.rb +0 -46
  92. data/lib/ax_elements/macruby_extensions.rb +0 -255
  93. data/lib/ax_elements/notification.rb +0 -37
  94. data/lib/ax_elements/version.rb +0 -9
  95. data/test/elements/test_application.rb +0 -72
  96. data/test/elements/test_row.rb +0 -27
  97. data/test/elements/test_systemwide.rb +0 -38
  98. data/test/test_accessibility.rb +0 -127
  99. data/test/test_blankness.rb +0 -26
  100. data/test/test_core.rb +0 -448
  101. data/test/test_element.rb +0 -939
  102. data/test/test_enumerators.rb +0 -81
  103. data/test/test_inspector.rb +0 -130
  104. data/test/test_language.rb +0 -157
  105. data/test/test_macruby_extensions.rb +0 -303
  106. data/test/test_mouse.rb +0 -5
  107. data/test/test_search_semantics.rb +0 -143
@@ -0,0 +1,80 @@
1
+ require 'test/helper'
2
+ require 'ax/element'
3
+
4
+ class TestAXElement < MiniTest::Unit::TestCase
5
+
6
+ def element
7
+ @element ||= AX::Element.new REF
8
+ end
9
+
10
+ def test_methods_is_flat
11
+ methods = element.methods
12
+ assert_equal methods.flatten.sort!, methods.sort!
13
+ end
14
+
15
+ def test_setting_through_method_missing
16
+ got_callback = false
17
+ element.define_singleton_method :set do |attr, value|
18
+ if attr == 'my_little_pony' && value == :firefly
19
+ got_callback = true
20
+ end
21
+ end
22
+ assert element.my_little_pony = :firefly
23
+ end
24
+
25
+ def test_respond_to_works_with_dynamic_setters
26
+ window = element.attribute(:main_window)
27
+ assert_respond_to window, :position=
28
+ assert_respond_to window, :size=
29
+ refute_respond_to window, :grandad=
30
+ end
31
+
32
+ def test_to_point
33
+ def center_test position, size, expected
34
+ element.define_singleton_method :attribute do |attr|
35
+ case attr
36
+ when :position then CGPointMake(*position)
37
+ when :size then CGSizeMake(*size)
38
+ else raise ArgumentError
39
+ end
40
+ end
41
+ assert_equal CGPointMake(*expected), element.to_point
42
+ end
43
+
44
+ # the nil case
45
+ center_test CGPointZero, CGSizeZero, CGPointZero
46
+ # simple square with origin at zero
47
+ center_test [0,0], [2,2], [1,1]
48
+ # simple square in positive positive quadrant
49
+ center_test [1,1], [6,6], [4,4]
50
+ # rect in positive positive quadrant
51
+ center_test [1,2], [6,10], [4,7]
52
+ # rect in negative positive quadrant
53
+ center_test [-123.0,25.0], [6.0,10.0], [-120,30]
54
+ # rect starts in negative positive quadrant but is in positive positive
55
+ center_test [-10.0,70.0], [20,42], [0,91]
56
+ end
57
+
58
+ end
59
+
60
+
61
+ class TestSearchResultBlankness < MiniTest::Unit::TestCase
62
+
63
+ def test_array_blank
64
+ [
65
+ NSArray.array,
66
+ [true]
67
+ ].each do |ary|
68
+ assert_equal ary.empty?, ary.blank?
69
+ end
70
+ end
71
+
72
+ def test_nil_blank
73
+ assert_equal true, nil.blank?
74
+ end
75
+
76
+ def test_element_blank
77
+ assert_equal false, AX::Element.new(REF).blank?
78
+ end
79
+
80
+ end
@@ -0,0 +1,66 @@
1
+ require 'test/helper'
2
+ require 'ax/systemwide'
3
+
4
+ class AX::Element
5
+ attr_reader :ref
6
+ end
7
+
8
+ class TestAXSystemWide < MiniTest::Unit::TestCase
9
+
10
+ def system_wide
11
+ @system_wide ||= AX::SystemWide.new
12
+ end
13
+
14
+ def test_is_effectively_a_singleton
15
+ assert_equal AX::SystemWide.new, AX::SystemWide.new
16
+ end
17
+
18
+ def test_type_string_forwards_events
19
+ system = system_wide.ref
20
+ meth = system.method :post
21
+ got_callback = false
22
+ system.define_singleton_method :post do |events|
23
+ got_callback = true if events.kind_of?(Array)
24
+ end
25
+ system_wide.type_string 'test'
26
+ assert got_callback
27
+ ensure
28
+ system.define_singleton_method :post, meth if meth
29
+ end
30
+
31
+ def test_search_not_allowed
32
+ assert_raises(NoMethodError) { system_wide.search }
33
+ end
34
+
35
+ def test_notifications_not_allowed
36
+ assert_raises(NoMethodError) { system_wide.on_notification }
37
+ end
38
+
39
+ def test_element_at
40
+ system = system_wide.ref
41
+ [[10,10],[500,500]].each do |point|
42
+ expected = system.element_at(point)
43
+ actual = system_wide.element_at(point).ref
44
+ assert_equal expected, actual
45
+ end
46
+ end
47
+
48
+ def test_parameterized_attributes_is_empty
49
+ assert_empty system_wide.parameterized_attributes
50
+ end
51
+
52
+ def test_actions_is_empty
53
+ assert_empty system_wide.actions
54
+ end
55
+
56
+ # this is a special case because it hits other things, like
57
+ # parameterized attributes, which do not work with the
58
+ # system wide object
59
+ def test_respond_to
60
+ assert_respond_to system_wide, :role
61
+ assert_respond_to system_wide, :role=
62
+ assert_respond_to system_wide, :inspect
63
+ assert_respond_to system_wide, :object_id
64
+ end
65
+
66
+ end
@@ -0,0 +1,16 @@
1
+ require 'test/runner'
2
+ require 'ax_elements/nsarray_compat'
3
+
4
+ class TestNSArrayCompat < MiniTest::Unit::TestCase
5
+
6
+ def test_second_returns_second
7
+ assert_equal :two, NSArray.arrayWithArray([:one, :two]).second
8
+ assert_nil NSArray.arrayWithArray([:one]).second
9
+ end
10
+
11
+ def test_third_returns_third
12
+ assert_equal :three, NSArray.arrayWithArray([:one, :two, :three]).third
13
+ assert_nil NSArray.arrayWithArray([:one, :two]).third
14
+ end
15
+
16
+ end
@@ -0,0 +1,11 @@
1
+ require 'test/runner'
2
+
3
+ class TestNSObjectExtensions < MiniTest::Unit::TestCase
4
+ # keeping this test just to make sure the version of MacRuby
5
+ # being used is new enough
6
+ def test_inspecting
7
+ url = NSURL.URLWithString('http://marketcircle.com/')
8
+ assert_equal url.description, url.inspect
9
+ end
10
+ end
11
+
@@ -0,0 +1,15 @@
1
+ require 'test/runner'
2
+ require 'minitest/ax_elements'
3
+
4
+ class TestMiniTestAssertions < MiniTest::Unit::TestCase
5
+
6
+ def test_methods_are_loaded
7
+ assert_respond_to self, :assert_has_child
8
+ assert_respond_to self, :assert_has_descendent
9
+ assert_respond_to self, :assert_has_descendant
10
+ assert_respond_to self, :refute_has_child
11
+ assert_respond_to self, :refute_has_descendent
12
+ assert_respond_to self, :refute_has_descendant
13
+ end
14
+
15
+ end
@@ -0,0 +1,12 @@
1
+ require 'test/runner'
2
+ require 'rspec/expectations/ax_elements'
3
+
4
+ class TestRSpecMatchers < MiniTest::Unit::TestCase
5
+
6
+ def test_defined
7
+ assert TopLevel.method(:have_child)
8
+ assert TopLevel.method(:have_descendent)
9
+ assert TopLevel.method(:have_descendant)
10
+ end
11
+
12
+ end
@@ -0,0 +1,10 @@
1
+ require 'ax_elements'
2
+
3
+ class TestDefaults < MiniTest::Unit::TestCase
4
+
5
+ def test_dock_constant_is_set
6
+ assert_instance_of AX::Application, AX::DOCK
7
+ assert_equal 'Dock', AX::DOCK.title
8
+ end
9
+
10
+ end
@@ -0,0 +1,19 @@
1
+ class TestMouseModule < MiniTest::Unit::TestCase
2
+
3
+ def distance point1, point2
4
+ x = point1.x - point2.x
5
+ y = point1.y - point2.y
6
+ Math.sqrt((x**2) + (y**2))
7
+ end
8
+
9
+ def test_move_to
10
+ point = CGPointMake(100, 100)
11
+ Mouse.move_to point
12
+ assert_in_delta 0, distance(point,Mouse.current_position), 1.0
13
+
14
+ point = CGPointMake(rand(700)+150, rand(500)+100)
15
+ Mouse.move_to point
16
+ assert_in_delta 0, distance(point,Mouse.current_position), 1.0
17
+ end
18
+
19
+ end
metadata CHANGED
@@ -1,49 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: AXElements
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 5
5
- version: 0.6.0beta2
4
+ prerelease:
5
+ version: 0.7.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mark Rada
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-02 00:00:00 -04:00
13
- default_executable:
12
+ date: 2012-04-04 00:00:00 Z
14
13
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: activesupport
17
- prerelease: false
18
- requirement: !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ~>
22
- - !ruby/object:Gem::Version
23
- version: 3.1.0
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ~>
29
- - !ruby/object:Gem::Version
30
- version: 3.1.0
31
- - !ruby/object:Gem::Dependency
32
- name: i18n
33
- prerelease: false
34
- requirement: !ruby/object:Gem::Requirement
35
- none: false
36
- requirements:
37
- - - ~>
38
- - !ruby/object:Gem::Version
39
- version: 0.6.0
40
- type: :runtime
41
- version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ~>
45
- - !ruby/object:Gem::Version
46
- version: 0.6.0
47
14
  - !ruby/object:Gem::Dependency
48
15
  name: minitest
49
16
  prerelease: false
@@ -52,14 +19,14 @@ dependencies:
52
19
  requirements:
53
20
  - - ~>
54
21
  - !ruby/object:Gem::Version
55
- version: "2.5"
22
+ version: "2.12"
56
23
  type: :development
57
24
  version_requirements: !ruby/object:Gem::Requirement
58
25
  none: false
59
26
  requirements:
60
27
  - - ~>
61
28
  - !ruby/object:Gem::Version
62
- version: "2.5"
29
+ version: "2.12"
63
30
  - !ruby/object:Gem::Dependency
64
31
  name: yard
65
32
  prerelease: false
@@ -68,14 +35,14 @@ dependencies:
68
35
  requirements:
69
36
  - - ~>
70
37
  - !ruby/object:Gem::Version
71
- version: 0.7.2
38
+ version: 0.7.5
72
39
  type: :development
73
40
  version_requirements: !ruby/object:Gem::Requirement
74
41
  none: false
75
42
  requirements:
76
43
  - - ~>
77
44
  - !ruby/object:Gem::Version
78
- version: 0.7.2
45
+ version: 0.7.5
79
46
  - !ruby/object:Gem::Dependency
80
47
  name: redcarpet
81
48
  prerelease: false
@@ -103,13 +70,14 @@ description: 'AXElements is a DSL abstraction on top of the Mac OS X Accessibili
103
70
  email: mrada@marketcircle.com
104
71
  executables: []
105
72
  extensions:
106
- - ext/key_coder/extconf.rb
73
+ - ext/accessibility/key_coder/extconf.rb
107
74
  extra_rdoc_files:
108
75
  - docs/AccessibilityTips.markdown
109
76
  - docs/Acting.markdown
110
77
  - docs/Debugging.markdown
111
78
  - docs/images/all_the_buttons.jpg
112
79
  - docs/images/AX.png
80
+ - docs/images/next_version.png
113
81
  - docs/images/ui_hierarchy.dot
114
82
  - docs/images/ui_hierarchy.png
115
83
  - docs/Inspecting.markdown
@@ -117,55 +85,88 @@ extra_rdoc_files:
117
85
  - docs/NewBehaviour.markdown
118
86
  - docs/Notifications.markdown
119
87
  - docs/Searching.markdown
88
+ - docs/Setting.markdown
120
89
  - docs/TestingExtensions.markdown
121
90
  - .yardopts
122
- - LICENSE.txt
123
91
  - README.markdown
124
92
  files:
125
- - lib/ax_elements/accessibility/enumerators.rb
126
- - lib/ax_elements/accessibility/graph.rb
127
- - lib/ax_elements/accessibility/language.rb
128
- - lib/ax_elements/accessibility/qualifier.rb
129
- - lib/ax_elements/accessibility.rb
130
- - lib/ax_elements/core.rb
131
- - lib/ax_elements/element.rb
132
- - lib/ax_elements/elements/application.rb
133
- - lib/ax_elements/elements/button.rb
134
- - lib/ax_elements/elements/radio_button.rb
135
- - lib/ax_elements/elements/row.rb
136
- - lib/ax_elements/elements/static_text.rb
137
- - lib/ax_elements/elements/systemwide.rb
138
- - lib/ax_elements/inspector.rb
139
- - lib/ax_elements/macruby_extensions.rb
140
- - lib/ax_elements/notification.rb
141
- - lib/ax_elements/version.rb
93
+ - lib/accessibility/core.rb
94
+ - lib/accessibility/debug.rb
95
+ - lib/accessibility/dsl.rb
96
+ - lib/accessibility/enumerators.rb
97
+ - lib/accessibility/errors.rb
98
+ - lib/accessibility/factory.rb
99
+ - lib/accessibility/graph.rb
100
+ - lib/accessibility/pp_inspector.rb
101
+ - lib/accessibility/qualifier.rb
102
+ - lib/accessibility/string.rb
103
+ - lib/accessibility/translator.rb
104
+ - lib/accessibility/version.rb
105
+ - lib/accessibility.rb
106
+ - lib/ax/application.rb
107
+ - lib/ax/button.rb
108
+ - lib/ax/element.rb
109
+ - lib/ax/radio_button.rb
110
+ - lib/ax/row.rb
111
+ - lib/ax/static_text.rb
112
+ - lib/ax/systemwide.rb
113
+ - lib/ax_elements/awesome_print.rb
114
+ - lib/ax_elements/exception_workaround.rb
115
+ - lib/ax_elements/nsarray_compat.rb
116
+ - lib/ax_elements/vendor/inflection_data.rb
117
+ - lib/ax_elements/vendor/inflections.rb
118
+ - lib/ax_elements/vendor/inflector.rb
142
119
  - lib/ax_elements.rb
143
120
  - lib/AXElements.rb
144
121
  - lib/minitest/ax_elements.rb
145
122
  - lib/mouse.rb
146
123
  - lib/rspec/expectations/ax_elements.rb
147
- - ext/key_coder/extconf.rb
148
- - ext/key_coder/key_coder.m
124
+ - ext/accessibility/key_coder/extconf.rb
125
+ - ext/accessibility/key_coder/key_coder.c
126
+ - rakelib/doc.rake
127
+ - rakelib/ext.rake
128
+ - rakelib/gem.rake
129
+ - rakelib/test.rake
149
130
  - Rakefile
150
- - test/elements/test_application.rb
151
- - test/elements/test_row.rb
152
- - test/elements/test_systemwide.rb
153
- - test/test_accessibility.rb
154
- - test/test_blankness.rb
155
- - test/test_core.rb
156
- - test/test_element.rb
157
- - test/test_enumerators.rb
158
- - test/test_inspector.rb
159
- - test/test_language.rb
160
- - test/test_macruby_extensions.rb
161
- - test/test_mouse.rb
162
- - test/test_search_semantics.rb
131
+ - test/integration/accessibility/test_core.rb
132
+ - test/integration/accessibility/test_debug.rb
133
+ - test/integration/accessibility/test_dsl.rb
134
+ - test/integration/accessibility/test_enumerators.rb
135
+ - test/integration/accessibility/test_errors.rb
136
+ - test/integration/accessibility/test_notifications.rb
137
+ - test/integration/accessibility/test_qualifier.rb
138
+ - test/integration/ax/test_application.rb
139
+ - test/integration/ax/test_element.rb
140
+ - test/integration/ax/test_row.rb
141
+ - test/integration/ax_elements/test_nsarray_compat.rb
142
+ - test/integration/minitest/test_ax_elements.rb
143
+ - test/integration/rspec/expectations/test_ax_elements.rb
144
+ - test/integration/test_mouse.rb
145
+ - test/sanity/accessibility/test_core.rb
146
+ - test/sanity/accessibility/test_debug.rb
147
+ - test/sanity/accessibility/test_dsl.rb
148
+ - test/sanity/accessibility/test_errors.rb
149
+ - test/sanity/accessibility/test_factory.rb
150
+ - test/sanity/accessibility/test_pp_inspector.rb
151
+ - test/sanity/accessibility/test_qualifier.rb
152
+ - test/sanity/accessibility/test_string.rb
153
+ - test/sanity/accessibility/test_translator.rb
154
+ - test/sanity/ax/test_application.rb
155
+ - test/sanity/ax/test_element.rb
156
+ - test/sanity/ax/test_systemwide.rb
157
+ - test/sanity/ax_elements/test_nsarray_compat.rb
158
+ - test/sanity/ax_elements/test_nsobject_inspect.rb
159
+ - test/sanity/minitest/test_ax_elements.rb
160
+ - test/sanity/rspec/expectations/test_ax_elements.rb
161
+ - test/sanity/test_ax_elements.rb
162
+ - test/sanity/test_mouse.rb
163
163
  - test/helper.rb
164
164
  - docs/AccessibilityTips.markdown
165
165
  - docs/Acting.markdown
166
166
  - docs/Debugging.markdown
167
167
  - docs/images/all_the_buttons.jpg
168
168
  - docs/images/AX.png
169
+ - docs/images/next_version.png
169
170
  - docs/images/ui_hierarchy.dot
170
171
  - docs/images/ui_hierarchy.png
171
172
  - docs/Inspecting.markdown
@@ -173,11 +174,10 @@ files:
173
174
  - docs/NewBehaviour.markdown
174
175
  - docs/Notifications.markdown
175
176
  - docs/Searching.markdown
177
+ - docs/Setting.markdown
176
178
  - docs/TestingExtensions.markdown
177
179
  - .yardopts
178
- - LICENSE.txt
179
180
  - README.markdown
180
- has_rdoc: true
181
181
  homepage: http://github.com/Marketcircle/AXElements
182
182
  licenses:
183
183
  - BSD 3-clause
@@ -185,7 +185,6 @@ post_install_message:
185
185
  rdoc_options: []
186
186
  require_paths:
187
187
  - lib
188
- - ext
189
188
  required_ruby_version: !ruby/object:Gem::Requirement
190
189
  none: false
191
190
  requirements:
@@ -195,27 +194,46 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
194
  required_rubygems_version: !ruby/object:Gem::Requirement
196
195
  none: false
197
196
  requirements:
198
- - - '>'
197
+ - - '>='
199
198
  - !ruby/object:Gem::Version
200
- version: 1.3.1
199
+ version: "0"
201
200
  requirements: []
202
201
  rubyforge_project:
203
- rubygems_version: 1.4.2
202
+ rubygems_version: 1.8.20
204
203
  signing_key:
205
204
  specification_version: 3
206
205
  summary: A DSL for automating GUI manipulation
207
206
  test_files:
208
- - test/elements/test_application.rb
209
- - test/elements/test_row.rb
210
- - test/elements/test_systemwide.rb
211
- - test/test_accessibility.rb
212
- - test/test_blankness.rb
213
- - test/test_core.rb
214
- - test/test_element.rb
215
- - test/test_enumerators.rb
216
- - test/test_inspector.rb
217
- - test/test_language.rb
218
- - test/test_macruby_extensions.rb
219
- - test/test_mouse.rb
220
- - test/test_search_semantics.rb
207
+ - test/integration/accessibility/test_core.rb
208
+ - test/integration/accessibility/test_debug.rb
209
+ - test/integration/accessibility/test_dsl.rb
210
+ - test/integration/accessibility/test_enumerators.rb
211
+ - test/integration/accessibility/test_errors.rb
212
+ - test/integration/accessibility/test_notifications.rb
213
+ - test/integration/accessibility/test_qualifier.rb
214
+ - test/integration/ax/test_application.rb
215
+ - test/integration/ax/test_element.rb
216
+ - test/integration/ax/test_row.rb
217
+ - test/integration/ax_elements/test_nsarray_compat.rb
218
+ - test/integration/minitest/test_ax_elements.rb
219
+ - test/integration/rspec/expectations/test_ax_elements.rb
220
+ - test/integration/test_mouse.rb
221
+ - test/sanity/accessibility/test_core.rb
222
+ - test/sanity/accessibility/test_debug.rb
223
+ - test/sanity/accessibility/test_dsl.rb
224
+ - test/sanity/accessibility/test_errors.rb
225
+ - test/sanity/accessibility/test_factory.rb
226
+ - test/sanity/accessibility/test_pp_inspector.rb
227
+ - test/sanity/accessibility/test_qualifier.rb
228
+ - test/sanity/accessibility/test_string.rb
229
+ - test/sanity/accessibility/test_translator.rb
230
+ - test/sanity/ax/test_application.rb
231
+ - test/sanity/ax/test_element.rb
232
+ - test/sanity/ax/test_systemwide.rb
233
+ - test/sanity/ax_elements/test_nsarray_compat.rb
234
+ - test/sanity/ax_elements/test_nsobject_inspect.rb
235
+ - test/sanity/minitest/test_ax_elements.rb
236
+ - test/sanity/rspec/expectations/test_ax_elements.rb
237
+ - test/sanity/test_ax_elements.rb
238
+ - test/sanity/test_mouse.rb
221
239
  - test/helper.rb
data/LICENSE.txt DELETED
@@ -1,25 +0,0 @@
1
- Copyright (c) 2010-2011, Marketcircle Inc.
2
- All rights reserved.
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
- * Redistributions of source code must retain the above copyright
7
- notice, this list of conditions and the following disclaimer.
8
- * Redistributions in binary form must reproduce the above copyright
9
- notice, this list of conditions and the following disclaimer in the
10
- documentation and/or other materials provided with the distribution.
11
- * Neither the name of Marketcircle Inc. nor the names of its
12
- contributors may be used to endorse or promote products derived
13
- from this software without specific prior written permission.
14
-
15
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
- DISCLAIMED. IN NO EVENT SHALL Marketcircle Inc. BE LIABLE FOR ANY
19
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
21
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
23
- IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,6 +0,0 @@
1
- require 'mkmf'
2
-
3
- $CFLAGS << ' -std=c99 -fobjc-gc -Wall -Werror'
4
- $LIBS << ' -framework Cocoa -framework CoreServices -framework Carbon'
5
-
6
- create_makefile('key_coder')
@@ -1,77 +0,0 @@
1
- /*
2
- * key_coder.m
3
- * KeyCoder
4
- *
5
- * Created by Mark Rada on 11-07-27.
6
- * Copyright 2011 Marketcircle Incorporated. All rights reserved.
7
- */
8
-
9
- #import <Foundation/Foundation.h>
10
- #import <Carbon/Carbon.h>
11
- #import <CoreServices/CoreServices.h>
12
- #include "ruby/ruby.h"
13
-
14
- /*
15
- * @note Static keycode reference at
16
- * /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
17
- *
18
- * Map of characters to key codes.
19
- *
20
- * @return [Hash{String=>Fixnum}]
21
- */
22
- static NSMutableDictionary* mAX_keycode_map;
23
-
24
- static VALUE mAX;
25
-
26
- /*
27
- * Helper method to create the keycode mapping at runtime.
28
- */
29
- static void mAX_initialize_keycode_map() {
30
-
31
- TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource();
32
- CFDataRef keyboardLayoutData = (CFDataRef)TISGetInputSourceProperty(currentKeyboard,
33
- kTISPropertyUnicodeKeyLayoutData);
34
- const UCKeyboardLayout* keyboardLayout = (const UCKeyboardLayout*)CFDataGetBytePtr(keyboardLayoutData);
35
- UInt32 deadKeyState = 0;
36
- UniCharCount actualStringLength = 0;
37
- UniChar string[255];
38
-
39
- mAX_keycode_map = [[NSMutableDictionary alloc] initWithCapacity:255];
40
-
41
- for (int keyCode = 0; keyCode < 255; keyCode++) {
42
- UCKeyTranslate (
43
- keyboardLayout,
44
- keyCode,
45
- kUCKeyActionDown,
46
- 0,
47
- 0, // kb type
48
- 0, // OptionBits keyTranslateOptions,
49
- &deadKeyState,
50
- 255,
51
- &actualStringLength,
52
- string
53
- );
54
-
55
- [mAX_keycode_map setObject:[NSNumber numberWithInt:keyCode]
56
- forKey:[NSString stringWithFormat:@"%C", string[0]]];
57
- }
58
-
59
- }
60
-
61
- void Init_key_coder() {
62
-
63
- // TODO: Make mapping keys lazy, expose a C function to map a single
64
- // character to a keycode, and define a hash in Ruby land that
65
- // will use the hash callback feature to get the mapping on demand.
66
- // POSSIBLE PROBLEM: How to handle alternative characters, like
67
- // symbols which require holding shift first? How would we know
68
- // about them?
69
-
70
- // Initialize the mapping and expose it as a constant in the AX module
71
- mAX_initialize_keycode_map();
72
- mAX = rb_define_module("AX");
73
- rb_define_const(mAX, "KEYCODE_MAP", (VALUE)mAX_keycode_map);
74
- // No need to expose the method right now...
75
- //rb_define_module_function(mAX, "initialize_keycode_map", mAX_initialize_keycode_map, 0);
76
-
77
- }