AXElements 0.7.8 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/.yardopts +1 -10
  2. data/README.markdown +7 -14
  3. data/ext/accessibility/key_coder/key_coder.c +7 -0
  4. data/lib/AXElements.rb +0 -2
  5. data/lib/accessibility/core.rb +180 -123
  6. data/lib/accessibility/dsl.rb +310 -191
  7. data/lib/accessibility/enumerators.rb +9 -8
  8. data/lib/accessibility/errors.rb +7 -8
  9. data/lib/accessibility/factory.rb +16 -9
  10. data/lib/accessibility/graph.rb +68 -22
  11. data/lib/accessibility/highlighter.rb +86 -0
  12. data/lib/accessibility/pp_inspector.rb +4 -4
  13. data/lib/accessibility/qualifier.rb +11 -9
  14. data/lib/accessibility/string.rb +12 -4
  15. data/lib/accessibility/translator.rb +19 -10
  16. data/lib/accessibility/version.rb +3 -1
  17. data/lib/accessibility.rb +42 -17
  18. data/lib/ax/application.rb +90 -30
  19. data/lib/ax/button.rb +5 -2
  20. data/lib/ax/element.rb +133 -149
  21. data/lib/ax/pop_up_button.rb +12 -0
  22. data/lib/ax/radio_button.rb +5 -2
  23. data/lib/ax/row.rb +2 -2
  24. data/lib/ax/static_text.rb +5 -2
  25. data/lib/ax/systemwide.rb +24 -12
  26. data/lib/ax_elements/awesome_print.rb +13 -0
  27. data/lib/ax_elements/exception_workaround.rb +5 -0
  28. data/lib/ax_elements/nsarray_compat.rb +1 -0
  29. data/lib/ax_elements.rb +2 -1
  30. data/lib/minitest/ax_elements.rb +60 -4
  31. data/lib/mouse.rb +47 -20
  32. data/lib/rspec/expectations/ax_elements.rb +180 -88
  33. data/rakelib/doc.rake +7 -0
  34. data/test/helper.rb +2 -1
  35. data/test/integration/accessibility/test_dsl.rb +126 -18
  36. data/test/integration/accessibility/test_errors.rb +1 -1
  37. data/test/integration/ax/test_element.rb +17 -0
  38. data/test/integration/minitest/test_ax_elements.rb +33 -38
  39. data/test/integration/rspec/expectations/test_ax_elements.rb +68 -19
  40. data/test/sanity/accessibility/test_core.rb +45 -37
  41. data/test/sanity/accessibility/test_highlighter.rb +56 -0
  42. data/test/sanity/ax/test_application.rb +8 -0
  43. data/test/sanity/ax/test_element.rb +7 -3
  44. data/test/sanity/minitest/test_ax_elements.rb +2 -0
  45. data/test/sanity/rspec/expectations/test_ax_elements.rb +3 -0
  46. data/test/sanity/test_accessibility.rb +9 -0
  47. data/test/sanity/test_mouse.rb +2 -2
  48. metadata +11 -38
  49. data/docs/AccessibilityTips.markdown +0 -119
  50. data/docs/Acting.markdown +0 -340
  51. data/docs/Debugging.markdown +0 -165
  52. data/docs/Inspecting.markdown +0 -261
  53. data/docs/KeyboardEvents.markdown +0 -122
  54. data/docs/NewBehaviour.markdown +0 -151
  55. data/docs/Notifications.markdown +0 -271
  56. data/docs/Searching.markdown +0 -250
  57. data/docs/TestingExtensions.markdown +0 -52
  58. data/docs/images/all_the_buttons.jpg +0 -0
  59. data/docs/images/next_version.png +0 -0
  60. data/docs/images/ui_hierarchy.dot +0 -34
  61. data/docs/images/ui_hierarchy.png +0 -0
  62. data/lib/accessibility/debug.rb +0 -164
  63. data/test/integration/accessibility/test_debug.rb +0 -44
  64. 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
- set_focus finder # bring to the front so you can see it happening
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 developer tools installed in build and
64
- install AXElements (sorry). Go ahead and install the tools now if you
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). The starting tutorial is the
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/master/docs/images/next_version.png)
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
@@ -1,3 +1 @@
1
- $stderr.puts "require 'AXElements' is deprecated."
2
- $stderr.puts "Please require 'ax_elements' instead."
3
1
  require 'ax_elements'