riess 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
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