AXElements 0.7.8 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
![The Moon](https://github.com/Marketcircle/AXElements/raw/
|
133
|
+
![The Moon](https://github.com/Marketcircle/AXElements/raw/gh-pages/images/next_version.png)
|
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