riess 0.0.8

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.
Files changed (420) hide show
  1. data/examples/Getting_started_example.rb +17 -0
  2. data/lib/actions.rb +53 -0
  3. data/lib/checks.rb +39 -0
  4. data/lib/exceptions.rb +12 -0
  5. data/lib/finders.rb +129 -0
  6. data/lib/helpers.rb +115 -0
  7. data/lib/html_action_modules.rb +88 -0
  8. data/lib/html_check_modules.rb +161 -0
  9. data/lib/html_object_factory.rb +33 -0
  10. data/lib/html_objects.rb +57 -0
  11. data/lib/ieparser_extension.rb +416 -0
  12. data/lib/key_codes.rb +123 -0
  13. data/lib/popup.rb +57 -0
  14. data/lib/riess.rb +111 -0
  15. data/lib/test_reporter.rb +113 -0
  16. data/riess_stable_testing_release_1-0.0.8.gemspec +22 -0
  17. data/vendor/log4r-1.0.5/doc/contact.html +166 -0
  18. data/vendor/log4r-1.0.5/doc/contribute.html +165 -0
  19. data/vendor/log4r-1.0.5/doc/images/crush/logo2.png +0 -0
  20. data/vendor/log4r-1.0.5/doc/images/log4r-logo.png +0 -0
  21. data/vendor/log4r-1.0.5/doc/images/logo2.png +0 -0
  22. data/vendor/log4r-1.0.5/doc/index.html +228 -0
  23. data/vendor/log4r-1.0.5/doc/license.html +200 -0
  24. data/vendor/log4r-1.0.5/doc/log4r.css +111 -0
  25. data/vendor/log4r-1.0.5/doc/manual.html +593 -0
  26. data/vendor/log4r-1.0.5/doc/rdoc/blank.html +2 -0
  27. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r.html +105 -0
  28. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/BasicFormatter.html +133 -0
  29. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/BasicFormatter.src/M000073.html +18 -0
  30. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/BasicFormatter.src/M000074.html +22 -0
  31. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/BasicFormatter.src/M000075.html +25 -0
  32. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/ConfigError.html +60 -0
  33. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Configurator.html +151 -0
  34. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Configurator.src/M000003.html +16 -0
  35. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Configurator.src/M000004.html +16 -0
  36. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Configurator.src/M000005.html +25 -0
  37. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Configurator.src/M000006.html +19 -0
  38. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Configurator.src/M000007.html +19 -0
  39. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/DateFileOutputter.html +84 -0
  40. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/DateFileOutputter.src/M000010.html +33 -0
  41. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/DefaultFormatter.html +62 -0
  42. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/EmailOutputter.html +123 -0
  43. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/EmailOutputter.src/M000047.html +32 -0
  44. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/EmailOutputter.src/M000048.html +19 -0
  45. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/FileOutputter.html +99 -0
  46. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/FileOutputter.src/M000011.html +45 -0
  47. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Formatter.html +91 -0
  48. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Formatter.src/M000076.html +17 -0
  49. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Formatter.src/M000077.html +17 -0
  50. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/IOOutputter.html +112 -0
  51. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/IOOutputter.src/M000049.html +19 -0
  52. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/IOOutputter.src/M000050.html +18 -0
  53. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/IOOutputter.src/M000051.html +21 -0
  54. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Log4rTools.html +116 -0
  55. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Log4rTools.src/M000032.html +21 -0
  56. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Log4rTools.src/M000033.html +18 -0
  57. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Log4rTools.src/M000034.html +24 -0
  58. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Log4rTools.src/M000035.html +18 -0
  59. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/LogEvent.html +132 -0
  60. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/LogEvent.src/M000001.html +19 -0
  61. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/LogServer.html +103 -0
  62. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/LogServer.src/M000044.html +22 -0
  63. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/LogServer.src/M000045.html +18 -0
  64. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.html +341 -0
  65. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000052.html +16 -0
  66. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000053.html +16 -0
  67. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000054.html +20 -0
  68. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000055.html +22 -0
  69. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000056.html +20 -0
  70. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000057.html +18 -0
  71. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000058.html +20 -0
  72. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000059.html +30 -0
  73. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000060.html +22 -0
  74. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000061.html +21 -0
  75. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000062.html +24 -0
  76. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000063.html +18 -0
  77. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000064.html +19 -0
  78. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000065.html +29 -0
  79. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000066.html +22 -0
  80. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000067.html +16 -0
  81. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Logger.src/M000068.html +18 -0
  82. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/ObjectFormatter.html +85 -0
  83. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/ObjectFormatter.src/M000009.html +21 -0
  84. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.html +229 -0
  85. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000015.html +25 -0
  86. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000016.html +16 -0
  87. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000017.html +16 -0
  88. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000018.html +18 -0
  89. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000019.html +18 -0
  90. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000020.html +18 -0
  91. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000021.html +23 -0
  92. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000022.html +21 -0
  93. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000023.html +26 -0
  94. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000024.html +29 -0
  95. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/Outputter.src/M000025.html +17 -0
  96. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/PatternFormatter.html +120 -0
  97. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/PatternFormatter.src/M000046.html +23 -0
  98. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RemoteOutputter.html +104 -0
  99. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RemoteOutputter.src/M000012.html +22 -0
  100. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RemoteOutputter.src/M000013.html +18 -0
  101. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RemoteOutputter.src/M000014.html +18 -0
  102. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RollingFileOutputter.html +111 -0
  103. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RollingFileOutputter.src/M000069.html +45 -0
  104. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.html +173 -0
  105. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000036.html +23 -0
  106. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000037.html +16 -0
  107. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000038.html +16 -0
  108. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000039.html +16 -0
  109. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000040.html +16 -0
  110. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000041.html +16 -0
  111. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000042.html +16 -0
  112. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/RootLogger.src/M000043.html +16 -0
  113. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/SimpleFormatter.html +83 -0
  114. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/SimpleFormatter.src/M000026.html +19 -0
  115. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/StderrOutputter.html +76 -0
  116. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/StderrOutputter.src/M000002.html +18 -0
  117. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/StdoutOutputter.html +76 -0
  118. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/StdoutOutputter.src/M000008.html +18 -0
  119. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/SyslogOutputter.html +111 -0
  120. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/SyslogOutputter.src/M000070.html +22 -0
  121. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/SyslogOutputter.src/M000071.html +18 -0
  122. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/SyslogOutputter.src/M000072.html +21 -0
  123. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/YamlConfigurator.html +128 -0
  124. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/YamlConfigurator.src/M000027.html +16 -0
  125. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/YamlConfigurator.src/M000028.html +16 -0
  126. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/YamlConfigurator.src/M000029.html +25 -0
  127. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/YamlConfigurator.src/M000030.html +18 -0
  128. data/vendor/log4r-1.0.5/doc/rdoc/classes/Log4r/YamlConfigurator.src/M000031.html +18 -0
  129. data/vendor/log4r-1.0.5/doc/rdoc/created.rid +1 -0
  130. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/configurator_rb.html +402 -0
  131. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/formatter/formatter_rb.html +152 -0
  132. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/formatter/patternformatter_rb.html +266 -0
  133. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/logger_rb.html +320 -0
  134. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/logserver_rb.html +191 -0
  135. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/outputter/datefileoutputter_rb.html +120 -0
  136. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/outputter/emailoutputter_rb.html +205 -0
  137. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/outputter/outputter_rb.html +254 -0
  138. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/outputter/syslogoutputter_rb.html +135 -0
  139. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r/yamlconfigurator_rb.html +120 -0
  140. data/vendor/log4r-1.0.5/doc/rdoc/files/log4r_rb.html +228 -0
  141. data/vendor/log4r-1.0.5/doc/rdoc/fr_class_index.html +59 -0
  142. data/vendor/log4r-1.0.5/doc/rdoc/fr_file_index.html +45 -0
  143. data/vendor/log4r-1.0.5/doc/rdoc/fr_method_index.html +111 -0
  144. data/vendor/log4r-1.0.5/doc/rdoc/index.html +26 -0
  145. data/vendor/log4r-1.0.5/doc/rdoc/rdoc-style.css +79 -0
  146. data/vendor/log4r-1.0.5/examples/README +19 -0
  147. data/vendor/log4r-1.0.5/examples/customlevels.rb +34 -0
  148. data/vendor/log4r-1.0.5/examples/fileroll.rb +40 -0
  149. data/vendor/log4r-1.0.5/examples/log4r_yaml.yaml +0 -0
  150. data/vendor/log4r-1.0.5/examples/logclient.rb +25 -0
  151. data/vendor/log4r-1.0.5/examples/logserver.rb +18 -0
  152. data/vendor/log4r-1.0.5/examples/moderate.xml +29 -0
  153. data/vendor/log4r-1.0.5/examples/moderateconfig.rb +66 -0
  154. data/vendor/log4r-1.0.5/examples/myformatter.rb +23 -0
  155. data/vendor/log4r-1.0.5/examples/outofthebox.rb +21 -0
  156. data/vendor/log4r-1.0.5/examples/rrconfig.xml +63 -0
  157. data/vendor/log4r-1.0.5/examples/rrsetup.rb +42 -0
  158. data/vendor/log4r-1.0.5/examples/simpleconfig.rb +39 -0
  159. data/vendor/log4r-1.0.5/examples/xmlconfig.rb +25 -0
  160. data/vendor/log4r-1.0.5/examples/yaml.rb +30 -0
  161. data/vendor/log4r-1.0.5/src/log4r.rb +20 -0
  162. data/vendor/log4r-1.0.5/src/log4r/base.rb +74 -0
  163. data/vendor/log4r-1.0.5/src/log4r/config.rb +9 -0
  164. data/vendor/log4r-1.0.5/src/log4r/configurator.rb +224 -0
  165. data/vendor/log4r-1.0.5/src/log4r/formatter/formatter.rb +105 -0
  166. data/vendor/log4r-1.0.5/src/log4r/formatter/patternformatter.rb +108 -0
  167. data/vendor/log4r-1.0.5/src/log4r/lib/drbloader.rb +52 -0
  168. data/vendor/log4r-1.0.5/src/log4r/lib/xmlloader.rb +24 -0
  169. data/vendor/log4r-1.0.5/src/log4r/logevent.rb +28 -0
  170. data/vendor/log4r-1.0.5/src/log4r/logger.rb +194 -0
  171. data/vendor/log4r-1.0.5/src/log4r/loggerfactory.rb +89 -0
  172. data/vendor/log4r-1.0.5/src/log4r/logserver.rb +28 -0
  173. data/vendor/log4r-1.0.5/src/log4r/outputter/consoleoutputters.rb +18 -0
  174. data/vendor/log4r-1.0.5/src/log4r/outputter/datefileoutputter.rb +110 -0
  175. data/vendor/log4r-1.0.5/src/log4r/outputter/emailoutputter.rb +115 -0
  176. data/vendor/log4r-1.0.5/src/log4r/outputter/fileoutputter.rb +49 -0
  177. data/vendor/log4r-1.0.5/src/log4r/outputter/iooutputter.rb +55 -0
  178. data/vendor/log4r-1.0.5/src/log4r/outputter/outputter.rb +132 -0
  179. data/vendor/log4r-1.0.5/src/log4r/outputter/outputterfactory.rb +59 -0
  180. data/vendor/log4r-1.0.5/src/log4r/outputter/remoteoutputter.rb +40 -0
  181. data/vendor/log4r-1.0.5/src/log4r/outputter/rollingfileoutputter.rb +126 -0
  182. data/vendor/log4r-1.0.5/src/log4r/outputter/staticoutputter.rb +30 -0
  183. data/vendor/log4r-1.0.5/src/log4r/outputter/syslogoutputter.rb +75 -0
  184. data/vendor/log4r-1.0.5/src/log4r/rdoc/configurator +243 -0
  185. data/vendor/log4r-1.0.5/src/log4r/rdoc/emailoutputter +103 -0
  186. data/vendor/log4r-1.0.5/src/log4r/rdoc/formatter +39 -0
  187. data/vendor/log4r-1.0.5/src/log4r/rdoc/log4r +89 -0
  188. data/vendor/log4r-1.0.5/src/log4r/rdoc/logger +175 -0
  189. data/vendor/log4r-1.0.5/src/log4r/rdoc/logserver +85 -0
  190. data/vendor/log4r-1.0.5/src/log4r/rdoc/outputter +108 -0
  191. data/vendor/log4r-1.0.5/src/log4r/rdoc/patternformatter +128 -0
  192. data/vendor/log4r-1.0.5/src/log4r/rdoc/syslogoutputter +29 -0
  193. data/vendor/log4r-1.0.5/src/log4r/rdoc/yamlconfigurator +20 -0
  194. data/vendor/log4r-1.0.5/src/log4r/repository.rb +65 -0
  195. data/vendor/log4r-1.0.5/src/log4r/staticlogger.rb +49 -0
  196. data/vendor/log4r-1.0.5/src/log4r/yamlconfigurator.rb +0 -0
  197. data/vendor/log4r-1.0.5/tests/include.rb +7 -0
  198. data/vendor/log4r-1.0.5/tests/runtest.rb +6 -0
  199. data/vendor/log4r-1.0.5/tests/testbase.rb +45 -0
  200. data/vendor/log4r-1.0.5/tests/testcustom.rb +33 -0
  201. data/vendor/log4r-1.0.5/tests/testdefault.rb +25 -0
  202. data/vendor/log4r-1.0.5/tests/testformatter.rb +29 -0
  203. data/vendor/log4r-1.0.5/tests/testlogger.rb +198 -0
  204. data/vendor/log4r-1.0.5/tests/testoutputter.rb +112 -0
  205. data/vendor/log4r-1.0.5/tests/testpatternformatter.rb +26 -0
  206. data/vendor/log4r-1.0.5/tests/testxmlconf.rb +51 -0
  207. data/vendor/log4r-1.0.5/tests/xml/testconf.xml +37 -0
  208. data/vendor/rspec-0.8.2/CHANGES +575 -0
  209. data/vendor/rspec-0.8.2/EXAMPLES.rd +81 -0
  210. data/vendor/rspec-0.8.2/MIT-LICENSE +20 -0
  211. data/vendor/rspec-0.8.2/README +57 -0
  212. data/vendor/rspec-0.8.2/RELEASE-PLAN +117 -0
  213. data/vendor/rspec-0.8.2/Rakefile +223 -0
  214. data/vendor/rspec-0.8.2/bin/spec +4 -0
  215. data/vendor/rspec-0.8.2/examples/auto_spec_name_generation_example.rb +18 -0
  216. data/vendor/rspec-0.8.2/examples/custom_expectation_matchers.rb +53 -0
  217. data/vendor/rspec-0.8.2/examples/custom_formatter.rb +11 -0
  218. data/vendor/rspec-0.8.2/examples/dynamic_spec.rb +9 -0
  219. data/vendor/rspec-0.8.2/examples/file_accessor.rb +18 -0
  220. data/vendor/rspec-0.8.2/examples/file_accessor_spec.rb +38 -0
  221. data/vendor/rspec-0.8.2/examples/greeter_spec.rb +30 -0
  222. data/vendor/rspec-0.8.2/examples/helper_method_example.rb +11 -0
  223. data/vendor/rspec-0.8.2/examples/io_processor.rb +8 -0
  224. data/vendor/rspec-0.8.2/examples/io_processor_spec.rb +21 -0
  225. data/vendor/rspec-0.8.2/examples/mocking_example.rb +27 -0
  226. data/vendor/rspec-0.8.2/examples/partial_mock_example.rb +28 -0
  227. data/vendor/rspec-0.8.2/examples/predicate_example.rb +27 -0
  228. data/vendor/rspec-0.8.2/examples/setup_teardown_example.rb +34 -0
  229. data/vendor/rspec-0.8.2/examples/spec_helper.rb +1 -0
  230. data/vendor/rspec-0.8.2/examples/stack.rb +36 -0
  231. data/vendor/rspec-0.8.2/examples/stack_spec.rb +113 -0
  232. data/vendor/rspec-0.8.2/examples/stubbing_example.rb +69 -0
  233. data/vendor/rspec-0.8.2/examples/test_case_spec.rb +63 -0
  234. data/vendor/rspec-0.8.2/lib/spec.rb +11 -0
  235. data/vendor/rspec-0.8.2/lib/spec/callback.rb +11 -0
  236. data/vendor/rspec-0.8.2/lib/spec/callback/callback_container.rb +60 -0
  237. data/vendor/rspec-0.8.2/lib/spec/callback/extensions/module.rb +24 -0
  238. data/vendor/rspec-0.8.2/lib/spec/callback/extensions/object.rb +37 -0
  239. data/vendor/rspec-0.8.2/lib/spec/deprecated.rb +3 -0
  240. data/vendor/rspec-0.8.2/lib/spec/expectations.rb +59 -0
  241. data/vendor/rspec-0.8.2/lib/spec/expectations/differs/default.rb +62 -0
  242. data/vendor/rspec-0.8.2/lib/spec/expectations/errors.rb +6 -0
  243. data/vendor/rspec-0.8.2/lib/spec/expectations/extensions.rb +3 -0
  244. data/vendor/rspec-0.8.2/lib/spec/expectations/extensions/object.rb +109 -0
  245. data/vendor/rspec-0.8.2/lib/spec/expectations/extensions/proc.rb +57 -0
  246. data/vendor/rspec-0.8.2/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  247. data/vendor/rspec-0.8.2/lib/spec/expectations/handler.rb +47 -0
  248. data/vendor/rspec-0.8.2/lib/spec/expectations/should.rb +5 -0
  249. data/vendor/rspec-0.8.2/lib/spec/expectations/should/base.rb +64 -0
  250. data/vendor/rspec-0.8.2/lib/spec/expectations/should/change.rb +69 -0
  251. data/vendor/rspec-0.8.2/lib/spec/expectations/should/have.rb +128 -0
  252. data/vendor/rspec-0.8.2/lib/spec/expectations/should/not.rb +74 -0
  253. data/vendor/rspec-0.8.2/lib/spec/expectations/should/should.rb +81 -0
  254. data/vendor/rspec-0.8.2/lib/spec/expectations/sugar.rb +47 -0
  255. data/vendor/rspec-0.8.2/lib/spec/matchers.rb +160 -0
  256. data/vendor/rspec-0.8.2/lib/spec/matchers/be.rb +161 -0
  257. data/vendor/rspec-0.8.2/lib/spec/matchers/be_close.rb +37 -0
  258. data/vendor/rspec-0.8.2/lib/spec/matchers/change.rb +120 -0
  259. data/vendor/rspec-0.8.2/lib/spec/matchers/eql.rb +43 -0
  260. data/vendor/rspec-0.8.2/lib/spec/matchers/equal.rb +43 -0
  261. data/vendor/rspec-0.8.2/lib/spec/matchers/has.rb +44 -0
  262. data/vendor/rspec-0.8.2/lib/spec/matchers/have.rb +140 -0
  263. data/vendor/rspec-0.8.2/lib/spec/matchers/include.rb +50 -0
  264. data/vendor/rspec-0.8.2/lib/spec/matchers/match.rb +41 -0
  265. data/vendor/rspec-0.8.2/lib/spec/matchers/raise_error.rb +100 -0
  266. data/vendor/rspec-0.8.2/lib/spec/matchers/respond_to.rb +35 -0
  267. data/vendor/rspec-0.8.2/lib/spec/matchers/satisfy.rb +47 -0
  268. data/vendor/rspec-0.8.2/lib/spec/matchers/throw_symbol.rb +75 -0
  269. data/vendor/rspec-0.8.2/lib/spec/mocks.rb +232 -0
  270. data/vendor/rspec-0.8.2/lib/spec/mocks/argument_expectation.rb +132 -0
  271. data/vendor/rspec-0.8.2/lib/spec/mocks/error_generator.rb +85 -0
  272. data/vendor/rspec-0.8.2/lib/spec/mocks/errors.rb +10 -0
  273. data/vendor/rspec-0.8.2/lib/spec/mocks/extensions/object.rb +3 -0
  274. data/vendor/rspec-0.8.2/lib/spec/mocks/message_expectation.rb +231 -0
  275. data/vendor/rspec-0.8.2/lib/spec/mocks/methods.rb +40 -0
  276. data/vendor/rspec-0.8.2/lib/spec/mocks/mock.rb +26 -0
  277. data/vendor/rspec-0.8.2/lib/spec/mocks/mock_handler.rb +166 -0
  278. data/vendor/rspec-0.8.2/lib/spec/mocks/order_group.rb +29 -0
  279. data/vendor/rspec-0.8.2/lib/spec/rake/spectask.rb +173 -0
  280. data/vendor/rspec-0.8.2/lib/spec/rake/verify_rcov.rb +47 -0
  281. data/vendor/rspec-0.8.2/lib/spec/runner.rb +132 -0
  282. data/vendor/rspec-0.8.2/lib/spec/runner/backtrace_tweaker.rb +55 -0
  283. data/vendor/rspec-0.8.2/lib/spec/runner/command_line.rb +34 -0
  284. data/vendor/rspec-0.8.2/lib/spec/runner/context.rb +154 -0
  285. data/vendor/rspec-0.8.2/lib/spec/runner/context_eval.rb +142 -0
  286. data/vendor/rspec-0.8.2/lib/spec/runner/context_runner.rb +55 -0
  287. data/vendor/rspec-0.8.2/lib/spec/runner/drb_command_line.rb +21 -0
  288. data/vendor/rspec-0.8.2/lib/spec/runner/execution_context.rb +17 -0
  289. data/vendor/rspec-0.8.2/lib/spec/runner/extensions/kernel.rb +17 -0
  290. data/vendor/rspec-0.8.2/lib/spec/runner/extensions/object.rb +32 -0
  291. data/vendor/rspec-0.8.2/lib/spec/runner/formatter.rb +5 -0
  292. data/vendor/rspec-0.8.2/lib/spec/runner/formatter/base_text_formatter.rb +118 -0
  293. data/vendor/rspec-0.8.2/lib/spec/runner/formatter/html_formatter.rb +219 -0
  294. data/vendor/rspec-0.8.2/lib/spec/runner/formatter/progress_bar_formatter.rb +27 -0
  295. data/vendor/rspec-0.8.2/lib/spec/runner/formatter/rdoc_formatter.rb +22 -0
  296. data/vendor/rspec-0.8.2/lib/spec/runner/formatter/specdoc_formatter.rb +23 -0
  297. data/vendor/rspec-0.8.2/lib/spec/runner/heckle_runner.rb +71 -0
  298. data/vendor/rspec-0.8.2/lib/spec/runner/heckle_runner_win.rb +10 -0
  299. data/vendor/rspec-0.8.2/lib/spec/runner/option_parser.rb +224 -0
  300. data/vendor/rspec-0.8.2/lib/spec/runner/reporter.rb +105 -0
  301. data/vendor/rspec-0.8.2/lib/spec/runner/spec_matcher.rb +25 -0
  302. data/vendor/rspec-0.8.2/lib/spec/runner/spec_parser.rb +41 -0
  303. data/vendor/rspec-0.8.2/lib/spec/runner/spec_should_raise_handler.rb +74 -0
  304. data/vendor/rspec-0.8.2/lib/spec/runner/specification.rb +114 -0
  305. data/vendor/rspec-0.8.2/lib/spec/translator.rb +87 -0
  306. data/vendor/rspec-0.8.2/lib/spec/version.rb +30 -0
  307. data/vendor/rspec-0.8.2/spec/spec/callback/callback_container_spec.rb +27 -0
  308. data/vendor/rspec-0.8.2/spec/spec/callback/module_spec.rb +37 -0
  309. data/vendor/rspec-0.8.2/spec/spec/callback/object_spec.rb +90 -0
  310. data/vendor/rspec-0.8.2/spec/spec/callback/object_with_class_callback_spec.rb +19 -0
  311. data/vendor/rspec-0.8.2/spec/spec/expectations/differs/default_spec.rb +107 -0
  312. data/vendor/rspec-0.8.2/spec/spec/expectations/extensions/object_spec.rb +46 -0
  313. data/vendor/rspec-0.8.2/spec/spec/expectations/fail_with_spec.rb +71 -0
  314. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_==_spec.rb +19 -0
  315. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_=~_spec.rb +13 -0
  316. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_a_kind_of_spec.rb +21 -0
  317. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_an_instance_of_spec.rb +30 -0
  318. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_arbitrary_predicate_spec.rb +81 -0
  319. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_close_spec.rb +18 -0
  320. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_comparison_operator_spec.rb +44 -0
  321. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_false_spec.rb +39 -0
  322. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_spec.rb +11 -0
  323. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_be_true_spec.rb +27 -0
  324. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_change_spec.rb +184 -0
  325. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_eql_spec.rb +11 -0
  326. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_equal_spec.rb +11 -0
  327. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_have_at_least_spec.rb +53 -0
  328. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_have_at_most_spec.rb +45 -0
  329. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_have_key_spec.rb +21 -0
  330. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_have_spec.rb +64 -0
  331. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_include_spec.rb +59 -0
  332. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_match_spec.rb +25 -0
  333. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_==_spec.rb +15 -0
  334. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_be_a_kind_of_spec.rb +21 -0
  335. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_be_an_instance_of_spec.rb +11 -0
  336. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_be_arbitrary_predicate_spec.rb +68 -0
  337. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_be_spec.rb +11 -0
  338. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_change_spec.rb +24 -0
  339. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_eql_spec.rb +11 -0
  340. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_equal_spec.rb +11 -0
  341. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_have_key_spec.rb +15 -0
  342. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_include_spec.rb +58 -0
  343. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_match_spec.rb +11 -0
  344. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_raise_spec.rb +75 -0
  345. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_respond_to_spec.rb +15 -0
  346. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_not_throw_spec.rb +35 -0
  347. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_raise_spec.rb +66 -0
  348. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_respond_to_spec.rb +15 -0
  349. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_satisfy_spec.rb +35 -0
  350. data/vendor/rspec-0.8.2/spec/spec/expectations/should/should_throw_spec.rb +27 -0
  351. data/vendor/rspec-0.8.2/spec/spec/matchers/be_close_spec.rb +33 -0
  352. data/vendor/rspec-0.8.2/spec/spec/matchers/be_spec.rb +182 -0
  353. data/vendor/rspec-0.8.2/spec/spec/matchers/change_spec.rb +232 -0
  354. data/vendor/rspec-0.8.2/spec/spec/matchers/description_generation_spec.rb +147 -0
  355. data/vendor/rspec-0.8.2/spec/spec/matchers/eql_spec.rb +41 -0
  356. data/vendor/rspec-0.8.2/spec/spec/matchers/equal_spec.rb +41 -0
  357. data/vendor/rspec-0.8.2/spec/spec/matchers/handler_spec.rb +75 -0
  358. data/vendor/rspec-0.8.2/spec/spec/matchers/has_spec.rb +37 -0
  359. data/vendor/rspec-0.8.2/spec/spec/matchers/have_spec.rb +259 -0
  360. data/vendor/rspec-0.8.2/spec/spec/matchers/include_spec.rb +33 -0
  361. data/vendor/rspec-0.8.2/spec/spec/matchers/match_spec.rb +37 -0
  362. data/vendor/rspec-0.8.2/spec/spec/matchers/matcher_methods_spec.rb +85 -0
  363. data/vendor/rspec-0.8.2/spec/spec/matchers/raise_error_spec.rb +147 -0
  364. data/vendor/rspec-0.8.2/spec/spec/matchers/respond_to_spec.rb +30 -0
  365. data/vendor/rspec-0.8.2/spec/spec/matchers/satisfy_spec.rb +36 -0
  366. data/vendor/rspec-0.8.2/spec/spec/matchers/throw_symbol_spec.rb +59 -0
  367. data/vendor/rspec-0.8.2/spec/spec/mocks/any_number_of_times_spec.rb +34 -0
  368. data/vendor/rspec-0.8.2/spec/spec/mocks/argument_expectation_spec.rb +19 -0
  369. data/vendor/rspec-0.8.2/spec/spec/mocks/at_least_spec.rb +97 -0
  370. data/vendor/rspec-0.8.2/spec/spec/mocks/at_most_spec.rb +97 -0
  371. data/vendor/rspec-0.8.2/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  372. data/vendor/rspec-0.8.2/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  373. data/vendor/rspec-0.8.2/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  374. data/vendor/rspec-0.8.2/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  375. data/vendor/rspec-0.8.2/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +74 -0
  376. data/vendor/rspec-0.8.2/spec/spec/mocks/mock_ordering_spec.rb +80 -0
  377. data/vendor/rspec-0.8.2/spec/spec/mocks/mock_spec.rb +407 -0
  378. data/vendor/rspec-0.8.2/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  379. data/vendor/rspec-0.8.2/spec/spec/mocks/null_object_mock_spec.rb +40 -0
  380. data/vendor/rspec-0.8.2/spec/spec/mocks/once_counts_spec.rb +56 -0
  381. data/vendor/rspec-0.8.2/spec/spec/mocks/options_hash_spec.rb +31 -0
  382. data/vendor/rspec-0.8.2/spec/spec/mocks/partial_mock_spec.rb +52 -0
  383. data/vendor/rspec-0.8.2/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +64 -0
  384. data/vendor/rspec-0.8.2/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +92 -0
  385. data/vendor/rspec-0.8.2/spec/spec/mocks/precise_counts_spec.rb +56 -0
  386. data/vendor/rspec-0.8.2/spec/spec/mocks/record_messages_spec.rb +26 -0
  387. data/vendor/rspec-0.8.2/spec/spec/mocks/stub_spec.rb +159 -0
  388. data/vendor/rspec-0.8.2/spec/spec/mocks/twice_counts_spec.rb +67 -0
  389. data/vendor/rspec-0.8.2/spec/spec/runner/command_line_spec.rb +32 -0
  390. data/vendor/rspec-0.8.2/spec/spec/runner/context_matching_spec.rb +28 -0
  391. data/vendor/rspec-0.8.2/spec/spec/runner/context_runner_spec.rb +100 -0
  392. data/vendor/rspec-0.8.2/spec/spec/runner/context_spec.rb +405 -0
  393. data/vendor/rspec-0.8.2/spec/spec/runner/drb_command_line_spec.rb +74 -0
  394. data/vendor/rspec-0.8.2/spec/spec/runner/execution_context_spec.rb +52 -0
  395. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/html_formatter_spec.rb +40 -0
  396. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +21 -0
  397. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +36 -0
  398. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +78 -0
  399. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +18 -0
  400. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/rdoc_formatter_spec.rb +41 -0
  401. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +21 -0
  402. data/vendor/rspec-0.8.2/spec/spec/runner/formatter/specdoc_formatter_spec.rb +46 -0
  403. data/vendor/rspec-0.8.2/spec/spec/runner/heckle_runner_spec.rb +63 -0
  404. data/vendor/rspec-0.8.2/spec/spec/runner/heckler_spec.rb +14 -0
  405. data/vendor/rspec-0.8.2/spec/spec/runner/kernel_ext_spec.rb +16 -0
  406. data/vendor/rspec-0.8.2/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  407. data/vendor/rspec-0.8.2/spec/spec/runner/object_ext_spec.rb +11 -0
  408. data/vendor/rspec-0.8.2/spec/spec/runner/option_parser_spec.rb +269 -0
  409. data/vendor/rspec-0.8.2/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +47 -0
  410. data/vendor/rspec-0.8.2/spec/spec/runner/reporter_spec.rb +126 -0
  411. data/vendor/rspec-0.8.2/spec/spec/runner/spec_matcher_spec.rb +107 -0
  412. data/vendor/rspec-0.8.2/spec/spec/runner/spec_name_generation_spec.rb +102 -0
  413. data/vendor/rspec-0.8.2/spec/spec/runner/spec_parser_spec.rb +37 -0
  414. data/vendor/rspec-0.8.2/spec/spec/runner/specification_class_spec.rb +72 -0
  415. data/vendor/rspec-0.8.2/spec/spec/runner/specification_instance_spec.rb +160 -0
  416. data/vendor/rspec-0.8.2/spec/spec/runner/specification_should_raise_spec.rb +136 -0
  417. data/vendor/rspec-0.8.2/spec/spec/spec_classes.rb +102 -0
  418. data/vendor/rspec-0.8.2/spec/spec/translator_spec.rb +79 -0
  419. data/vendor/rspec-0.8.2/spec/spec_helper.rb +35 -0
  420. metadata +537 -0
@@ -0,0 +1,161 @@
1
+
2
+ module Checks
3
+
4
+ def verify_element_inner_text
5
+ execute(this_method){
6
+ expected_value{
7
+ @parameter.value
8
+ }
9
+ actual_value{
10
+ if @element.tagName == 'INPUT' or @element.tagName == 'SELECT' or @element.tagName == 'TEXTAREA'
11
+ @element.value
12
+ else
13
+ @element.innerText
14
+ end
15
+ }
16
+ result{
17
+ if @parameter.regex
18
+ !@actual_value.match("#{@expected_value}").nil?
19
+ else
20
+ @actual_value == @expected_value
21
+ end
22
+ }
23
+ @reporter.record_results(:verifyElementText, @expected_value, @actual_value, @result)
24
+ @result
25
+ }
26
+ end
27
+
28
+ def verify_element_value
29
+ execute(this_method){
30
+ expected_value{
31
+ @parameter.value
32
+ }
33
+ actual_value{
34
+ if @element.tagName == 'INPUT' or @element.tagName == 'SELECT' or @element.tagName == 'TEXTAREA'
35
+ @element.value
36
+ else
37
+ @element.innerText
38
+ end
39
+ }
40
+ result{
41
+ if @parameter.regex
42
+ !@actual_value.match("#{@expected_value}").nil?
43
+ else
44
+ @actual_value == @expected_value
45
+ end
46
+ }
47
+ @reporter.record_results(:verifyElementValue, @expected_value, @actual_value, @result)
48
+ @result
49
+ }
50
+ end
51
+
52
+ def verify_element_inner_html
53
+ execute(this_method){
54
+ expected_value{
55
+ @parameter.value
56
+ }
57
+ actual_value{
58
+ if @element.tagName == 'INPUT' or @element.tagName == 'SELECT' or @element.tagName == 'TEXTAREA'
59
+ @element.value
60
+ else
61
+ @element.innerHTML
62
+ end
63
+ }
64
+ result{
65
+ if @parameter.regex
66
+ !@actual_value.match("#{@expected_value}").nil?
67
+ else
68
+ @actual_value == @expected_value
69
+ end
70
+ }
71
+ @reporter.record_results(:verifyElementHtml, @expected_value, @actual_value, @result)
72
+ @result
73
+ }
74
+ end
75
+
76
+
77
+ def verify_element_checked
78
+ execute(this_method){
79
+ expected_value{
80
+ true
81
+ }
82
+ actual_value{
83
+ @element.getAttribute('CHECKED')
84
+ }
85
+ result{
86
+ @expected_value == @actual_value
87
+ }
88
+ @reporter.record_results(:verifyElementChecked, @expected_value, @actual_value, @result)
89
+ @result
90
+ }
91
+ end
92
+
93
+ def verify_element_not_checked
94
+ execute(this_method){
95
+ expected_value{
96
+ false
97
+ }
98
+ actual_value{
99
+ @element.getAttribute('CHECKED')
100
+ }
101
+ result{
102
+ @expected_value == @actual_value
103
+ }
104
+ @reporter.record_results(:verifyElementNotChecked, @expected_value, @actual_value, @result)
105
+ @result
106
+ }
107
+ end
108
+
109
+ def verify_element_source
110
+ execute(this_method){
111
+ expected_value{
112
+ @value
113
+ }
114
+ actual_value{
115
+ @element.src
116
+ }
117
+ result{
118
+ if @parameter.regex
119
+ !@actual_value.match("#{@expected_value}").nil?
120
+ else
121
+ @actual_value == @expected_value
122
+ end
123
+ }
124
+ @reporter.record_results(:verifyElementSource, @expected_value, @actual_value, @result)
125
+ @result
126
+ }
127
+ end
128
+
129
+ def verify_element_present
130
+ execute(this_method){
131
+ expected_value{
132
+ false
133
+ }
134
+ actual_value{
135
+ @element.nil?
136
+ }
137
+ result{
138
+ @actual_value == @expected_value
139
+ }
140
+ @reporter.record_results(:verifyElementPresent, @expected_value, @actual_value, @result)
141
+ @result
142
+ }
143
+ end
144
+
145
+ def verify_element_not_present
146
+ execute(this_method){
147
+ expected_value{
148
+ true
149
+ }
150
+ actual_value{
151
+ @element.nil?
152
+ }
153
+ result{
154
+ @actual_value == @expected_value
155
+ }
156
+ @reporter.record_results(:verifyElementNotPresent, @expected_value, @actual_value, @result)
157
+ @result
158
+ }
159
+ end
160
+
161
+ end
@@ -0,0 +1,33 @@
1
+ module RIESS
2
+
3
+ class HTMLObjectFactory
4
+
5
+ def initialize(ie_object,element,parameter,reporter)
6
+ @ie_object = ie_object
7
+ @element = element
8
+ @parameter = parameter
9
+ @locator_type = parameter.locator_type
10
+ @locator_value = parameter.locator_value
11
+ @value = parameter.value
12
+ @reporter = reporter
13
+ end
14
+
15
+ def get_object
16
+ if @element.nil?
17
+ element_not_found
18
+ else
19
+ html_object = HTMLGeneric.new(@element,@parameter,create_event,@reporter)
20
+ end
21
+ end
22
+
23
+ private
24
+ def element_not_found
25
+ raise ElementNotFound, "Element not found using locator type --> :#{@locator_type} and locator value --> #{@locator_value}"
26
+ end
27
+
28
+ def create_event
29
+ @ie_object.document.createEventObject
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,57 @@
1
+ class HTMLGeneric
2
+
3
+ attr_reader :element, :event
4
+
5
+ include Actions
6
+ include Checks
7
+
8
+ def initialize(element,parameter,event,reporter)
9
+ @element = element
10
+ @event = event
11
+ @locator_type = parameter.locator_type
12
+ @locator_value = parameter.locator_value
13
+ @value = parameter.value
14
+ @parameter = parameter
15
+ @reporter = reporter
16
+ end
17
+
18
+ def execute(method,&block)
19
+ begin
20
+ yield
21
+ rescue WIN32OLERuntimeError => e
22
+ puts "\n[ERROR] You probably called method #{method} on an win32ole object that doesnt support it:"
23
+ puts "locator_type : #{@locator_type}"
24
+ puts "locator_value : #{@locator_value}"
25
+ puts "parameter_value : #{@value}"
26
+ puts "\nCaller stack:\n"
27
+ puts caller
28
+ puts "\nException stack:\n"
29
+ puts e
30
+ rescue => e
31
+ raise UnexpectedError, "Something unexpected happened calling #{method}: \n\n#{caller}, \n\n#{e}"
32
+ end
33
+ end
34
+
35
+ def expected_value(&block)
36
+ value = yield self
37
+ name = this_block_name
38
+ assign name,value
39
+ end
40
+
41
+ def actual_value(&block)
42
+ value = yield self
43
+ name = this_block_name
44
+ assign name,value
45
+ end
46
+
47
+ def result(&block)
48
+ value = yield self
49
+ name = this_block_name
50
+ assign name,value
51
+ end
52
+
53
+ private
54
+ def assign(name,value)
55
+ eval("@#{name} = value")
56
+ end
57
+ end
@@ -0,0 +1,416 @@
1
+ require 'win32ole'
2
+
3
+ class WIN32OLE
4
+
5
+ def search(expression)
6
+ IEParser.new(self,expression).select_nodes
7
+ end
8
+
9
+ def search_path(expression)
10
+ IEParserTopDown.new(self,expression).select_nodes
11
+ end
12
+
13
+ def find_by_id(id)
14
+ self.document.getElementById(id)
15
+ end
16
+
17
+ def find_by_name(name)
18
+ list = []
19
+ self.document.all.each{|node|
20
+ if node.getAttribute('name') == name
21
+ list << node
22
+ end
23
+ }
24
+ list.first
25
+ end
26
+
27
+ end
28
+
29
+ class IEParserTopDown
30
+
31
+ def initialize(win32ole_object,xpath_expression)
32
+ @win32ole_object = win32ole_object
33
+ @finder_info = Tokenize.new(xpath_expression).populate
34
+ end
35
+
36
+ def select_nodes
37
+ [find_top_down]
38
+ end
39
+
40
+ def find_top_down
41
+ current_node = nil
42
+
43
+ if path_has_id?
44
+ id = @finder_info.tag_id
45
+ # if has_frames?
46
+ # current_node = find_starting_id_node_with_frames(id)
47
+ # else
48
+ current_node = @win32ole_object.document.getElementById(id)
49
+ # end
50
+ else
51
+ element = @finder_info.path.first.upcase
52
+ current_node = find_starting_current_node_with_selector(element)
53
+ end
54
+
55
+ element_array = @finder_info.path
56
+ find_potential_matching_nodes(current_node,element_array)
57
+ end
58
+
59
+ def find_potential_matching_nodes(current_node,element_array)
60
+ marker = nil
61
+ if element_array.size == 0
62
+ marker = current_node
63
+ else
64
+ element_array.each_with_index{|element,i|
65
+ element = element_array[i + 1] unless element_array[i + 1].nil?
66
+ found = find_matching_childnode(current_node,element)
67
+ if found
68
+ current_node = found
69
+ else
70
+ break
71
+ end
72
+ marker = current_node
73
+ }
74
+ end
75
+ marker
76
+ end
77
+
78
+ def find_starting_current_node_with_selector(element_to_find)
79
+ elements = split_with_selector(element_to_find)
80
+ index = calculate_index(elements).to_s
81
+ begin
82
+ @win32ole_object.document.getElementsByTagName(elements[:element_name])[index]
83
+ rescue
84
+ end
85
+ end
86
+
87
+ def calculate_index(elements)
88
+ if elements[:element_index] == 0
89
+ index = elements[:element_index]
90
+ else
91
+ index = elements[:element_index] - 1
92
+ end
93
+ end
94
+
95
+ def split_with_selector(element_to_find)
96
+ element_hash = {}
97
+ if has_a_selector?(element_to_find)
98
+ selector = element_to_find.split(":")
99
+ element_hash.store(:element_name, selector[0].upcase)
100
+ element_hash.store(:element_index, selector[1].to_i)
101
+ else
102
+ element_hash.store(:element_name, element_to_find.upcase)
103
+ element_hash.store(:element_index, 0)
104
+ end
105
+ element_hash
106
+ end
107
+
108
+ def find_matching_childnode(current_node,element_to_find)
109
+ elements = split_with_selector(element_to_find)
110
+
111
+ child_array = []
112
+
113
+ begin
114
+ current_node.childnodes.each{|child|
115
+ if child.nodename == elements[:element_name]
116
+ #~ puts "#{elements[:element_name]} : #{child.nodename}"
117
+ child_array << child
118
+ end
119
+ }
120
+ rescue
121
+ end
122
+
123
+ index = calculate_index(elements)
124
+ child_array[index]
125
+ end
126
+
127
+ private
128
+ def has_a_selector?(element)
129
+ element.split(":").size == 2
130
+ end
131
+
132
+ def path_has_id?
133
+ @finder_info.tag_id != nil
134
+ end
135
+
136
+ end
137
+
138
+ class IEParser
139
+
140
+ def initialize(win32ole_object,xpath_expression)
141
+ @win32ole_object = win32ole_object
142
+ @finder_info = Tokenize.new(xpath_expression).populate
143
+ end
144
+
145
+ def select_nodes
146
+ if element_has_path? == false
147
+ find_by_name_or_id_when_no_path
148
+ else
149
+ check_xpath
150
+ end
151
+ end
152
+
153
+ def find_by_name_or_id_when_no_path
154
+ finder_detail = @finder_info.path.first
155
+ finder_detail.match(/^\[(.+)\]$/)
156
+ info = $1.to_s
157
+ info.match(/^@(\w+)=."(.+)"$/)
158
+ attribute = $1.to_s
159
+ attribute_value = $2.to_s
160
+
161
+ if attribute == 'name'
162
+ element_list = @win32ole_object.find_by_name(attribute_value)
163
+ elsif attribute == 'id'
164
+ element_list = @win32ole_object.find_by_id(attribute_value)
165
+ else
166
+ element_list = nil
167
+ end
168
+ [element_list]
169
+ end
170
+
171
+
172
+
173
+ # def find_starting_id_node_with_frames(id)
174
+ # result = nil
175
+ # number_of_frames = @win32ole_object.document.frames.length.to_i - 1
176
+ # number_of_frames.times{|frame|
177
+ # lookup = @win32ole_object.document.frames[frame.to_s].document.getElementById(id)
178
+ # result = lookup unless lookup.nil?
179
+ # }
180
+ # result
181
+ # end
182
+
183
+ def check_xpath
184
+ found_elements = []
185
+ find_base_elements.each{|element|
186
+ path = @finder_info.path.reverse
187
+
188
+ if path_has_id?
189
+ element_id = @finder_info.tag_id
190
+ begin
191
+ node = element
192
+ eval("node = #{find_parent_node(path.size)}")
193
+ if node.getAttribute("id") == element_id
194
+ found_elements << element
195
+ end
196
+ rescue
197
+ end
198
+ else
199
+ begin
200
+ node = element
201
+ eval("node = #{find_parent_node(path.size - 1)}") if element_has_path?
202
+ if node.nodename == path[-1].upcase
203
+ found_elements << element
204
+ end
205
+ rescue
206
+ end
207
+ end
208
+ }
209
+ found_elements
210
+ end
211
+
212
+ def find_parent_node(path_size)
213
+ eval_string = []
214
+ path_size.times{|node| eval_string << 'parentNode'}
215
+ eval_string.unshift('element').join('.')
216
+ end
217
+
218
+ def find_base_elements
219
+ # if has_frames?
220
+ # #TODO
221
+ # else
222
+ element_array = find_element_with_no_frames
223
+ # end
224
+ # element_array
225
+ end
226
+
227
+ def find_element_with_no_frames
228
+ if has_finder_info?
229
+ element = @finder_info.finder[:element].upcase
230
+ element_list = @win32ole_object.document.getElementsByTagName(element)
231
+ element_array = find_elements_by_finder_info(element_list)
232
+ else
233
+ element_array = find_plain_elements
234
+ end
235
+ element_array
236
+ end
237
+
238
+ def find_plain_elements
239
+ potential_elements = []
240
+ element = @finder_info.path[-1].upcase
241
+ @win32ole_object.document.getElementsByTagName(element).each{|node|
242
+ potential_elements << node
243
+ }
244
+ potential_elements
245
+ end
246
+
247
+ def find_elements_by_finder_info(element_list)
248
+ attribute = @finder_info.finder[:criteria]
249
+ attribute_value = @finder_info.finder[:value]
250
+ selector = @finder_info.finder[:selector]
251
+
252
+ potential_elements = []
253
+ element_list.each{|node|
254
+ if find_attribute_by_selector(selector, node, attribute, attribute_value)
255
+ potential_elements << node
256
+ end
257
+ }
258
+ potential_elements
259
+ end
260
+
261
+ def find_attribute_by_selector(selector, node, attribute, attribute_value)
262
+
263
+ if attribute == 'text'
264
+ node_attribute = node.innerHTML
265
+ else
266
+ node_attribute = node.getAttribute(attribute)
267
+ end
268
+
269
+ if selector == '=='
270
+ result = node_attribute == attribute_value
271
+ elsif selector == '=~'
272
+ result = node_attribute.match(/#{attribute_value}/) != nil
273
+ elsif selector == '=*'
274
+ attribute_array = node_attribute.split
275
+ result = attribute_array.include?(attribute_value)
276
+ elsif selector == '=^'
277
+ result = node_attribute.match(/^#{attribute_value}/) != nil
278
+ elsif selector == '=$'
279
+ result = node_attribute.match(/#{attribute_value}$/) != nil
280
+ end
281
+ result
282
+ end
283
+
284
+ private
285
+ def has_finder_info?
286
+ @finder_info.finder != nil
287
+ end
288
+
289
+ # def has_frames?
290
+ # number_of_frames = @win32ole_object.document.frames.length
291
+ # number_of_frames > 1
292
+ # end
293
+
294
+ def has_occurrences?
295
+ @finder_info.path.to_s.split(":").size > 1
296
+ end
297
+
298
+ def element_has_path?
299
+ @finder_info.path.first.match(/^\[/) == nil
300
+ end
301
+
302
+ def path_has_id?
303
+ @finder_info.tag_id != nil
304
+ end
305
+
306
+ end
307
+
308
+ class Tokenize
309
+
310
+ Tokagram = Struct.new('Tokagram', :tag_id, :path, :finder)
311
+ attr_reader :tokenized_expression
312
+
313
+ def initialize(xpath_expression)
314
+ @xpath_expression = xpath_expression
315
+ @tokagram = Tokagram.new
316
+ end
317
+
318
+ def tokenize_by_divider
319
+ @tokenized_expression = @xpath_expression.split(">").collect{|element|
320
+ element.gsub(/^\s/,"").gsub(/\s$/,"")}
321
+ end
322
+
323
+ # This isnt needed since the xpath will find based on children not on siblings and since I shortcut using parentNode theres no
324
+ # way to follow down the number of occurrences - but anyway it not needed for what we are doing.
325
+ #~ def expand_occurrences
326
+ #~ expanded_array = []
327
+ #~ @tokenized_expression.each{|token|
328
+ #~ split = token.split(":")
329
+
330
+ #~ element = split.first
331
+ #~ occurrence = split[1]
332
+
333
+ #~ if split.size == 2 and occurrence.match(/^\d*$/)
334
+ #~ occurrence.to_i.times{|n|
335
+ #~ expanded_array << element
336
+ #~ }
337
+ #~ else
338
+ #~ expanded_array << token
339
+ #~ end
340
+
341
+ #~ }
342
+ #~ @tokenized_expression = expanded_array
343
+ #~ end
344
+
345
+ def strip_out_id_if_present
346
+ split = @tokenized_expression.first.split('#')
347
+ if split.size == 2
348
+ id = split[1]
349
+ @tokagram.tag_id = id
350
+ #remove the id from the array
351
+ @tokenized_expression.shift
352
+ else
353
+ @tokagram.tag_id = nil
354
+ end
355
+ @tokagram
356
+ end
357
+
358
+ def write_finder_information
359
+ if token_has_finder_info?
360
+ detail = @tokenized_expression[-1]
361
+ detail.match(/^(\w+)\[(.+)\]$/)
362
+
363
+ element = $1.to_s
364
+
365
+ finder_detail = $2.to_s
366
+ finder_detail.match(/^(.+\w)(=.)"(.+)"$/)
367
+
368
+ criteria = $1.to_s
369
+ selector = $2.to_s
370
+ value = $3.to_s
371
+
372
+ finder = {
373
+ :element => element,
374
+ :criteria => criteria.gsub("@",""), #remove the @ from attribute if has one
375
+ :value => value,
376
+ :selector => selector
377
+ }
378
+ @tokagram.finder = finder
379
+ end
380
+
381
+ end
382
+
383
+ def write_path_information
384
+ # remove the rest of the search criteria from the last array element if it has any
385
+ element = get_element_from_token
386
+ if token_has_finder_info?
387
+ @tokenized_expression.pop
388
+ @tokenized_expression << element
389
+ end
390
+ @tokagram.path = @tokenized_expression
391
+ end
392
+
393
+ def get_element_from_token
394
+ @tokenized_expression[-1].match(/(\w*)\[.*\]$/)
395
+ element = $1.to_s
396
+ if element.empty?
397
+ result = nil
398
+ else
399
+ result = element
400
+ end
401
+ result
402
+ end
403
+
404
+ def token_has_finder_info?
405
+ get_element_from_token != nil
406
+ end
407
+
408
+ def populate
409
+ tokenize_by_divider
410
+ #~ expand_occurrences
411
+ strip_out_id_if_present
412
+ write_finder_information
413
+ write_path_information
414
+ @tokagram
415
+ end
416
+ end