rufus 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (275) hide show
  1. data/.gitignore +61 -0
  2. data/.gitmodules +6 -0
  3. data/Gemfile +7 -0
  4. data/Gemfile.lock +51 -0
  5. data/README.md +120 -0
  6. data/RufusApp/Frank/features/my_first.feature +12 -0
  7. data/RufusApp/Frank/features/step_definitions/launch_steps.rb +20 -0
  8. data/RufusApp/Frank/features/support/env.rb +8 -0
  9. data/RufusApp/Frank/frank_static_resources.bundle/ViewAttributeMapping.plist +63 -0
  10. data/RufusApp/Frank/frank_static_resources.bundle/ViewAttributeMappingMac.plist +99 -0
  11. data/RufusApp/Frank/frank_static_resources.bundle/images/ajax-loader.gif +0 -0
  12. data/RufusApp/Frank/frank_static_resources.bundle/images/file.gif +0 -0
  13. data/RufusApp/Frank/frank_static_resources.bundle/images/folder-closed.gif +0 -0
  14. data/RufusApp/Frank/frank_static_resources.bundle/images/folder.gif +0 -0
  15. data/RufusApp/Frank/frank_static_resources.bundle/images/loader.gif +0 -0
  16. data/RufusApp/Frank/frank_static_resources.bundle/images/loader.png +0 -0
  17. data/RufusApp/Frank/frank_static_resources.bundle/images/minus.gif +0 -0
  18. data/RufusApp/Frank/frank_static_resources.bundle/images/plus.gif +0 -0
  19. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-black-line.gif +0 -0
  20. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-black.gif +0 -0
  21. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-default-line.gif +0 -0
  22. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-default.gif +0 -0
  23. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-famfamfam-line.gif +0 -0
  24. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-famfamfam.gif +0 -0
  25. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-gray-line.gif +0 -0
  26. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-gray.gif +0 -0
  27. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-red-line.gif +0 -0
  28. data/RufusApp/Frank/frank_static_resources.bundle/images/treeview-red.gif +0 -0
  29. data/RufusApp/Frank/frank_static_resources.bundle/index.html +86 -0
  30. data/RufusApp/Frank/frank_static_resources.bundle/index.html.haml +76 -0
  31. data/RufusApp/Frank/frank_static_resources.bundle/js/accessible_views_view.coffee +41 -0
  32. data/RufusApp/Frank/frank_static_resources.bundle/js/accessible_views_view.js +46 -0
  33. data/RufusApp/Frank/frank_static_resources.bundle/js/controller.coffee +134 -0
  34. data/RufusApp/Frank/frank_static_resources.bundle/js/controller.js +139 -0
  35. data/RufusApp/Frank/frank_static_resources.bundle/js/details_view.coffee +42 -0
  36. data/RufusApp/Frank/frank_static_resources.bundle/js/details_view.js +51 -0
  37. data/RufusApp/Frank/frank_static_resources.bundle/js/dropdown_control.coffee +64 -0
  38. data/RufusApp/Frank/frank_static_resources.bundle/js/dropdown_control.js +73 -0
  39. data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_model.coffee +46 -0
  40. data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_model.js +60 -0
  41. data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_view.coffee +167 -0
  42. data/RufusApp/Frank/frank_static_resources.bundle/js/ersatz_view.js +205 -0
  43. data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_model.coffee +10 -0
  44. data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_model.js +17 -0
  45. data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_view.coffee +44 -0
  46. data/RufusApp/Frank/frank_static_resources.bundle/js/experiment_bar_view.js +63 -0
  47. data/RufusApp/Frank/frank_static_resources.bundle/js/frank.coffee +96 -0
  48. data/RufusApp/Frank/frank_static_resources.bundle/js/frank.js +146 -0
  49. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/backbone.js +1431 -0
  50. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/coffee-script.js +8 -0
  51. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/jquery-ui.min.js +405 -0
  52. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/jquery.min.js +4 -0
  53. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/jquery.treeview.js +251 -0
  54. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/json2.js +481 -0
  55. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/raphael.js +5815 -0
  56. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/require.js +2053 -0
  57. data/RufusApp/Frank/frank_static_resources.bundle/js/lib/underscore.js +1059 -0
  58. data/RufusApp/Frank/frank_static_resources.bundle/js/main.coffee +27 -0
  59. data/RufusApp/Frank/frank_static_resources.bundle/js/main.js +29 -0
  60. data/RufusApp/Frank/frank_static_resources.bundle/js/tabs_controller.coffee +13 -0
  61. data/RufusApp/Frank/frank_static_resources.bundle/js/tabs_controller.js +22 -0
  62. data/RufusApp/Frank/frank_static_resources.bundle/js/toast_controller.coffee +15 -0
  63. data/RufusApp/Frank/frank_static_resources.bundle/js/toast_controller.js +28 -0
  64. data/RufusApp/Frank/frank_static_resources.bundle/js/transform_stack.coffee +59 -0
  65. data/RufusApp/Frank/frank_static_resources.bundle/js/transform_stack.js +78 -0
  66. data/RufusApp/Frank/frank_static_resources.bundle/js/tree_view.coffee +53 -0
  67. data/RufusApp/Frank/frank_static_resources.bundle/js/tree_view.js +64 -0
  68. data/RufusApp/Frank/frank_static_resources.bundle/js/view_hier_model.coffee +37 -0
  69. data/RufusApp/Frank/frank_static_resources.bundle/js/view_hier_model.js +48 -0
  70. data/RufusApp/Frank/frank_static_resources.bundle/js/view_model.coffee +39 -0
  71. data/RufusApp/Frank/frank_static_resources.bundle/js/view_model.js +62 -0
  72. data/RufusApp/Frank/frank_static_resources.bundle/pictos/index.html +329 -0
  73. data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.eot +0 -0
  74. data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.svg +114 -0
  75. data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.ttf +0 -0
  76. data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos-web.woff +0 -0
  77. data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos.css +20 -0
  78. data/RufusApp/Frank/frank_static_resources.bundle/pictos/pictos_base64.css +18 -0
  79. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/css/symbiote.css +1 -0
  80. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_elements.scss +28 -0
  81. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_header.scss +61 -0
  82. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_inspect_tabs_list_tabs.scss +194 -0
  83. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_jquery.treeview.scss +68 -0
  84. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_jqui.scss +2 -0
  85. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_layout.scss +13 -0
  86. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_mixins.sass +137 -0
  87. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_reset.scss +32 -0
  88. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_selector_test_toolbar.scss +81 -0
  89. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_solarized.scss +16 -0
  90. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_typography.scss +11 -0
  91. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_unicode.scss +3 -0
  92. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/_z_index.scss +2 -0
  93. data/RufusApp/Frank/frank_static_resources.bundle/stylesheets/sass/symbiote.scss +26 -0
  94. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Default-568h@2x.png +0 -0
  95. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Default.png +0 -0
  96. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Default@2x.png +0 -0
  97. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/Info.plist +0 -0
  98. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/PkgInfo +1 -0
  99. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/ResourceRules.plist +25 -0
  100. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/RufusApp +0 -0
  101. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/RufusPageViewController.nib +0 -0
  102. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/_CodeSignature/CodeResources +60 -0
  103. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/embedded.mobileprovision +0 -0
  104. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/en.lproj/InfoPlist.strings +0 -0
  105. data/RufusApp/Frank/frankified_build/Applications/RufusApp.app/en.lproj/RUViewController.nib +0 -0
  106. data/RufusApp/Frank/frankified_build/Frankified.app/Default-568h@2x.png +0 -0
  107. data/RufusApp/Frank/frankified_build/Frankified.app/Default.png +0 -0
  108. data/RufusApp/Frank/frankified_build/Frankified.app/Default@2x.png +0 -0
  109. data/RufusApp/Frank/frankified_build/Frankified.app/Info.plist +51 -0
  110. data/RufusApp/Frank/frankified_build/Frankified.app/PkgInfo +1 -0
  111. data/RufusApp/Frank/frankified_build/Frankified.app/RufusApp +0 -0
  112. data/RufusApp/Frank/frankified_build/Frankified.app/RufusPageViewController.nib +0 -0
  113. data/RufusApp/Frank/frankified_build/Frankified.app/en.lproj/InfoPlist.strings +0 -0
  114. data/RufusApp/Frank/frankified_build/Frankified.app/en.lproj/RUViewController.nib +0 -0
  115. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/ViewAttributeMapping.plist +63 -0
  116. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/ViewAttributeMappingMac.plist +99 -0
  117. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/ajax-loader.gif +0 -0
  118. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/file.gif +0 -0
  119. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/folder-closed.gif +0 -0
  120. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/folder.gif +0 -0
  121. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/loader.gif +0 -0
  122. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/loader.png +0 -0
  123. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/minus.gif +0 -0
  124. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/plus.gif +0 -0
  125. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-black-line.gif +0 -0
  126. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-black.gif +0 -0
  127. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-default-line.gif +0 -0
  128. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-default.gif +0 -0
  129. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-famfamfam-line.gif +0 -0
  130. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-famfamfam.gif +0 -0
  131. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-gray-line.gif +0 -0
  132. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-gray.gif +0 -0
  133. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-red-line.gif +0 -0
  134. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/images/treeview-red.gif +0 -0
  135. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/index.html +86 -0
  136. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/index.html.haml +76 -0
  137. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/accessible_views_view.coffee +41 -0
  138. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/accessible_views_view.js +46 -0
  139. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/controller.coffee +134 -0
  140. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/controller.js +139 -0
  141. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/details_view.coffee +42 -0
  142. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/details_view.js +51 -0
  143. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/dropdown_control.coffee +64 -0
  144. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/dropdown_control.js +73 -0
  145. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_model.coffee +46 -0
  146. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_model.js +60 -0
  147. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_view.coffee +167 -0
  148. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/ersatz_view.js +205 -0
  149. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_model.coffee +10 -0
  150. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_model.js +17 -0
  151. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_view.coffee +44 -0
  152. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/experiment_bar_view.js +63 -0
  153. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/frank.coffee +96 -0
  154. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/frank.js +146 -0
  155. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/backbone.js +1431 -0
  156. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/coffee-script.js +8 -0
  157. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/jquery-ui.min.js +405 -0
  158. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/jquery.min.js +4 -0
  159. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/jquery.treeview.js +251 -0
  160. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/json2.js +481 -0
  161. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/raphael.js +5815 -0
  162. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/require.js +2053 -0
  163. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/lib/underscore.js +1059 -0
  164. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/main.coffee +27 -0
  165. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/main.js +29 -0
  166. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tabs_controller.coffee +13 -0
  167. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tabs_controller.js +22 -0
  168. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/toast_controller.coffee +15 -0
  169. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/toast_controller.js +28 -0
  170. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/transform_stack.coffee +59 -0
  171. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/transform_stack.js +78 -0
  172. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tree_view.coffee +53 -0
  173. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/tree_view.js +64 -0
  174. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_hier_model.coffee +37 -0
  175. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_hier_model.js +48 -0
  176. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_model.coffee +39 -0
  177. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/js/view_model.js +62 -0
  178. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/index.html +329 -0
  179. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.eot +0 -0
  180. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.svg +114 -0
  181. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.ttf +0 -0
  182. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos-web.woff +0 -0
  183. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos.css +20 -0
  184. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/pictos/pictos_base64.css +18 -0
  185. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/css/symbiote.css +1 -0
  186. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_elements.scss +28 -0
  187. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_header.scss +61 -0
  188. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_inspect_tabs_list_tabs.scss +194 -0
  189. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_jquery.treeview.scss +68 -0
  190. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_jqui.scss +2 -0
  191. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_layout.scss +13 -0
  192. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_mixins.sass +137 -0
  193. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_reset.scss +32 -0
  194. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_selector_test_toolbar.scss +81 -0
  195. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_solarized.scss +16 -0
  196. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_typography.scss +11 -0
  197. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_unicode.scss +3 -0
  198. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/_z_index.scss +2 -0
  199. data/RufusApp/Frank/frankified_build/Frankified.app/frank_static_resources.bundle/stylesheets/sass/symbiote.scss +26 -0
  200. data/RufusApp/Frank/frankified_build/RufusApp.app/Default-568h@2x.png +0 -0
  201. data/RufusApp/Frank/frankified_build/RufusApp.app/Default.png +0 -0
  202. data/RufusApp/Frank/frankified_build/RufusApp.app/Default@2x.png +0 -0
  203. data/RufusApp/Frank/frankified_build/RufusApp.app/Info.plist +0 -0
  204. data/RufusApp/Frank/frankified_build/RufusApp.app/PkgInfo +1 -0
  205. data/RufusApp/Frank/frankified_build/RufusApp.app/ResourceRules.plist +25 -0
  206. data/RufusApp/Frank/frankified_build/RufusApp.app/RufusApp +0 -0
  207. data/RufusApp/Frank/frankified_build/RufusApp.app/RufusPageViewController.nib +0 -0
  208. data/RufusApp/Frank/frankified_build/RufusApp.app/_CodeSignature/CodeResources +60 -0
  209. data/RufusApp/Frank/frankified_build/RufusApp.app/embedded.mobileprovision +0 -0
  210. data/RufusApp/Frank/frankified_build/RufusApp.app/en.lproj/InfoPlist.strings +0 -0
  211. data/RufusApp/Frank/frankified_build/RufusApp.app/en.lproj/RUViewController.nib +0 -0
  212. data/RufusApp/Frank/frankify.xcconfig +6 -0
  213. data/RufusApp/Frank/libCocoaAsyncSocket.a +0 -0
  214. data/RufusApp/Frank/libCocoaAsyncSocketMac.a +0 -0
  215. data/RufusApp/Frank/libCocoaHTTPServer.a +0 -0
  216. data/RufusApp/Frank/libCocoaHTTPServerMac.a +0 -0
  217. data/RufusApp/Frank/libCocoaLumberjack.a +0 -0
  218. data/RufusApp/Frank/libCocoaLumberjackMac.a +0 -0
  219. data/RufusApp/Frank/libFrank.a +0 -0
  220. data/RufusApp/Frank/libFrankMac.a +0 -0
  221. data/RufusApp/Frank/libShelley.a +0 -0
  222. data/RufusApp/Frank/libShelleyMac.a +0 -0
  223. data/RufusApp/Rakefile +28 -0
  224. data/RufusApp/RufusApp/Default-568h@2x.png +0 -0
  225. data/RufusApp/RufusApp/Default.png +0 -0
  226. data/RufusApp/RufusApp/Default@2x.png +0 -0
  227. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Default-568h@2x.png +0 -0
  228. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Default.png +0 -0
  229. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Default@2x.png +0 -0
  230. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/Info.plist +0 -0
  231. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/PkgInfo +1 -0
  232. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/ResourceRules.plist +25 -0
  233. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/RufusApp +0 -0
  234. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/RufusPageViewController.nib +0 -0
  235. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/_CodeSignature/CodeResources +60 -0
  236. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/embedded.mobileprovision +0 -0
  237. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/en.lproj/InfoPlist.strings +0 -0
  238. data/RufusApp/RufusApp/Frank/Frankified_build/Applications/RufusApp.app/en.lproj/RUViewController.nib +0 -0
  239. data/RufusApp/RufusApp/RUAppDelegate.h +19 -0
  240. data/RufusApp/RufusApp/RUAppDelegate.m +53 -0
  241. data/RufusApp/RufusApp/RUViewController.h +16 -0
  242. data/RufusApp/RufusApp/RUViewController.m +34 -0
  243. data/RufusApp/RufusApp/RufusApp-Info.plist +39 -0
  244. data/RufusApp/RufusApp/RufusApp-Prefix.pch +14 -0
  245. data/RufusApp/RufusApp/RufusPageViewController.h +15 -0
  246. data/RufusApp/RufusApp/RufusPageViewController.m +45 -0
  247. data/RufusApp/RufusApp/RufusPageViewController.xib +372 -0
  248. data/RufusApp/RufusApp/en.lproj/InfoPlist.strings +2 -0
  249. data/RufusApp/RufusApp/en.lproj/RUViewController.xib +525 -0
  250. data/RufusApp/RufusApp/main.m +18 -0
  251. data/RufusApp/RufusApp.xcodeproj/project.pbxproj +493 -0
  252. data/RufusApp/RufusApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  253. data/RufusApp/RufusAppTests/RufusAppTests-Info.plist +22 -0
  254. data/RufusApp/RufusAppTests/RufusAppTests.h +13 -0
  255. data/RufusApp/RufusAppTests/RufusAppTests.m +32 -0
  256. data/RufusApp/RufusAppTests/en.lproj/InfoPlist.strings +2 -0
  257. data/features/driver.feature +6 -0
  258. data/features/step_definitions/driver_steps.rb +16 -0
  259. data/features/step_definitions/view_steps.rb +12 -0
  260. data/features/support/core_ext/string.rb +5 -0
  261. data/features/support/env.rb +15 -0
  262. data/features/support/screens/home_page.rb +13 -0
  263. data/features/support/screens/rufus_page.rb +12 -0
  264. data/features/view.feature +10 -0
  265. data/lib/rufus/accessors/accessors.rb +25 -0
  266. data/lib/rufus/accessors/view.rb +47 -0
  267. data/lib/rufus/driver.rb +120 -0
  268. data/lib/rufus/navigation.rb +23 -0
  269. data/lib/rufus.rb +11 -0
  270. data/rufus.gemspec +13 -0
  271. data/spec/accessors_spec.rb +85 -0
  272. data/spec/driver_spec.rb +152 -0
  273. data/spec/spec_helper.rb +16 -0
  274. data/spec/view_spec.rb +102 -0
  275. 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
@@ -0,0 +1,6 @@
1
+ [submodule "libimobiledevice-macosx"]
2
+ path = libimobiledevice-macosx
3
+ url = https://github.com/benvium/libimobiledevice-macosx.git
4
+ [submodule "ActualAppium"]
5
+ path = appium
6
+ url = https://github.com/appium/appium.git
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'cucumber'
4
+ gem 'selenium-webdriver'
5
+ gem 'require_all'
6
+ gem 'page_navigation'
7
+ gem 'rspec'
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>
@@ -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.