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