AXElements 0.7.8 → 0.8.0
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.
- data/.yardopts +1 -10
- data/README.markdown +7 -14
- data/ext/accessibility/key_coder/key_coder.c +7 -0
- data/lib/AXElements.rb +0 -2
- data/lib/accessibility/core.rb +180 -123
- data/lib/accessibility/dsl.rb +310 -191
- data/lib/accessibility/enumerators.rb +9 -8
- data/lib/accessibility/errors.rb +7 -8
- data/lib/accessibility/factory.rb +16 -9
- data/lib/accessibility/graph.rb +68 -22
- data/lib/accessibility/highlighter.rb +86 -0
- data/lib/accessibility/pp_inspector.rb +4 -4
- data/lib/accessibility/qualifier.rb +11 -9
- data/lib/accessibility/string.rb +12 -4
- data/lib/accessibility/translator.rb +19 -10
- data/lib/accessibility/version.rb +3 -1
- data/lib/accessibility.rb +42 -17
- data/lib/ax/application.rb +90 -30
- data/lib/ax/button.rb +5 -2
- data/lib/ax/element.rb +133 -149
- data/lib/ax/pop_up_button.rb +12 -0
- data/lib/ax/radio_button.rb +5 -2
- data/lib/ax/row.rb +2 -2
- data/lib/ax/static_text.rb +5 -2
- data/lib/ax/systemwide.rb +24 -12
- data/lib/ax_elements/awesome_print.rb +13 -0
- data/lib/ax_elements/exception_workaround.rb +5 -0
- data/lib/ax_elements/nsarray_compat.rb +1 -0
- data/lib/ax_elements.rb +2 -1
- data/lib/minitest/ax_elements.rb +60 -4
- data/lib/mouse.rb +47 -20
- data/lib/rspec/expectations/ax_elements.rb +180 -88
- data/rakelib/doc.rake +7 -0
- data/test/helper.rb +2 -1
- data/test/integration/accessibility/test_dsl.rb +126 -18
- data/test/integration/accessibility/test_errors.rb +1 -1
- data/test/integration/ax/test_element.rb +17 -0
- data/test/integration/minitest/test_ax_elements.rb +33 -38
- data/test/integration/rspec/expectations/test_ax_elements.rb +68 -19
- data/test/sanity/accessibility/test_core.rb +45 -37
- data/test/sanity/accessibility/test_highlighter.rb +56 -0
- data/test/sanity/ax/test_application.rb +8 -0
- data/test/sanity/ax/test_element.rb +7 -3
- data/test/sanity/minitest/test_ax_elements.rb +2 -0
- data/test/sanity/rspec/expectations/test_ax_elements.rb +3 -0
- data/test/sanity/test_accessibility.rb +9 -0
- data/test/sanity/test_mouse.rb +2 -2
- metadata +11 -38
- data/docs/AccessibilityTips.markdown +0 -119
- data/docs/Acting.markdown +0 -340
- data/docs/Debugging.markdown +0 -165
- data/docs/Inspecting.markdown +0 -261
- data/docs/KeyboardEvents.markdown +0 -122
- data/docs/NewBehaviour.markdown +0 -151
- data/docs/Notifications.markdown +0 -271
- data/docs/Searching.markdown +0 -250
- data/docs/TestingExtensions.markdown +0 -52
- data/docs/images/all_the_buttons.jpg +0 -0
- data/docs/images/next_version.png +0 -0
- data/docs/images/ui_hierarchy.dot +0 -34
- data/docs/images/ui_hierarchy.png +0 -0
- data/lib/accessibility/debug.rb +0 -164
- data/test/integration/accessibility/test_debug.rb +0 -44
- data/test/sanity/accessibility/test_debug.rb +0 -63
data/.yardopts
CHANGED
@@ -5,15 +5,6 @@
|
|
5
5
|
--markup-provider redcarpet
|
6
6
|
--asset docs/images:images
|
7
7
|
--readme README.markdown
|
8
|
+
--hide-void-return
|
8
9
|
lib/**/*.rb
|
9
10
|
ext/**/*{.m,.c}
|
10
|
-
-
|
11
|
-
docs/Inspecting.markdown
|
12
|
-
docs/Acting.markdown
|
13
|
-
docs/Searching.markdown
|
14
|
-
docs/Notifications.markdown
|
15
|
-
docs/KeyboardEvents.markdown
|
16
|
-
docs/Debugging.markdown
|
17
|
-
docs/NewBehaviour.markdown
|
18
|
-
docs/AccessibilityTips.markdown
|
19
|
-
docs/TestingExtensions.markdown
|
data/README.markdown
CHANGED
@@ -21,7 +21,7 @@ from a quick look window:
|
|
21
21
|
require 'ax_elements'
|
22
22
|
|
23
23
|
finder = app_with_bundle_identifier 'com.apple.finder'
|
24
|
-
|
24
|
+
set_focus_to finder # bring to the front so you can see it happening
|
25
25
|
|
26
26
|
type "\\COMMAND+n"
|
27
27
|
sleep 1 # this is so you can see it happen in "slow motion"
|
@@ -60,8 +60,9 @@ slider in the menu bar (unless you've hidden it):
|
|
60
60
|
|
61
61
|
## Getting Setup
|
62
62
|
|
63
|
-
You need to have the OS X
|
64
|
-
install AXElements
|
63
|
+
You need to have the OS X command line tools installed in order to
|
64
|
+
build and install AXElements, but you will also need Xcode in order to
|
65
|
+
run the test suite (sorry). Go ahead and install the tools now if you
|
65
66
|
haven't done that yet, I'll wait. Once you have the developer tools,
|
66
67
|
you should install MacRuby, the latest nightly build is required. If you
|
67
68
|
are on Snow Leopard, you will also need to install the
|
@@ -109,18 +110,10 @@ disable it like so:
|
|
109
110
|
|
110
111
|
## Getting Started
|
111
112
|
|
112
|
-
The
|
113
|
-
[documentation](http://rdoc.info/github/Marketcircle/AXElements/master/frames)
|
113
|
+
The [wiki](http://github.com/Marketcircle/AXElements/wiki)
|
114
114
|
is the best place to get started, it includes tutorials to help you get
|
115
115
|
started as well the API documentation (API docs are broken right now due
|
116
|
-
to incompatabilities between MacRuby and YARD).
|
117
|
-
[Inspecting Tutorial](docs/Inspecting.markdown).
|
118
|
-
|
119
|
-
Documentation is hosted by rdoc.info, but you can also generate it yourself
|
120
|
-
using YARD. Documentation is stored in the `docs/` directory, but the
|
121
|
-
documentation includes a number of cross references and even some
|
122
|
-
pictures so you will lose a lot of the quality if you view them as
|
123
|
-
plain text.
|
116
|
+
to incompatabilities between MacRuby and YARD).
|
124
117
|
|
125
118
|
Though it is not required, you may want to read Apple's
|
126
119
|
[Accessibility Overview](http://developer.apple.com/library/mac/#documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXModel/OSXAXmodel.html)
|
@@ -137,7 +130,7 @@ increase. Documentation will be overhauled and more examples will be
|
|
137
130
|
added. It will be magical, so we're code naming the next version
|
138
131
|
"Clefairy".
|
139
132
|
|
140
|
-

|
141
134
|
|
142
135
|
Proper releases to rubygems will be made as milestones are reached.
|
143
136
|
|
@@ -107,6 +107,13 @@ keycoder_post_event(VALUE self, VALUE event)
|
|
107
107
|
void
|
108
108
|
Init_key_coder()
|
109
109
|
{
|
110
|
+
/*
|
111
|
+
* Document-class: KeyCoder
|
112
|
+
*
|
113
|
+
* Class that encapsulates some low level work for finding key code mappings
|
114
|
+
* and posting keyboard events to the system.
|
115
|
+
*
|
116
|
+
*/
|
110
117
|
VALUE cKeyCoder = rb_define_class("KeyCoder", rb_cObject);
|
111
118
|
rb_define_singleton_method(cKeyCoder, "dynamic_mapping", keycoder_dynamic_mapping, 0);
|
112
119
|
rb_define_singleton_method(cKeyCoder, "post_event", keycoder_post_event, 1);
|
data/lib/AXElements.rb
CHANGED