rufus 0.1
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/.gitignore +61 -0
- data/.gitmodules +6 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +51 -0
- data/README.md +120 -0
- data/RufusApp/Frank/features/my_first.feature +12 -0
- data/RufusApp/Frank/features/step_definitions/launch_steps.rb +20 -0
- data/RufusApp/Frank/features/support/env.rb +8 -0
- data/RufusApp/Frank/frank_static_resources.bundle/ViewAttributeMapping.plist +63 -0
- data/RufusApp/Frank/frank_static_resources.bundle/ViewAttributeMappingMac.plist +99 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/ajax-loader.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/file.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/folder-closed.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/folder.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/loader.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/loader.png +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/minus.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/plus.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-black-line.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-black.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-default-line.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-default.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-famfamfam-line.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-famfamfam.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-gray-line.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-gray.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-red-line.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-red.gif +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/index.html +86 -0
- data/RufusApp/Frank/frank_static_resources.bundle/index.html.haml +76 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/accessible_views_view.coffee +41 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/accessible_views_view.js +46 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/controller.coffee +134 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/controller.js +139 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/details_view.coffee +42 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/details_view.js +51 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/dropdown_control.coffee +64 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/dropdown_control.js +73 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_model.coffee +46 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_model.js +60 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_view.coffee +167 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_view.js +205 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_model.coffee +10 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_model.js +17 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_view.coffee +44 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_view.js +63 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/frank.coffee +96 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/frank.js +146 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/backbone.js +1431 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/coffee-script.js +8 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/jquery-ui.min.js +405 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/jquery.min.js +4 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/jquery.treeview.js +251 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/json2.js +481 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/raphael.js +5815 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/require.js +2053 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/lib/underscore.js +1059 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/main.coffee +27 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/main.js +29 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/tabs_controller.coffee +13 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/tabs_controller.js +22 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/toast_controller.coffee +15 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/toast_controller.js +28 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/transform_stack.coffee +59 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/transform_stack.js +78 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/tree_view.coffee +53 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/tree_view.js +64 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/view_hier_model.coffee +37 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/view_hier_model.js +48 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/view_model.coffee +39 -0
- data/RufusApp/Frank/frank_static_resources.bundle/js/view_model.js +62 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/index.html +329 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.eot +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.svg +114 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.ttf +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.woff +0 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos.css +20 -0
- data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos_base64.css +18 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/css/symbiote.css +1 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_elements.scss +28 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_header.scss +61 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_inspect_tabs_list_tabs.scss +194 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_jquery.treeview.scss +68 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_jqui.scss +2 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_layout.scss +13 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_mixins.sass +137 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_reset.scss +32 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_selector_test_toolbar.scss +81 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_solarized.scss +16 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_typography.scss +11 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_unicode.scss +3 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_z_index.scss +2 -0
- data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/symbiote.scss +26 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Default-568h@2x.png +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Default.png +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Default@2x.png +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Info.plist +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/PkgInfo +1 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/ResourceRules.plist +25 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/RufusApp +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/RufusPageViewController.nib +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/_CodeSignature/CodeResources +60 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/embedded.mobileprovision +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/en.lproj/InfoPlist.strings +0 -0
- data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/en.lproj/RUViewController.nib +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/Default-568h@2x.png +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/Default.png +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/Default@2x.png +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/Info.plist +51 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/PkgInfo +1 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/RufusApp +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/RufusPageViewController.nib +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/en.lproj/InfoPlist.strings +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/en.lproj/RUViewController.nib +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/ViewAttributeMapping.plist +63 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/ViewAttributeMappingMac.plist +99 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/ajax-loader.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/file.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/folder-closed.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/folder.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/loader.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/loader.png +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/minus.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/plus.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-black-line.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-black.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-default-line.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-default.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-famfamfam-line.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-famfamfam.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-gray-line.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-gray.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-red-line.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-red.gif +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/index.html +86 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/index.html.haml +76 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/accessible_views_view.coffee +41 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/accessible_views_view.js +46 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/controller.coffee +134 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/controller.js +139 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/details_view.coffee +42 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/details_view.js +51 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/dropdown_control.coffee +64 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/dropdown_control.js +73 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_model.coffee +46 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_model.js +60 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_view.coffee +167 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_view.js +205 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_model.coffee +10 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_model.js +17 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_view.coffee +44 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_view.js +63 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/frank.coffee +96 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/frank.js +146 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/backbone.js +1431 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/coffee-script.js +8 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/jquery-ui.min.js +405 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/jquery.min.js +4 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/jquery.treeview.js +251 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/json2.js +481 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/raphael.js +5815 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/require.js +2053 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/underscore.js +1059 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/main.coffee +27 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/main.js +29 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tabs_controller.coffee +13 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tabs_controller.js +22 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/toast_controller.coffee +15 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/toast_controller.js +28 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/transform_stack.coffee +59 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/transform_stack.js +78 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tree_view.coffee +53 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tree_view.js +64 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_hier_model.coffee +37 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_hier_model.js +48 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_model.coffee +39 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_model.js +62 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/index.html +329 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.eot +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.svg +114 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.ttf +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.woff +0 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos.css +20 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos_base64.css +18 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/css/symbiote.css +1 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_elements.scss +28 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_header.scss +61 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_inspect_tabs_list_tabs.scss +194 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_jquery.treeview.scss +68 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_jqui.scss +2 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_layout.scss +13 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_mixins.sass +137 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_reset.scss +32 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_selector_test_toolbar.scss +81 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_solarized.scss +16 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_typography.scss +11 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_unicode.scss +3 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_z_index.scss +2 -0
- data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/symbiote.scss +26 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/Default-568h@2x.png +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/Default.png +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/Default@2x.png +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/Info.plist +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/PkgInfo +1 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/ResourceRules.plist +25 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/RufusApp +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/RufusPageViewController.nib +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/_CodeSignature/CodeResources +60 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/embedded.mobileprovision +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/en.lproj/InfoPlist.strings +0 -0
- data/RufusApp/Frank/frankified_build/RufusApp.app/en.lproj/RUViewController.nib +0 -0
- data/RufusApp/Frank/frankify.xcconfig +6 -0
- data/RufusApp/Frank/libCocoaAsyncSocket.a +0 -0
- data/RufusApp/Frank/libCocoaAsyncSocketMac.a +0 -0
- data/RufusApp/Frank/libCocoaHTTPServer.a +0 -0
- data/RufusApp/Frank/libCocoaHTTPServerMac.a +0 -0
- data/RufusApp/Frank/libCocoaLumberjack.a +0 -0
- data/RufusApp/Frank/libCocoaLumberjackMac.a +0 -0
- data/RufusApp/Frank/libFrank.a +0 -0
- data/RufusApp/Frank/libFrankMac.a +0 -0
- data/RufusApp/Frank/libShelley.a +0 -0
- data/RufusApp/Frank/libShelleyMac.a +0 -0
- data/RufusApp/Rakefile +28 -0
- data/RufusApp/RufusApp/Default-568h@2x.png +0 -0
- data/RufusApp/RufusApp/Default.png +0 -0
- data/RufusApp/RufusApp/Default@2x.png +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Default-568h@2x.png +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Default.png +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Default@2x.png +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Info.plist +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/PkgInfo +1 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/ResourceRules.plist +25 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/RufusApp +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/RufusPageViewController.nib +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/_CodeSignature/CodeResources +60 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/embedded.mobileprovision +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/en.lproj/InfoPlist.strings +0 -0
- data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/en.lproj/RUViewController.nib +0 -0
- data/RufusApp/RufusApp/RUAppDelegate.h +19 -0
- data/RufusApp/RufusApp/RUAppDelegate.m +53 -0
- data/RufusApp/RufusApp/RUViewController.h +16 -0
- data/RufusApp/RufusApp/RUViewController.m +34 -0
- data/RufusApp/RufusApp/RufusApp-Info.plist +39 -0
- data/RufusApp/RufusApp/RufusApp-Prefix.pch +14 -0
- data/RufusApp/RufusApp/RufusPageViewController.h +15 -0
- data/RufusApp/RufusApp/RufusPageViewController.m +45 -0
- data/RufusApp/RufusApp/RufusPageViewController.xib +372 -0
- data/RufusApp/RufusApp/en.lproj/InfoPlist.strings +2 -0
- data/RufusApp/RufusApp/en.lproj/RUViewController.xib +525 -0
- data/RufusApp/RufusApp/main.m +18 -0
- data/RufusApp/RufusApp.xcodeproj/project.pbxproj +493 -0
- data/RufusApp/RufusApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/RufusApp/RufusAppTests/RufusAppTests-Info.plist +22 -0
- data/RufusApp/RufusAppTests/RufusAppTests.h +13 -0
- data/RufusApp/RufusAppTests/RufusAppTests.m +32 -0
- data/RufusApp/RufusAppTests/en.lproj/InfoPlist.strings +2 -0
- data/features/driver.feature +6 -0
- data/features/step_definitions/driver_steps.rb +16 -0
- data/features/step_definitions/view_steps.rb +12 -0
- data/features/support/core_ext/string.rb +5 -0
- data/features/support/env.rb +15 -0
- data/features/support/screens/home_page.rb +13 -0
- data/features/support/screens/rufus_page.rb +12 -0
- data/features/view.feature +10 -0
- data/lib/rufus/accessors/accessors.rb +25 -0
- data/lib/rufus/accessors/view.rb +47 -0
- data/lib/rufus/driver.rb +120 -0
- data/lib/rufus/navigation.rb +23 -0
- data/lib/rufus.rb +11 -0
- data/rufus.gemspec +13 -0
- data/spec/accessors_spec.rb +85 -0
- data/spec/driver_spec.rb +152 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/view_spec.rb +102 -0
- metadata +352 -0
data/.gitignore
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
_Store
|
2
|
+
*/build/*
|
3
|
+
*.pbxuser
|
4
|
+
!default.pbxuser
|
5
|
+
*.mode1v3
|
6
|
+
!default.mode1v3
|
7
|
+
*.mode2v3
|
8
|
+
!default.mode2v3
|
9
|
+
*.perspectivev3
|
10
|
+
!default.perspectivev3
|
11
|
+
xcuserdata
|
12
|
+
profile
|
13
|
+
*.moved-aside
|
14
|
+
DerivedData
|
15
|
+
.idea/
|
16
|
+
*.hmap
|
17
|
+
*.xcuserstate
|
18
|
+
*.orig
|
19
|
+
|
20
|
+
*.gem
|
21
|
+
*.rbc
|
22
|
+
.bundle
|
23
|
+
.config
|
24
|
+
coverage
|
25
|
+
InstalledFiles
|
26
|
+
lib/bundler/man
|
27
|
+
screenshots/
|
28
|
+
pkg
|
29
|
+
rdoc
|
30
|
+
spec/reports
|
31
|
+
test/tmp
|
32
|
+
test/version_tmp
|
33
|
+
tmp
|
34
|
+
|
35
|
+
# YARD artifacts
|
36
|
+
.yardoc
|
37
|
+
_yardoc
|
38
|
+
doc/
|
39
|
+
|
40
|
+
.DS_Store
|
41
|
+
|
42
|
+
.DS_Store
|
43
|
+
|
44
|
+
.DS_Store
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
*.xcuserstate
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
build
|
54
|
+
|
55
|
+
.idea/workspace.xml
|
56
|
+
|
57
|
+
element_methods.rtf
|
58
|
+
|
59
|
+
RufusApp/RufusApp.xcodeproj/project.xcworkspace/xcshareddata/
|
60
|
+
|
61
|
+
|
data/.gitmodules
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
builder (3.2.0)
|
5
|
+
childprocess (0.3.9)
|
6
|
+
ffi (~> 1.0, >= 1.0.11)
|
7
|
+
cucumber (1.2.5)
|
8
|
+
builder (>= 2.1.2)
|
9
|
+
diff-lcs (>= 1.1.3)
|
10
|
+
gherkin (~> 2.11.7)
|
11
|
+
multi_json (~> 1.3)
|
12
|
+
data_magic (0.15.2)
|
13
|
+
faker (>= 1.1.2)
|
14
|
+
yml_reader (>= 0.2)
|
15
|
+
diff-lcs (1.2.4)
|
16
|
+
faker (1.1.2)
|
17
|
+
i18n (~> 0.5)
|
18
|
+
ffi (1.9.0)
|
19
|
+
gherkin (2.11.8)
|
20
|
+
multi_json (~> 1.3)
|
21
|
+
i18n (0.6.4)
|
22
|
+
multi_json (1.7.9)
|
23
|
+
page_navigation (0.9)
|
24
|
+
data_magic (>= 0.14)
|
25
|
+
require_all (1.2.1)
|
26
|
+
rspec (2.14.1)
|
27
|
+
rspec-core (~> 2.14.0)
|
28
|
+
rspec-expectations (~> 2.14.0)
|
29
|
+
rspec-mocks (~> 2.14.0)
|
30
|
+
rspec-core (2.14.4)
|
31
|
+
rspec-expectations (2.14.0)
|
32
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
33
|
+
rspec-mocks (2.14.1)
|
34
|
+
rubyzip (0.9.9)
|
35
|
+
selenium-webdriver (2.35.0)
|
36
|
+
childprocess (>= 0.2.5)
|
37
|
+
multi_json (~> 1.0)
|
38
|
+
rubyzip
|
39
|
+
websocket (~> 1.0.4)
|
40
|
+
websocket (1.0.7)
|
41
|
+
yml_reader (0.2)
|
42
|
+
|
43
|
+
PLATFORMS
|
44
|
+
ruby
|
45
|
+
|
46
|
+
DEPENDENCIES
|
47
|
+
cucumber
|
48
|
+
page_navigation
|
49
|
+
require_all
|
50
|
+
rspec
|
51
|
+
selenium-webdriver
|
data/README.md
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
Last Updated: 9-24-2013
|
2
|
+
|
3
|
+
This project is intended to facilitate automated testing on iOS devices using cucumber and the Page Object pattern.
|
4
|
+
|
5
|
+
|
6
|
+
QUICK START GUIDE
|
7
|
+
-----------------
|
8
|
+
1. gem install rufus
|
9
|
+
2. require 'rufus' in your Gemfile
|
10
|
+
3. Clone appium into project directory (where .xcodeproj resides). Repo located at: https://github.com/appium/appium.git
|
11
|
+
4. Create a config.yml in project directory with the following information:
|
12
|
+
|
13
|
+
browser: iOS
|
14
|
+
platform: Mac
|
15
|
+
version: 6.1
|
16
|
+
app:$HOME/Library/Developer/Xcode/DerivedData/<UNIQUE>/Build/Products/Debug-iphoneos/YourApp.app
|
17
|
+
|
18
|
+
5. Start appium server using node
|
19
|
+
>appium -U <UDID> --app <PATH_TO_APP>
|
20
|
+
|
21
|
+
6. Deploy to iOS device using libimobiledevice. Repo located at: https://github.com/benvium/libimobiledevice-macosx
|
22
|
+
|
23
|
+
7. Run tests
|
24
|
+
>bundle exec cucumber
|
25
|
+
|
26
|
+
|
27
|
+
LONG START GUIDE
|
28
|
+
----------------
|
29
|
+
|
30
|
+
PREREQUISITES
|
31
|
+
--------------------------
|
32
|
+
1. Ruby
|
33
|
+
2. Homebrew
|
34
|
+
3. Bundler
|
35
|
+
|
36
|
+
INSTALLING NODE WITH HOMEBREW
|
37
|
+
-----------------------------
|
38
|
+
|
39
|
+
- brew doctor
|
40
|
+
- brew install node
|
41
|
+
- curl https://npmjs.org/install.sh | sh
|
42
|
+
- export NODE_PATH="/usr/local/lib/node"
|
43
|
+
- export PATH="/usr/local/share/npm/bin:$PATH"
|
44
|
+
- node -v <= check to see that node installed correctly
|
45
|
+
|
46
|
+
APPIUM
|
47
|
+
------
|
48
|
+
|
49
|
+
Appium must be installed to run it from the command line. The repository at https://github.com/appium/appium.git is included as a submodule to this project. To download the necessary files, issue the following in your project directory:
|
50
|
+
|
51
|
+
>git submodule init
|
52
|
+
>git submodule update
|
53
|
+
|
54
|
+
If you did not download the rufus source code, clone appium into your project directory. Either way, look into the appium directory to make sure there is a file server.js.
|
55
|
+
|
56
|
+
CONFIGURING ENVIRONMENT
|
57
|
+
--------------------------------------------
|
58
|
+
Rufus relies on a config.yml file to exists in the project's root directory. This is used to tell appium about the physical device and the software under test. Below is a typical configuration to run automated tests on the iPad.
|
59
|
+
|
60
|
+
browser: iOS
|
61
|
+
platform: Mac
|
62
|
+
version: 6.1
|
63
|
+
app:$HOME/Library/Developer/Xcode/DerivedData/<UNIQUE_ID>/Build/Products/Debug-iphoneos/YourApp.app
|
64
|
+
|
65
|
+
STARTING APPIUM SERVER
|
66
|
+
-----------------------------------------
|
67
|
+
Open a separate terminal window and navigate to you appium installation. This will be the window that shows the appium server output. In this window issue the following command to start the appium server
|
68
|
+
|
69
|
+
>node server.js -U <UDID> --app <PATH_TO_APP>
|
70
|
+
|
71
|
+
The UDID is the unique identifier of your physical device. This can be found in Xcode. Navigate to Window > Organizer, select the target device and notice it's identifier. The PATH_TO_APP is the path to the compiled app that Xcode produces. It should be the same as the path configured in the config.yml
|
72
|
+
|
73
|
+
After issuing the command there should be a message stating that the appium server is listening.
|
74
|
+
|
75
|
+
DEPLOYING TO DEVICE
|
76
|
+
----------------------------------
|
77
|
+
|
78
|
+
Rufus doesn't necessarily care how your app made it onto the device as long as selenium can see it, but I found the most consistent method to be through libimobiledevice. That project also is included as a submodule to this one. The original repository is https://github.com/benvium/libimobiledevice-macosx. Look at the libimobiledevice Readme in order to configure the environment variables your system needs to use this deployment mechanism.
|
79
|
+
|
80
|
+
The only gotcha I ran into was generating the .ipa archive that libimobiledevice uses. Take the following steps to generate the .ipa archive.
|
81
|
+
|
82
|
+
1. Build the app for deployment to device
|
83
|
+
2. Navigate to the .app file that should be found in the ../Debug-iphoneos/ directory
|
84
|
+
3. Create a folder in that directory named 'Payload'. It must be named Payload.
|
85
|
+
4. Put a copy of the .app file in the Payload directory
|
86
|
+
5. Compress the directory into a .zip archive
|
87
|
+
6. Change the .zip extension to .ipa
|
88
|
+
7. Issue the command ideviceinstaller -i YourApp.ipa (This installs the app)
|
89
|
+
|
90
|
+
|
91
|
+
USING THE RUFUS IRB DRIVER
|
92
|
+
--------------------------
|
93
|
+
After installing the gem, open an irb session from the same directory as your config.yml.
|
94
|
+
|
95
|
+
>require 'rufus/driver'
|
96
|
+
>driver = Rufus.new
|
97
|
+
>driver.start (starts the app)
|
98
|
+
|
99
|
+
|
100
|
+
DEFINING A BUTTON SEQUENCE
|
101
|
+
--------------------------
|
102
|
+
|
103
|
+
Rufus doesn't mind the mindless work of pushing buttons in sequence. The following command will push the goodButton, badButton and sortaOkayButton in sequence 10 times in a row if such a sequence is possible. In this example, the goodButton must be available to be pressed after pushing the sortaOkayButton in order for the loop to continue.
|
104
|
+
|
105
|
+
driver.sequence 'goodButton', 'badButton', 'sortaOkayButton', 10
|
106
|
+
|
107
|
+
OTHER DRIVER USE CASES
|
108
|
+
----------------------
|
109
|
+
|
110
|
+
Push a button by name
|
111
|
+
|
112
|
+
>driver.push_button 'buttonName'
|
113
|
+
|
114
|
+
>Get a list of all the button names
|
115
|
+
|
116
|
+
>driver.buttons (example return: ['go', 'yesButton','noButton'])
|
117
|
+
|
118
|
+
Enter 'Hello' into text field
|
119
|
+
|
120
|
+
>driver.type 'hello' 'textFieldName'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Feature:
|
2
|
+
As an iOS developer
|
3
|
+
I want to have a sample feature file
|
4
|
+
So I can see what my next step is in the wonderful world of Frank/Cucumber testing
|
5
|
+
|
6
|
+
Scenario:
|
7
|
+
Rotating the simulator for demonstration purposes
|
8
|
+
Given I launch the app
|
9
|
+
Given the device is in landscape orientation
|
10
|
+
Given the device is in portrait orientation
|
11
|
+
Given the device is in landscape orientation
|
12
|
+
Given the device is in portrait orientation
|
@@ -0,0 +1,20 @@
|
|
1
|
+
def app_path
|
2
|
+
ENV['APP_BUNDLE_PATH'] || (defined?(APP_BUNDLE_PATH) && APP_BUNDLE_PATH)
|
3
|
+
end
|
4
|
+
|
5
|
+
Given /^I launch the app$/ do
|
6
|
+
# latest sdk and iphone by default
|
7
|
+
launch_app app_path
|
8
|
+
end
|
9
|
+
|
10
|
+
Given /^I launch the app using iOS (\d\.\d)$/ do |sdk|
|
11
|
+
# You can grab a list of the installed SDK with sim_launcher
|
12
|
+
# > run sim_launcher from the command line
|
13
|
+
# > open a browser to http://localhost:8881/showsdks
|
14
|
+
# > use one of the sdk you see in parenthesis (e.g. 4.2)
|
15
|
+
launch_app app_path, sdk
|
16
|
+
end
|
17
|
+
|
18
|
+
Given /^I launch the app using iOS (\d\.\d) and the (iphone|ipad) simulator$/ do |sdk, version|
|
19
|
+
launch_app app_path, sdk, version
|
20
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'frank-cucumber'
|
2
|
+
|
3
|
+
# UIQuery is deprecated. Please use the shelley selector engine.
|
4
|
+
Frank::Cucumber::FrankHelper.use_shelley_from_now_on
|
5
|
+
|
6
|
+
# This constant must be set to the full, absolute path for your Frankified target's app bundle.
|
7
|
+
# See the "Given I launch the app" step definition in launch_steps.rb for more details
|
8
|
+
APP_BUNDLE_PATH = File.expand_path( '../../../frankified_build/Frankified.app', __FILE__ )
|
@@ -0,0 +1,63 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>UIView</key>
|
6
|
+
<array>
|
7
|
+
<string>accessibilityLabel</string>
|
8
|
+
<string>accessibilityFrame</string>
|
9
|
+
<string>tag</string>
|
10
|
+
<string>alpha</string>
|
11
|
+
<string>autoresizingMask</string>
|
12
|
+
<string>backgroundColor</string>
|
13
|
+
<string>frame</string>
|
14
|
+
<string>isHidden</string>
|
15
|
+
</array>
|
16
|
+
<key>UIWindow</key>
|
17
|
+
<array>
|
18
|
+
<string>windowLevel</string>
|
19
|
+
<string>isKeyWindow</string>
|
20
|
+
</array>
|
21
|
+
<key>UIScrollView</key>
|
22
|
+
<array>
|
23
|
+
<string>contentOffset</string>
|
24
|
+
<string>contentSize</string>
|
25
|
+
<string>isScrollEnabled</string>
|
26
|
+
<string>contentInset</string>
|
27
|
+
<string>isPagingEnabled</string>
|
28
|
+
<string>bounces</string>
|
29
|
+
<string>alwaysBounceVertical</string>
|
30
|
+
<string>alwaysBounceHorizontal</string>
|
31
|
+
<string>showsHorizontalScrollIndicator</string>
|
32
|
+
<string>showsVerticalScrollIndicator</string>
|
33
|
+
<string>zoomScale</string>
|
34
|
+
<string>maximumZoomScale</string>
|
35
|
+
<string>minimumZoomScale</string>
|
36
|
+
<string>delegate</string>
|
37
|
+
</array>
|
38
|
+
<key>UITableView</key>
|
39
|
+
<array>
|
40
|
+
<string>dataSource</string>
|
41
|
+
</array>
|
42
|
+
<key>UILabel</key>
|
43
|
+
<array>
|
44
|
+
<string>text</string>
|
45
|
+
<string>font</string>
|
46
|
+
<string>textAlignment</string>
|
47
|
+
</array>
|
48
|
+
<key>UISegmentedControl</key>
|
49
|
+
<array>
|
50
|
+
<string>segmentedControlStyle</string>
|
51
|
+
<string>numberOfSegments</string>
|
52
|
+
<string>selectedSegmentIndex</string>
|
53
|
+
</array>
|
54
|
+
<key>MKMapView</key>
|
55
|
+
<array>
|
56
|
+
<string>mapType</string>
|
57
|
+
<string>isZoomEnabled</string>
|
58
|
+
<string>isScrollEnabled</string>
|
59
|
+
<string>userTrackingMode</string>
|
60
|
+
<string>delegate</string>
|
61
|
+
</array>
|
62
|
+
</dict>
|
63
|
+
</plist>
|
@@ -0,0 +1,99 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>NSObject</key>
|
6
|
+
<array>
|
7
|
+
<string>FEX_accessibilityLabel</string>
|
8
|
+
<string>FEX_accessibilityFrame</string>
|
9
|
+
</array>
|
10
|
+
<key>NSView</key>
|
11
|
+
<array>
|
12
|
+
<string>tag</string>
|
13
|
+
<string>autoresizesSubviews</string>
|
14
|
+
<string>autoresizingMask</string>
|
15
|
+
<string>frame</string>
|
16
|
+
<string>bounds</string>
|
17
|
+
<string>isHidden</string>
|
18
|
+
<string>isFlipped</string>
|
19
|
+
<string>isRotatedFromBase</string>
|
20
|
+
<string>isRotatedOrScaledFromBase</string>
|
21
|
+
<string>isInFullScreenMode</string>
|
22
|
+
<string>isOpaque</string>
|
23
|
+
<string>canBecomeKeyView</string>
|
24
|
+
<string>acceptsTouchEvents</string>
|
25
|
+
<string>wantsRestingTouches</string>
|
26
|
+
</array>
|
27
|
+
<key>NSWindow</key>
|
28
|
+
<array>
|
29
|
+
<string>alphaValue</string>
|
30
|
+
<string>backgroundColor</string>
|
31
|
+
<string>isOpaque</string>
|
32
|
+
<string>level</string>
|
33
|
+
<string>isKeyWindow</string>
|
34
|
+
<string>frame</string>
|
35
|
+
<string>isVisible</string>
|
36
|
+
<string>windowNumber</string>
|
37
|
+
<string>isSheet</string>
|
38
|
+
</array>
|
39
|
+
<key>NSControl</key>
|
40
|
+
<array>
|
41
|
+
<string>stringValue</string>
|
42
|
+
<string>attributedStringValue</string>
|
43
|
+
</array>
|
44
|
+
<key>NSScrollView</key>
|
45
|
+
<array>
|
46
|
+
<string>backgroundColor</string>
|
47
|
+
<string>borderType</string>
|
48
|
+
<string>contentSize</string>
|
49
|
+
<string>documentVisibleRect</string>
|
50
|
+
<string>drawsBackground</string>
|
51
|
+
<string>hasHorizontalScroller</string>
|
52
|
+
<string>hasVerticalScroller</string>
|
53
|
+
<string>autohidesScrollers</string>
|
54
|
+
<string>hasHorizontalRuler</string>
|
55
|
+
<string>hasVerticalRuler</string>
|
56
|
+
<string>rulersVisible</string>
|
57
|
+
<string>scrollerKnobStyle</string>
|
58
|
+
<string>scrollerStyle</string>
|
59
|
+
<string>lineScroll</string>
|
60
|
+
<string>horizontalLineScroll</string>
|
61
|
+
<string>verticalLineScroll</string>
|
62
|
+
<string>pageScroll</string>
|
63
|
+
<string>horizontalPageScroll</string>
|
64
|
+
<string>verticalPageScroll</string>
|
65
|
+
<string>scrollsDynamically</string>
|
66
|
+
<string>findBarPosition</string>
|
67
|
+
<string>usesPredominantAxisScrolling</string>
|
68
|
+
<string>horizontalScrollElasticity</string>
|
69
|
+
<string>verticalScrollElasticity</string>
|
70
|
+
</array>
|
71
|
+
<key>NSTableView</key>
|
72
|
+
<array>
|
73
|
+
<string>dataSource</string>
|
74
|
+
</array>
|
75
|
+
<key>NSTextField</key>
|
76
|
+
<array>
|
77
|
+
<string>isEditable</string>
|
78
|
+
<string>isSelectable</string>
|
79
|
+
<string>drawsBackground</string>
|
80
|
+
<string>backgroundColor</string>
|
81
|
+
<string>isBezeled</string>
|
82
|
+
<string>bezelStyle</string>
|
83
|
+
<string>isBordered</string>
|
84
|
+
</array>
|
85
|
+
<key>NSTextView</key>
|
86
|
+
<array>
|
87
|
+
<string>isEditable</string>
|
88
|
+
<string>isSelectable</string>
|
89
|
+
<string>drawsBackground</string>
|
90
|
+
<string>backgroundColor</string>
|
91
|
+
</array>
|
92
|
+
<key>NSSegmentedControl</key>
|
93
|
+
<array>
|
94
|
+
<string>segmentStyle</string>
|
95
|
+
<string>segmentCount</string>
|
96
|
+
<string>selectedSegment</string>
|
97
|
+
</array>
|
98
|
+
</dict>
|
99
|
+
</plist>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset='utf-8' />
|
5
|
+
<title>Symbiote</title>
|
6
|
+
<script src='js/lib/jquery.min.js'></script>
|
7
|
+
<script src='js/lib/jquery-ui.min.js'></script>
|
8
|
+
<script src='js/lib/jquery.treeview.js'></script>
|
9
|
+
<script src='js/lib/coffee-script.js'></script>
|
10
|
+
<script src='js/lib/raphael.js'></script>
|
11
|
+
<script src='js/lib/underscore.js'></script>
|
12
|
+
<script src='js/lib/backbone.js'></script>
|
13
|
+
<script src='js/lib/json2.js'></script>
|
14
|
+
<script data-main='/js/main' src='js/lib/require.js'></script>
|
15
|
+
<link href='/stylesheets/css/symbiote.css' rel='stylesheet' />
|
16
|
+
<link href='pictos/pictos.css' rel='stylesheet' />
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
<header id='header'>
|
20
|
+
<h1>symbiote</h1>
|
21
|
+
<div class='toast'></div>
|
22
|
+
<div id='refresh'>
|
23
|
+
<button id='dump_button'>
|
24
|
+
<span></span>
|
25
|
+
</button>
|
26
|
+
</div>
|
27
|
+
</header>
|
28
|
+
<section class='symbiote_shell'>
|
29
|
+
<article id='selector-test'><div class='wrap outter'><label class='selector-engine-label'>use</label>
|
30
|
+
<div class='selector-engine dropdown'></div></div><div class='wrap middle'><label class='query'>to select views matching</label><input id='query' placeholder="Selector label marked:'Search'" /></div><div class='wrap outter'>
|
31
|
+
<label>and then</label>
|
32
|
+
<div class='action-buttons dropdown'></div>
|
33
|
+
</div></article>
|
34
|
+
</section>
|
35
|
+
<section class='the-columns'>
|
36
|
+
<div id='list-tabs'>
|
37
|
+
<ul>
|
38
|
+
<li>
|
39
|
+
<a href='#dom-dump'>View Hierarchy</a>
|
40
|
+
</li>
|
41
|
+
<li>
|
42
|
+
<a href='#accessible-views-tab'>Accessible Elements</a>
|
43
|
+
</li>
|
44
|
+
</ul>
|
45
|
+
<div id='dom-dump'>
|
46
|
+
<ul></ul>
|
47
|
+
</div>
|
48
|
+
<div id='accessible-views-tab'>
|
49
|
+
<div class='hints'>
|
50
|
+
<p>Here is a list of all elements with accessibility labels.</p>
|
51
|
+
<p>Clicking on a row will flash that view element in the simulator. Hover over a row to see the selector used to flash that view element.</p>
|
52
|
+
</div>
|
53
|
+
<div id='accessible-views'></div>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
<div id='inspect-tabs'>
|
57
|
+
<ul>
|
58
|
+
<li>
|
59
|
+
<a href='#dom-detail'>View Properties</a>
|
60
|
+
</li>
|
61
|
+
<li>
|
62
|
+
<a href='#ui-locator'>View Locator</a>
|
63
|
+
</li>
|
64
|
+
</ul>
|
65
|
+
<div id='ui-locator'>
|
66
|
+
<div id='live-view'>
|
67
|
+
<button>
|
68
|
+
Live
|
69
|
+
<span>Y</span>
|
70
|
+
</button>
|
71
|
+
</div>
|
72
|
+
<div id='asploder'>
|
73
|
+
<button>
|
74
|
+
Asplode
|
75
|
+
</button>
|
76
|
+
</div>
|
77
|
+
<button id='ui-locator-rotator'>1</button>
|
78
|
+
<div id='ui-locator-view'></div>
|
79
|
+
</div>
|
80
|
+
<div id='dom-detail'>
|
81
|
+
<p>Click an element in the view hierarchy on the right to see details of that element here.</p>
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
</section>
|
85
|
+
</body>
|
86
|
+
</html>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
!!! 5
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%meta(charset="utf-8")
|
5
|
+
%title Symbiote
|
6
|
+
|
7
|
+
%script(src="js/lib/jquery.min.js")
|
8
|
+
%script(src="js/lib/jquery-ui.min.js")
|
9
|
+
%script(src="js/lib/jquery.treeview.js")
|
10
|
+
%script(src="js/lib/coffee-script.js")
|
11
|
+
%script(src="js/lib/raphael.js")
|
12
|
+
%script(src="js/lib/underscore.js")
|
13
|
+
%script(src="js/lib/backbone.js")
|
14
|
+
%script(src="js/lib/json2.js")
|
15
|
+
|
16
|
+
%script(data-main="/js/main" src="js/lib/require.js")
|
17
|
+
|
18
|
+
%link(href="/stylesheets/css/symbiote.css" rel="stylesheet")
|
19
|
+
%link(href="pictos/pictos.css" rel="stylesheet")
|
20
|
+
|
21
|
+
%body
|
22
|
+
%header#header
|
23
|
+
%h1 symbiote
|
24
|
+
.toast
|
25
|
+
#refresh
|
26
|
+
%button#dump_button
|
27
|
+
%span
|
28
|
+
|
29
|
+
%section.symbiote_shell
|
30
|
+
%article#selector-test
|
31
|
+
.wrap.outter<>
|
32
|
+
%label.selector-engine-label use
|
33
|
+
.selector-engine.dropdown
|
34
|
+
|
35
|
+
.wrap.middle<>
|
36
|
+
%label.query<> to select views matching
|
37
|
+
%input#query(placeholder="Selector label marked:'Search'")<>
|
38
|
+
|
39
|
+
.wrap.outter>
|
40
|
+
%label and then
|
41
|
+
.action-buttons.dropdown
|
42
|
+
|
43
|
+
%section.the-columns
|
44
|
+
#list-tabs
|
45
|
+
%ul
|
46
|
+
%li
|
47
|
+
%a(href="#dom-dump") View Hierarchy
|
48
|
+
%li
|
49
|
+
%a(href="#accessible-views-tab") Accessible Elements
|
50
|
+
#dom-dump
|
51
|
+
%ul
|
52
|
+
#accessible-views-tab
|
53
|
+
%div.hints
|
54
|
+
%p Here is a list of all elements with accessibility labels.
|
55
|
+
%p Clicking on a row will flash that view element in the simulator. Hover over a row to see the selector used to flash that view element.
|
56
|
+
#accessible-views
|
57
|
+
|
58
|
+
#inspect-tabs
|
59
|
+
%ul
|
60
|
+
%li
|
61
|
+
%a(href="#dom-detail") View Properties
|
62
|
+
%li
|
63
|
+
%a(href="#ui-locator") View Locator
|
64
|
+
#ui-locator
|
65
|
+
#live-view
|
66
|
+
%button
|
67
|
+
Live
|
68
|
+
%span Y
|
69
|
+
#asploder
|
70
|
+
%button
|
71
|
+
Asplode
|
72
|
+
%button#ui-locator-rotator 1
|
73
|
+
#ui-locator-view
|
74
|
+
|
75
|
+
#dom-detail
|
76
|
+
%p Click an element in the view hierarchy on the right to see details of that element here.
|