coffeecake 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1336) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/README.markdown +28 -0
  4. data/Rakefile +2 -0
  5. data/bin/ck +16 -0
  6. data/coffeecake.gemspec +21 -0
  7. data/lib/coffeecake.rb +4 -0
  8. data/lib/coffeecake/generators.rb +12 -0
  9. data/lib/coffeecake/generators/new_generator.rb +55 -0
  10. data/lib/coffeecake/templates/.gitkeep +0 -0
  11. data/lib/coffeecake/templates/README.markdown +56 -0
  12. data/lib/coffeecake/templates/SpecHelper.tt +0 -0
  13. data/lib/coffeecake/templates/docs_readme +5 -0
  14. data/lib/coffeecake/templates/jasmine.tt +18 -0
  15. data/lib/coffeecake/templates/lib.tt +3 -0
  16. data/lib/coffeecake/templates/spec.tt +3 -0
  17. data/lib/coffeecake/version.rb +3 -0
  18. data/lib/thor_register_patch.rb +16 -0
  19. data/node_modules/.bin/cake +7 -0
  20. data/node_modules/.bin/coffee +7 -0
  21. data/node_modules/.bin/docco +8 -0
  22. data/node_modules/.bin/jasmine +26 -0
  23. data/node_modules/.bin/jasmine-node +7 -0
  24. data/node_modules/.bin/uglifycss +127 -0
  25. data/node_modules/.bin/uglifyjs +317 -0
  26. data/node_modules/coffee-script/.npmignore +11 -0
  27. data/node_modules/coffee-script/LICENSE +22 -0
  28. data/node_modules/coffee-script/README +51 -0
  29. data/node_modules/coffee-script/Rakefile +78 -0
  30. data/node_modules/coffee-script/bin/cake +7 -0
  31. data/node_modules/coffee-script/bin/coffee +7 -0
  32. data/node_modules/coffee-script/extras/jsl.conf +44 -0
  33. data/node_modules/coffee-script/lib/coffee-script/browser.js +74 -0
  34. data/node_modules/coffee-script/lib/coffee-script/cake.js +89 -0
  35. data/node_modules/coffee-script/lib/coffee-script/coffee-script.js +148 -0
  36. data/node_modules/coffee-script/lib/coffee-script/command.js +310 -0
  37. data/node_modules/coffee-script/lib/coffee-script/grammar.js +588 -0
  38. data/node_modules/coffee-script/lib/coffee-script/helpers.js +72 -0
  39. data/node_modules/coffee-script/lib/coffee-script/index.js +10 -0
  40. data/node_modules/coffee-script/lib/coffee-script/lexer.js +687 -0
  41. data/node_modules/coffee-script/lib/coffee-script/nodes.js +2481 -0
  42. data/node_modules/coffee-script/lib/coffee-script/optparse.js +122 -0
  43. data/node_modules/coffee-script/lib/coffee-script/parser.js +670 -0
  44. data/node_modules/coffee-script/lib/coffee-script/repl.js +149 -0
  45. data/node_modules/coffee-script/lib/coffee-script/rewriter.js +288 -0
  46. data/node_modules/coffee-script/lib/coffee-script/scope.js +124 -0
  47. data/node_modules/coffee-script/npm-install-45965.sh +282 -0
  48. data/node_modules/coffee-script/package.json +31 -0
  49. data/node_modules/docco/.gitignore +3 -0
  50. data/node_modules/docco/Cakefile +27 -0
  51. data/node_modules/docco/README +13 -0
  52. data/node_modules/docco/bin/docco +8 -0
  53. data/node_modules/docco/index.html +143 -0
  54. data/node_modules/docco/lib/docco.js +155 -0
  55. data/node_modules/docco/package.json +21 -0
  56. data/node_modules/docco/resources/docco.css +186 -0
  57. data/node_modules/docco/resources/docco.jst +58 -0
  58. data/node_modules/docco/src/docco.coffee +204 -0
  59. data/node_modules/docco/vendor/showdown.js +1298 -0
  60. data/node_modules/jasmine-jquery/.gitignore +3 -0
  61. data/node_modules/jasmine-jquery/MIT.LICENSE +20 -0
  62. data/node_modules/jasmine-jquery/README.markdown +174 -0
  63. data/node_modules/jasmine-jquery/SpecRunner.html +24 -0
  64. data/node_modules/jasmine-jquery/index.js +15 -0
  65. data/node_modules/jasmine-jquery/lib/jasmine-jquery.js +288 -0
  66. data/node_modules/jasmine-jquery/package.json +19 -0
  67. data/node_modules/jasmine-jquery/spec/fixtures/real_non_mocked_fixture.html +1 -0
  68. data/node_modules/jasmine-jquery/spec/suites/jasmine-jquery-spec.js +691 -0
  69. data/node_modules/jasmine-node/.gitignore +10 -0
  70. data/node_modules/jasmine-node/LICENSE +22 -0
  71. data/node_modules/jasmine-node/README.md +35 -0
  72. data/node_modules/jasmine-node/bin/jasmine-node +7 -0
  73. data/node_modules/jasmine-node/lib/jasmine-node/cli.js +110 -0
  74. data/node_modules/jasmine-node/lib/jasmine-node/index.js +171 -0
  75. data/node_modules/jasmine-node/lib/jasmine-node/jasmine-2.0.0.rc1.js +2479 -0
  76. data/node_modules/jasmine-node/lib/jasmine-node/reporter.js +177 -0
  77. data/node_modules/jasmine-node/package.json +22 -0
  78. data/node_modules/jasmine-node/spec/CoffeeSpec.coffee +4 -0
  79. data/node_modules/jasmine-node/spec/SampleSpecs.js +15 -0
  80. data/node_modules/jasmine-node/spec/TestSpec.js +5 -0
  81. data/node_modules/jasmine-node/spec/helper_spec.js +7 -0
  82. data/node_modules/jasmine-node/spec/include/include_spec.js +7 -0
  83. data/node_modules/jasmine-node/spec/include/lib/test.js +3 -0
  84. data/node_modules/jasmine-node/spec/nested.js/NestedSpec.js +5 -0
  85. data/node_modules/jasmine-node/spec/nested/NestedSpec.js +5 -0
  86. data/node_modules/jasmine-node/spec/nested/uber-nested/UberNestedSpec.js +11 -0
  87. data/node_modules/jasmine-node/spec/sample_helper.js +19 -0
  88. data/node_modules/jasmine-node/specs.sh +2 -0
  89. data/node_modules/jasmine-reporters/.gitignore +1 -0
  90. data/node_modules/jasmine-reporters/.gitmodules +3 -0
  91. data/node_modules/jasmine-reporters/LICENSE +21 -0
  92. data/node_modules/jasmine-reporters/README.markdown +52 -0
  93. data/node_modules/jasmine-reporters/ext/env.rhino.1.2.js +13989 -0
  94. data/node_modules/jasmine-reporters/ext/jasmine-html.js +182 -0
  95. data/node_modules/jasmine-reporters/ext/jasmine.css +166 -0
  96. data/node_modules/jasmine-reporters/ext/jasmine.js +2421 -0
  97. data/node_modules/jasmine-reporters/ext/jline.jar +0 -0
  98. data/node_modules/jasmine-reporters/ext/js.jar +0 -0
  99. data/node_modules/jasmine-reporters/ext/phantomjs/.gitignore +10 -0
  100. data/node_modules/jasmine-reporters/ext/phantomjs/ChangeLog +57 -0
  101. data/node_modules/jasmine-reporters/ext/phantomjs/LICENSE.BSD +22 -0
  102. data/node_modules/jasmine-reporters/ext/phantomjs/README.md +28 -0
  103. data/node_modules/jasmine-reporters/ext/phantomjs/examples/arguments.coffee +6 -0
  104. data/node_modules/jasmine-reporters/ext/phantomjs/examples/arguments.js +8 -0
  105. data/node_modules/jasmine-reporters/ext/phantomjs/examples/colorwheel.coffee +45 -0
  106. data/node_modules/jasmine-reporters/ext/phantomjs/examples/colorwheel.js +52 -0
  107. data/node_modules/jasmine-reporters/ext/phantomjs/examples/countdown.coffee +8 -0
  108. data/node_modules/jasmine-reporters/ext/phantomjs/examples/countdown.js +8 -0
  109. data/node_modules/jasmine-reporters/ext/phantomjs/examples/cycle_multiple_urls.js +64 -0
  110. data/node_modules/jasmine-reporters/ext/phantomjs/examples/direction.coffee +28 -0
  111. data/node_modules/jasmine-reporters/ext/phantomjs/examples/direction.js +34 -0
  112. data/node_modules/jasmine-reporters/ext/phantomjs/examples/extract-text.coffee +81 -0
  113. data/node_modules/jasmine-reporters/ext/phantomjs/examples/extract-text.js +121 -0
  114. data/node_modules/jasmine-reporters/ext/phantomjs/examples/fibo.coffee +8 -0
  115. data/node_modules/jasmine-reporters/ext/phantomjs/examples/fibo.js +9 -0
  116. data/node_modules/jasmine-reporters/ext/phantomjs/examples/follow.coffee +36 -0
  117. data/node_modules/jasmine-reporters/ext/phantomjs/examples/follow.js +37 -0
  118. data/node_modules/jasmine-reporters/ext/phantomjs/examples/hello.coffee +2 -0
  119. data/node_modules/jasmine-reporters/ext/phantomjs/examples/hello.js +2 -0
  120. data/node_modules/jasmine-reporters/ext/phantomjs/examples/ipgeocode.coffee +13 -0
  121. data/node_modules/jasmine-reporters/ext/phantomjs/examples/ipgeocode.js +14 -0
  122. data/node_modules/jasmine-reporters/ext/phantomjs/examples/loadspeed.coffee +17 -0
  123. data/node_modules/jasmine-reporters/ext/phantomjs/examples/loadspeed.js +20 -0
  124. data/node_modules/jasmine-reporters/ext/phantomjs/examples/movies.coffee +13 -0
  125. data/node_modules/jasmine-reporters/ext/phantomjs/examples/movies.js +14 -0
  126. data/node_modules/jasmine-reporters/ext/phantomjs/examples/pizza.coffee +10 -0
  127. data/node_modules/jasmine-reporters/ext/phantomjs/examples/pizza.js +12 -0
  128. data/node_modules/jasmine-reporters/ext/phantomjs/examples/rasterize.coffee +21 -0
  129. data/node_modules/jasmine-reporters/ext/phantomjs/examples/rasterize.js +22 -0
  130. data/node_modules/jasmine-reporters/ext/phantomjs/examples/run-jasmine.js +26 -0
  131. data/node_modules/jasmine-reporters/ext/phantomjs/examples/run-qunit.js +24 -0
  132. data/node_modules/jasmine-reporters/ext/phantomjs/examples/seasonfood.coffee +17 -0
  133. data/node_modules/jasmine-reporters/ext/phantomjs/examples/seasonfood.js +19 -0
  134. data/node_modules/jasmine-reporters/ext/phantomjs/examples/technews.coffee +13 -0
  135. data/node_modules/jasmine-reporters/ext/phantomjs/examples/technews.js +14 -0
  136. data/node_modules/jasmine-reporters/ext/phantomjs/examples/tweets.coffee +8 -0
  137. data/node_modules/jasmine-reporters/ext/phantomjs/examples/tweets.js +12 -0
  138. data/node_modules/jasmine-reporters/ext/phantomjs/examples/useragent.coffee +7 -0
  139. data/node_modules/jasmine-reporters/ext/phantomjs/examples/useragent.js +8 -0
  140. data/node_modules/jasmine-reporters/ext/phantomjs/examples/version.coffee +5 -0
  141. data/node_modules/jasmine-reporters/ext/phantomjs/examples/version.js +5 -0
  142. data/node_modules/jasmine-reporters/ext/phantomjs/examples/waitfor.coffee +40 -0
  143. data/node_modules/jasmine-reporters/ext/phantomjs/examples/waitfor.js +43 -0
  144. data/node_modules/jasmine-reporters/ext/phantomjs/examples/weather.coffee +35 -0
  145. data/node_modules/jasmine-reporters/ext/phantomjs/examples/weather.js +42 -0
  146. data/node_modules/jasmine-reporters/ext/phantomjs/phantomjs.pro +3 -0
  147. data/node_modules/jasmine-reporters/ext/phantomjs/python/INSTALL +20 -0
  148. data/node_modules/jasmine-reporters/ext/phantomjs/python/LICENSE +674 -0
  149. data/node_modules/jasmine-reporters/ext/phantomjs/python/README +56 -0
  150. data/node_modules/jasmine-reporters/ext/phantomjs/python/csconverter.py +41 -0
  151. data/node_modules/jasmine-reporters/ext/phantomjs/python/networkaccessmanager.py +84 -0
  152. data/node_modules/jasmine-reporters/ext/phantomjs/python/phantom.py +384 -0
  153. data/node_modules/jasmine-reporters/ext/phantomjs/python/plugincontroller.py +98 -0
  154. data/node_modules/jasmine-reporters/ext/phantomjs/python/plugins/__init__.py +1 -0
  155. data/node_modules/jasmine-reporters/ext/phantomjs/python/pyphantomjs.py +154 -0
  156. data/node_modules/jasmine-reporters/ext/phantomjs/python/resources.py +4160 -0
  157. data/node_modules/jasmine-reporters/ext/phantomjs/python/resources.qrc +6 -0
  158. data/node_modules/jasmine-reporters/ext/phantomjs/python/resources/coffee-script.js +8 -0
  159. data/node_modules/jasmine-reporters/ext/phantomjs/python/resources/pyphantomjs-icon.ico +0 -0
  160. data/node_modules/jasmine-reporters/ext/phantomjs/python/resources/pyphantomjs-icon.png +0 -0
  161. data/node_modules/jasmine-reporters/ext/phantomjs/python/tools/build_resources.sh +14 -0
  162. data/node_modules/jasmine-reporters/ext/phantomjs/python/tools/setup.py +52 -0
  163. data/node_modules/jasmine-reporters/ext/phantomjs/python/utils.py +126 -0
  164. data/node_modules/jasmine-reporters/ext/phantomjs/python/webpage.py +67 -0
  165. data/node_modules/jasmine-reporters/ext/phantomjs/src/coffee-script.js +8 -0
  166. data/node_modules/jasmine-reporters/ext/phantomjs/src/consts.h +39 -0
  167. data/node_modules/jasmine-reporters/ext/phantomjs/src/csconverter.cpp +61 -0
  168. data/node_modules/jasmine-reporters/ext/phantomjs/src/csconverter.h +47 -0
  169. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/config.h +1 -0
  170. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/egif_lib.c +1111 -0
  171. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gif.pri +20 -0
  172. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gif_err.c +120 -0
  173. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gif_hash.c +160 -0
  174. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gif_hash.h +59 -0
  175. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gif_lib.h +336 -0
  176. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gif_lib_private.h +59 -0
  177. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gifalloc.c +443 -0
  178. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gifwriter.cpp +126 -0
  179. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/gifwriter.h +38 -0
  180. data/node_modules/jasmine-reporters/ext/phantomjs/src/gif/quantize.c +330 -0
  181. data/node_modules/jasmine-reporters/ext/phantomjs/src/main.cpp +64 -0
  182. data/node_modules/jasmine-reporters/ext/phantomjs/src/networkaccessmanager.cpp +119 -0
  183. data/node_modules/jasmine-reporters/ext/phantomjs/src/networkaccessmanager.h +53 -0
  184. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantom.cpp +494 -0
  185. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantom.h +117 -0
  186. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs-icon.png +0 -0
  187. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs.pro +32 -0
  188. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs.qrc +7 -0
  189. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs_os2.ico +0 -0
  190. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs_os2.rc +1 -0
  191. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs_win.ico +0 -0
  192. data/node_modules/jasmine-reporters/ext/phantomjs/src/phantomjs_win.rc +1 -0
  193. data/node_modules/jasmine-reporters/ext/phantomjs/src/usage.txt +11 -0
  194. data/node_modules/jasmine-reporters/ext/phantomjs/src/utils.cpp +74 -0
  195. data/node_modules/jasmine-reporters/ext/phantomjs/src/utils.h +50 -0
  196. data/node_modules/jasmine-reporters/ext/phantomjs/src/webpage.cpp +87 -0
  197. data/node_modules/jasmine-reporters/ext/phantomjs/src/webpage.h +61 -0
  198. data/node_modules/jasmine-reporters/package.json +15 -0
  199. data/node_modules/jasmine-reporters/src/jasmine.console_reporter.js +132 -0
  200. data/node_modules/jasmine-reporters/src/jasmine.junit_reporter.js +199 -0
  201. data/node_modules/jasmine-reporters/src/load_reporters.js +2 -0
  202. data/node_modules/jasmine-reporters/test/JUnitXmlReporterSpec.js +214 -0
  203. data/node_modules/jasmine-reporters/test/console_reporter.html +36 -0
  204. data/node_modules/jasmine-reporters/test/envjs.bootstrap.js +14 -0
  205. data/node_modules/jasmine-reporters/test/envjs.runner.sh +7 -0
  206. data/node_modules/jasmine-reporters/test/junit_xml_reporter.html +23 -0
  207. data/node_modules/jasmine-reporters/test/phantomjs-testrunner.js +39 -0
  208. data/node_modules/jasmine-reporters/test/phantomjs.runner.sh +30 -0
  209. data/node_modules/jasmine-reporters/test/pyphantomjs-plugins/saveToFile/__init__.py +1 -0
  210. data/node_modules/jasmine-reporters/test/pyphantomjs-plugins/saveToFile/saveToFile.py +46 -0
  211. data/node_modules/jasmine-runner/README.md +42 -0
  212. data/node_modules/jasmine-runner/TODO.md +16 -0
  213. data/node_modules/jasmine-runner/bin/jasmine +26 -0
  214. data/node_modules/jasmine-runner/lib/ServerRoutes.js +70 -0
  215. data/node_modules/jasmine-runner/lib/TestRunner.js +29 -0
  216. data/node_modules/jasmine-runner/lib/browser.js +14 -0
  217. data/node_modules/jasmine-runner/lib/config.js +21 -0
  218. data/node_modules/jasmine-runner/lib/jasmine-runner.js +83 -0
  219. data/node_modules/jasmine-runner/lib/monitor.js +34 -0
  220. data/node_modules/jasmine-runner/lib/notify.js +48 -0
  221. data/node_modules/jasmine-runner/lib/public/control-frame.js +57 -0
  222. data/node_modules/jasmine-runner/lib/public/jasmine-html.js +188 -0
  223. data/node_modules/jasmine-runner/lib/public/jasmine.css +166 -0
  224. data/node_modules/jasmine-runner/lib/public/jasmine.js +2421 -0
  225. data/node_modules/jasmine-runner/lib/public/jquery-1.4.3.js +166 -0
  226. data/node_modules/jasmine-runner/lib/public/json2.js +482 -0
  227. data/node_modules/jasmine-runner/lib/public/run.js +6 -0
  228. data/node_modules/jasmine-runner/lib/reporters.js +31 -0
  229. data/node_modules/jasmine-runner/lib/server-worker.js +18 -0
  230. data/node_modules/jasmine-runner/lib/server.js +27 -0
  231. data/node_modules/jasmine-runner/lib/template/jasmine.json +18 -0
  232. data/node_modules/jasmine-runner/lib/template/public/javascript/Player.js +22 -0
  233. data/node_modules/jasmine-runner/lib/template/public/javascript/Song.js +7 -0
  234. data/node_modules/jasmine-runner/lib/template/spec/PlayerSpec.coffee +45 -0
  235. data/node_modules/jasmine-runner/lib/template/spec/PlayerSpec.js +58 -0
  236. data/node_modules/jasmine-runner/lib/template/spec/SpecHelper.js +9 -0
  237. data/node_modules/jasmine-runner/lib/testserver.js +26 -0
  238. data/node_modules/jasmine-runner/lib/views/control-frame.jade +7 -0
  239. data/node_modules/jasmine-runner/lib/views/index.jade +18 -0
  240. data/node_modules/jasmine-runner/node_modules/.bin/cake +7 -0
  241. data/node_modules/jasmine-runner/node_modules/.bin/coffee +7 -0
  242. data/node_modules/jasmine-runner/node_modules/.bin/express +451 -0
  243. data/node_modules/jasmine-runner/node_modules/.bin/jade +92 -0
  244. data/node_modules/jasmine-runner/node_modules/.bin/vows +421 -0
  245. data/node_modules/jasmine-runner/node_modules/coffee-script/.npmignore +11 -0
  246. data/node_modules/jasmine-runner/node_modules/coffee-script/LICENSE +22 -0
  247. data/node_modules/jasmine-runner/node_modules/coffee-script/README +47 -0
  248. data/node_modules/jasmine-runner/node_modules/coffee-script/Rakefile +78 -0
  249. data/node_modules/jasmine-runner/node_modules/coffee-script/bin/cake +7 -0
  250. data/node_modules/jasmine-runner/node_modules/coffee-script/bin/coffee +7 -0
  251. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/browser.js +52 -0
  252. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/cake.js +76 -0
  253. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/coffee-script.js +82 -0
  254. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/command.js +269 -0
  255. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/grammar.js +586 -0
  256. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/helpers.js +66 -0
  257. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/index.js +8 -0
  258. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/lexer.js +638 -0
  259. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/nodes.js +2181 -0
  260. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/optparse.js +111 -0
  261. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/parser.js +656 -0
  262. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/repl.js +47 -0
  263. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/rewriter.js +353 -0
  264. data/node_modules/jasmine-runner/node_modules/coffee-script/lib/scope.js +120 -0
  265. data/node_modules/jasmine-runner/node_modules/coffee-script/package.json +22 -0
  266. data/node_modules/jasmine-runner/node_modules/colors/MIT-LICENSE.txt +20 -0
  267. data/node_modules/jasmine-runner/node_modules/colors/ReadMe.md +30 -0
  268. data/node_modules/jasmine-runner/node_modules/colors/colors.js +75 -0
  269. data/node_modules/jasmine-runner/node_modules/colors/example.js +6 -0
  270. data/node_modules/jasmine-runner/node_modules/colors/package.json +14 -0
  271. data/node_modules/jasmine-runner/node_modules/express/.npmignore +7 -0
  272. data/node_modules/jasmine-runner/node_modules/express/History.md +630 -0
  273. data/node_modules/jasmine-runner/node_modules/express/LICENSE +22 -0
  274. data/node_modules/jasmine-runner/node_modules/express/Makefile +39 -0
  275. data/node_modules/jasmine-runner/node_modules/express/Readme.md +102 -0
  276. data/node_modules/jasmine-runner/node_modules/express/bin/express +451 -0
  277. data/node_modules/jasmine-runner/node_modules/express/index.js +2 -0
  278. data/node_modules/jasmine-runner/node_modules/express/lib/express.js +78 -0
  279. data/node_modules/jasmine-runner/node_modules/express/lib/http.js +503 -0
  280. data/node_modules/jasmine-runner/node_modules/express/lib/https.js +52 -0
  281. data/node_modules/jasmine-runner/node_modules/express/lib/request.js +289 -0
  282. data/node_modules/jasmine-runner/node_modules/express/lib/response.js +423 -0
  283. data/node_modules/jasmine-runner/node_modules/express/lib/router/index.js +329 -0
  284. data/node_modules/jasmine-runner/node_modules/express/lib/router/methods.js +70 -0
  285. data/node_modules/jasmine-runner/node_modules/express/lib/router/route.js +71 -0
  286. data/node_modules/jasmine-runner/node_modules/express/lib/utils.js +122 -0
  287. data/node_modules/jasmine-runner/node_modules/express/lib/view.js +413 -0
  288. data/node_modules/jasmine-runner/node_modules/express/lib/view/partial.js +40 -0
  289. data/node_modules/jasmine-runner/node_modules/express/lib/view/view.js +206 -0
  290. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/.npmignore +11 -0
  291. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/LICENSE +24 -0
  292. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/index.js +2 -0
  293. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/cache.js +81 -0
  294. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/connect.js +106 -0
  295. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/http.js +215 -0
  296. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/https.js +47 -0
  297. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/index.js +46 -0
  298. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js +93 -0
  299. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js +92 -0
  300. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/compiler.js +163 -0
  301. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js +46 -0
  302. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/csrf.js +105 -0
  303. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/directory.js +222 -0
  304. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/errorHandler.js +100 -0
  305. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/favicon.js +76 -0
  306. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/limit.js +82 -0
  307. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/logger.js +299 -0
  308. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js +38 -0
  309. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/profiler.js +100 -0
  310. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/query.js +40 -0
  311. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/responseTime.js +34 -0
  312. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/router.js +379 -0
  313. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/session.js +346 -0
  314. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/session/cookie.js +126 -0
  315. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/session/memory.js +131 -0
  316. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/session/session.js +137 -0
  317. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/session/store.js +87 -0
  318. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/static.js +225 -0
  319. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/staticCache.js +175 -0
  320. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/middleware/vhost.js +44 -0
  321. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/patch.js +79 -0
  322. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/directory.html +75 -0
  323. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/error.html +13 -0
  324. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/favicon.ico +0 -0
  325. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page.png +0 -0
  326. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_add.png +0 -0
  327. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_attach.png +0 -0
  328. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_code.png +0 -0
  329. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_copy.png +0 -0
  330. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_delete.png +0 -0
  331. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_edit.png +0 -0
  332. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_error.png +0 -0
  333. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_excel.png +0 -0
  334. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_find.png +0 -0
  335. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_gear.png +0 -0
  336. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_go.png +0 -0
  337. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_green.png +0 -0
  338. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_key.png +0 -0
  339. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_lightning.png +0 -0
  340. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_link.png +0 -0
  341. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.png +0 -0
  342. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_paste.png +0 -0
  343. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_red.png +0 -0
  344. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_refresh.png +0 -0
  345. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_save.png +0 -0
  346. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white.png +0 -0
  347. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.png +0 -0
  348. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.png +0 -0
  349. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_add.png +0 -0
  350. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_c.png +0 -0
  351. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_camera.png +0 -0
  352. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_cd.png +0 -0
  353. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_code.png +0 -0
  354. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.png +0 -0
  355. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.png +0 -0
  356. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.png +0 -0
  357. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_copy.png +0 -0
  358. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.png +0 -0
  359. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.png +0 -0
  360. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_cup.png +0 -0
  361. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_database.png +0 -0
  362. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_delete.png +0 -0
  363. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.png +0 -0
  364. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_edit.png +0 -0
  365. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_error.png +0 -0
  366. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_excel.png +0 -0
  367. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_find.png +0 -0
  368. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_flash.png +0 -0
  369. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.png +0 -0
  370. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_gear.png +0 -0
  371. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_get.png +0 -0
  372. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_go.png +0 -0
  373. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_h.png +0 -0
  374. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.png +0 -0
  375. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_key.png +0 -0
  376. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.png +0 -0
  377. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_link.png +0 -0
  378. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.png +0 -0
  379. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_medal.png +0 -0
  380. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_office.png +0 -0
  381. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_paint.png +0 -0
  382. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.png +0 -0
  383. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_paste.png +0 -0
  384. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_php.png +0 -0
  385. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_picture.png +0 -0
  386. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.png +0 -0
  387. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_put.png +0 -0
  388. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.png +0 -0
  389. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_stack.png +0 -0
  390. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_star.png +0 -0
  391. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.png +0 -0
  392. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_text.png +0 -0
  393. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.png +0 -0
  394. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_tux.png +0 -0
  395. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_vector.png +0 -0
  396. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.png +0 -0
  397. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_width.png +0 -0
  398. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_word.png +0 -0
  399. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_world.png +0 -0
  400. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.png +0 -0
  401. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_white_zip.png +0 -0
  402. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_word.png +0 -0
  403. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/icons/page_world.png +0 -0
  404. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/public/style.css +141 -0
  405. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/lib/utils.js +451 -0
  406. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/package.json +24 -0
  407. data/node_modules/jasmine-runner/node_modules/express/node_modules/connect/test.js +11 -0
  408. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/LICENSE +19 -0
  409. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/README.md +50 -0
  410. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/mime.js +92 -0
  411. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/package.json +22 -0
  412. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/test.js +79 -0
  413. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/types/mime.types +1479 -0
  414. data/node_modules/jasmine-runner/node_modules/express/node_modules/mime/types/node.types +43 -0
  415. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/.gitignore +1 -0
  416. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/.gitmodules +6 -0
  417. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/History.md +57 -0
  418. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/Makefile +7 -0
  419. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/Readme.md +49 -0
  420. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/benchmark.js +17 -0
  421. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/examples.js +48 -0
  422. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/index.js +2 -0
  423. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/lib/querystring.js +236 -0
  424. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/package.json +16 -0
  425. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/test/parse.test.js +156 -0
  426. data/node_modules/jasmine-runner/node_modules/express/node_modules/qs/test/stringify.test.js +95 -0
  427. data/node_modules/jasmine-runner/node_modules/express/package.json +22 -0
  428. data/node_modules/jasmine-runner/node_modules/growl/History.md +10 -0
  429. data/node_modules/jasmine-runner/node_modules/growl/Readme.md +74 -0
  430. data/node_modules/jasmine-runner/node_modules/growl/lib/growl.js +80 -0
  431. data/node_modules/jasmine-runner/node_modules/growl/package.json +6 -0
  432. data/node_modules/jasmine-runner/node_modules/growl/seed.yml +4 -0
  433. data/node_modules/jasmine-runner/node_modules/growl/test.js +17 -0
  434. data/node_modules/jasmine-runner/node_modules/jade/.gitignore +3 -0
  435. data/node_modules/jasmine-runner/node_modules/jade/.gitmodules +21 -0
  436. data/node_modules/jasmine-runner/node_modules/jade/.npmignore +4 -0
  437. data/node_modules/jasmine-runner/node_modules/jade/CNAME +1 -0
  438. data/node_modules/jasmine-runner/node_modules/jade/History.md +163 -0
  439. data/node_modules/jasmine-runner/node_modules/jade/LICENSE +22 -0
  440. data/node_modules/jasmine-runner/node_modules/jade/Makefile +25 -0
  441. data/node_modules/jasmine-runner/node_modules/jade/Readme.md +408 -0
  442. data/node_modules/jasmine-runner/node_modules/jade/api.html +850 -0
  443. data/node_modules/jasmine-runner/node_modules/jade/bin/jade +92 -0
  444. data/node_modules/jasmine-runner/node_modules/jade/index.js +2 -0
  445. data/node_modules/jasmine-runner/node_modules/jade/lib/compiler.js +273 -0
  446. data/node_modules/jasmine-runner/node_modules/jade/lib/doctypes.js +18 -0
  447. data/node_modules/jasmine-runner/node_modules/jade/lib/filters.js +70 -0
  448. data/node_modules/jasmine-runner/node_modules/jade/lib/index.js +314 -0
  449. data/node_modules/jasmine-runner/node_modules/jade/lib/jade.js +314 -0
  450. data/node_modules/jasmine-runner/node_modules/jade/lib/lexer.js +359 -0
  451. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/block.js +29 -0
  452. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/code.js +35 -0
  453. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/comment.js +32 -0
  454. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/doctype.js +29 -0
  455. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/each.js +35 -0
  456. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/filter.js +33 -0
  457. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/index.js +16 -0
  458. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/node.js +20 -0
  459. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/tag.js +80 -0
  460. data/node_modules/jasmine-runner/node_modules/jade/lib/nodes/text.js +29 -0
  461. data/node_modules/jasmine-runner/node_modules/jade/lib/parser.js +358 -0
  462. data/node_modules/jasmine-runner/node_modules/jade/lib/self-closing.js +17 -0
  463. data/node_modules/jasmine-runner/node_modules/jade/lib/utils.js +49 -0
  464. data/node_modules/jasmine-runner/node_modules/jade/package.json +9 -0
  465. data/node_modules/jasmine-runner/node_modules/libnotify/.gitignore +2 -0
  466. data/node_modules/jasmine-runner/node_modules/libnotify/README.md +59 -0
  467. data/node_modules/jasmine-runner/node_modules/libnotify/lib/libnotify.js +72 -0
  468. data/node_modules/jasmine-runner/node_modules/libnotify/package.json +11 -0
  469. data/node_modules/jasmine-runner/node_modules/libnotify/seed.yml +5 -0
  470. data/node_modules/jasmine-runner/node_modules/libnotify/test.js +5 -0
  471. data/node_modules/jasmine-runner/node_modules/socket.io/.gitignore +8 -0
  472. data/node_modules/jasmine-runner/node_modules/socket.io/Makefile +10 -0
  473. data/node_modules/jasmine-runner/node_modules/socket.io/README.md +218 -0
  474. data/node_modules/jasmine-runner/node_modules/socket.io/example/chat.html +61 -0
  475. data/node_modules/jasmine-runner/node_modules/socket.io/example/json.js +18 -0
  476. data/node_modules/jasmine-runner/node_modules/socket.io/example/server.js +58 -0
  477. data/node_modules/jasmine-runner/node_modules/socket.io/index.js +1 -0
  478. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/client.js +191 -0
  479. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/index.js +4 -0
  480. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/listener.js +166 -0
  481. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/transports/flashsocket.js +44 -0
  482. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/transports/htmlfile.js +45 -0
  483. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/transports/jsonp-polling.js +32 -0
  484. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/transports/websocket.js +137 -0
  485. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/transports/xhr-multipart.js +63 -0
  486. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/transports/xhr-polling.js +75 -0
  487. data/node_modules/jasmine-runner/node_modules/socket.io/lib/socket.io/utils.js +52 -0
  488. data/node_modules/jasmine-runner/node_modules/socket.io/package.json +17 -0
  489. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/.gitignore +3 -0
  490. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/.gitmodules +3 -0
  491. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/History.md +97 -0
  492. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/Makefile +53 -0
  493. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/Readme.md +39 -0
  494. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/bin/expresso +837 -0
  495. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/COPYING +339 -0
  496. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/Makefile.am +81 -0
  497. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/Makefile.in +884 -0
  498. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/Readme.md +8 -0
  499. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/aclocal.m4 +872 -0
  500. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/config.guess +1526 -0
  501. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/config.h.in +92 -0
  502. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/config.rpath +666 -0
  503. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/config.sub +1658 -0
  504. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/configure +7971 -0
  505. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/configure.ac +88 -0
  506. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/depcomp +589 -0
  507. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/encoding.c +315 -0
  508. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/encoding.h +33 -0
  509. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/generate-resources.c +58 -0
  510. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/global.h +29 -0
  511. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/highlight.c +478 -0
  512. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/highlight.h +37 -0
  513. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-connection.c +192 -0
  514. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-exchange.c +494 -0
  515. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-host.c +95 -0
  516. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-message.c +900 -0
  517. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-server.c +236 -0
  518. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-server.h +208 -0
  519. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/http-url.c +156 -0
  520. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/install-sh +519 -0
  521. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/instrument-js.cpp +1873 -0
  522. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/instrument-js.h +81 -0
  523. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/instrument.c +226 -0
  524. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/instrument.h +31 -0
  525. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/GNUmakefile +15 -0
  526. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/Makefile.ref +483 -0
  527. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/README.html +54 -0
  528. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/SpiderMonkey.rsp +11 -0
  529. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/aclocal.m4 +9 -0
  530. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/bench.sh +5 -0
  531. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/builtins.tbl +98 -0
  532. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config.mk +206 -0
  533. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/Makefile.in +106 -0
  534. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/Moz/Milestone.pm +232 -0
  535. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/autoconf.mk.in +349 -0
  536. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/check-sync-dirs.py +108 -0
  537. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/check-sync-exceptions +6 -0
  538. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/config.mk +884 -0
  539. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/fastcwd.pl +66 -0
  540. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/gcc_hidden.h +2 -0
  541. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/insure.mk +53 -0
  542. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/make-system-wrappers.pl +59 -0
  543. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/milestone.pl +112 -0
  544. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/milestone.txt +13 -0
  545. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/Makefile.in +84 -0
  546. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/cppsetup.c +233 -0
  547. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/def.h +184 -0
  548. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/ifparser.c +549 -0
  549. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/ifparser.h +83 -0
  550. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/imakemdep.h +733 -0
  551. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/include.c +337 -0
  552. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/main.c +860 -0
  553. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/mkdepend.man +382 -0
  554. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/parse.c +686 -0
  555. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/mkdepend/pr.c +124 -0
  556. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/nfspwd.pl +50 -0
  557. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/nsinstall.c +481 -0
  558. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/nsinstall.py +139 -0
  559. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/pathsub.c +247 -0
  560. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/pathsub.h +74 -0
  561. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/preprocessor.pl +671 -0
  562. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/revdepth-nt.pl +48 -0
  563. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/revdepth.pl +51 -0
  564. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/rules.mk +2269 -0
  565. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/system-headers +1038 -0
  566. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/version.mk +85 -0
  567. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/config/version_win.pl +423 -0
  568. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/dtoa.c +3321 -0
  569. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/Makefile.ref +143 -0
  570. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/README +83 -0
  571. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/editline.3 +175 -0
  572. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/editline.c +1368 -0
  573. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/editline.h +135 -0
  574. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/sysunix.c +182 -0
  575. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/editline/unix.h +82 -0
  576. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/javascript-trace.d +73 -0
  577. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jitstats.tbl +52 -0
  578. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/js-config.h.in +55 -0
  579. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/js-config.in +111 -0
  580. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/js.cpp +4050 -0
  581. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/js.mdp +0 -0
  582. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/js.msg +309 -0
  583. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/js3240.rc +79 -0
  584. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsOS240.def +654 -0
  585. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsapi.cpp +6060 -0
  586. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsapi.h +2699 -0
  587. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsarena.cpp +450 -0
  588. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsarena.h +318 -0
  589. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsarray.cpp +3426 -0
  590. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsarray.h +191 -0
  591. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsatom.cpp +1064 -0
  592. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsatom.h +458 -0
  593. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsbit.h +253 -0
  594. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsbool.cpp +182 -0
  595. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsbool.h +75 -0
  596. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsbuiltins.cpp +497 -0
  597. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsbuiltins.h +374 -0
  598. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsclist.h +139 -0
  599. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jscntxt.cpp +1394 -0
  600. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jscntxt.h +1247 -0
  601. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jscompat.h +57 -0
  602. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsconfig.mk +181 -0
  603. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jscpucfg.cpp +388 -0
  604. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jscpucfg.h +212 -0
  605. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdate.cpp +2475 -0
  606. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdate.h +124 -0
  607. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdbgapi.cpp +1954 -0
  608. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdbgapi.h +500 -0
  609. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdhash.cpp +876 -0
  610. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdhash.h +588 -0
  611. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdtoa.cpp +572 -0
  612. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdtoa.h +131 -0
  613. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdtracef.c +318 -0
  614. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsdtracef.h +81 -0
  615. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsemit.cpp +6857 -0
  616. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsemit.h +777 -0
  617. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsexn.cpp +1376 -0
  618. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsexn.h +96 -0
  619. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsfile.cpp +2736 -0
  620. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsfile.h +56 -0
  621. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsfile.msg +90 -0
  622. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsfun.cpp +2706 -0
  623. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsfun.h +296 -0
  624. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsgc.cpp +3763 -0
  625. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsgc.h +427 -0
  626. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jshash.cpp +476 -0
  627. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jshash.h +151 -0
  628. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsify.pl +483 -0
  629. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsinterp.cpp +7225 -0
  630. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsinterp.h +591 -0
  631. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsinvoke.cpp +42 -0
  632. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsiter.cpp +1050 -0
  633. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsiter.h +140 -0
  634. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jskeyword.tbl +124 -0
  635. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jskwgen.cpp +460 -0
  636. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslibmath.h +69 -0
  637. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslock.cpp +1417 -0
  638. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslock.h +311 -0
  639. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslocko.asm +60 -0
  640. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslog2.cpp +94 -0
  641. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslong.cpp +264 -0
  642. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jslong.h +412 -0
  643. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsmath.cpp +721 -0
  644. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsmath.h +63 -0
  645. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsnum.cpp +1338 -0
  646. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsnum.h +287 -0
  647. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsobj.cpp +5563 -0
  648. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsobj.h +735 -0
  649. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/json.cpp +954 -0
  650. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/json.h +107 -0
  651. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsopcode.cpp +5304 -0
  652. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsopcode.h +404 -0
  653. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsopcode.tbl +557 -0
  654. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsoplengen.cpp +121 -0
  655. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsotypes.h +202 -0
  656. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsparse.cpp +6822 -0
  657. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsparse.h +508 -0
  658. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsprf.cpp +1262 -0
  659. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsprf.h +150 -0
  660. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsproto.tbl +129 -0
  661. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsprvtd.h +263 -0
  662. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jspubtd.h +727 -0
  663. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsregexp.cpp +4772 -0
  664. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsregexp.h +192 -0
  665. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsreops.tbl +145 -0
  666. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsscan.cpp +2017 -0
  667. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsscan.h +389 -0
  668. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsscope.cpp +1955 -0
  669. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsscope.h +419 -0
  670. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsscript.cpp +1891 -0
  671. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsscript.h +330 -0
  672. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsshell.msg +51 -0
  673. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsstaticcheck.h +57 -0
  674. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsstddef.h +87 -0
  675. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsstr.cpp +5347 -0
  676. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsstr.h +662 -0
  677. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jstracer.cpp +8276 -0
  678. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jstracer.h +552 -0
  679. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jstypes.h +490 -0
  680. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsutil.cpp +345 -0
  681. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsutil.h +168 -0
  682. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsversion.h +243 -0
  683. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsxdrapi.cpp +800 -0
  684. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsxdrapi.h +220 -0
  685. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsxml.cpp +8343 -0
  686. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/jsxml.h +298 -0
  687. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/lock_SunOS.s +119 -0
  688. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/plify_jsdhash.sed +35 -0
  689. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/prmjtime.cpp +846 -0
  690. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/prmjtime.h +103 -0
  691. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/AIX4.1.mk +65 -0
  692. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/AIX4.2.mk +64 -0
  693. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/AIX4.3.mk +65 -0
  694. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Cygwin.mk +14 -0
  695. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Darwin.mk +85 -0
  696. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Darwin1.3.mk +81 -0
  697. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Darwin1.4.mk +41 -0
  698. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Darwin5.2.mk +81 -0
  699. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Darwin5.3.mk +81 -0
  700. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Darwin64.mk +72 -0
  701. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/HP-UXB.10.10.mk +77 -0
  702. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/HP-UXB.10.20.mk +77 -0
  703. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/HP-UXB.11.00.mk +80 -0
  704. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/IRIX.mk +87 -0
  705. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/IRIX5.3.mk +44 -0
  706. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/IRIX6.1.mk +44 -0
  707. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/IRIX6.2.mk +44 -0
  708. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/IRIX6.3.mk +44 -0
  709. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/IRIX6.5.mk +44 -0
  710. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Linux_All.mk +105 -0
  711. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/MSYS.mk +7 -0
  712. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/Mac_OS10.0.mk +82 -0
  713. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/OSF1V4.0.mk +72 -0
  714. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/OSF1V5.0.mk +69 -0
  715. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS4.1.4.mk +101 -0
  716. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.10.mk +50 -0
  717. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.3.mk +91 -0
  718. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.4.mk +92 -0
  719. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.5.1.mk +44 -0
  720. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.5.mk +87 -0
  721. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.6.mk +89 -0
  722. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.7.mk +44 -0
  723. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.8.mk +44 -0
  724. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/SunOS5.9.mk +44 -0
  725. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/WINNT4.0.mk +118 -0
  726. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/WINNT5.0.mk +118 -0
  727. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/WINNT5.1.mk +118 -0
  728. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/WINNT5.2.mk +118 -0
  729. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/WINNT6.0.mk +118 -0
  730. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/ref-config/dgux.mk +64 -0
  731. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/resource.h +15 -0
  732. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/rules.mk +206 -0
  733. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/time.sh +13 -0
  734. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/js/win32.order +384 -0
  735. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-help.txt +12 -0
  736. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-highlight.css +38 -0
  737. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-ie.css +89 -0
  738. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-overlay.js +211 -0
  739. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-server-help.txt +17 -0
  740. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-server.1 +79 -0
  741. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-server.c +1307 -0
  742. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage-throbber.gif +0 -0
  743. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.1 +52 -0
  744. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.c +142 -0
  745. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.css +328 -0
  746. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.html +125 -0
  747. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.js +1024 -0
  748. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.jsm +22 -0
  749. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.manifest +2 -0
  750. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/jscoverage.xul +36 -0
  751. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/m4/iconv.m4 +180 -0
  752. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/m4/lib-ld.m4 +110 -0
  753. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/m4/lib-link.m4 +709 -0
  754. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/m4/lib-prefix.m4 +185 -0
  755. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/make-bin-dist.sh.in +24 -0
  756. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/make-dist.sh.in +43 -0
  757. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/missing +367 -0
  758. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/report.js +76 -0
  759. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/resource-manager.c +59 -0
  760. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/resource-manager.h +46 -0
  761. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/stream.c +129 -0
  762. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/stream.h +57 -0
  763. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/Makefile.am +130 -0
  764. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/Makefile.in +846 -0
  765. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/asprintf.c +42 -0
  766. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/asprintf.sh +19 -0
  767. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/charset.sh +110 -0
  768. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/chunked.sh +74 -0
  769. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/common.sh +7 -0
  770. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/destination-is-existing-directory.expected.err +2 -0
  771. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/destination-is-file.expected.err +2 -0
  772. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/encoding-requires-argument.expected.err +2 -0
  773. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/encodings.c +223 -0
  774. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/encodings.sh +19 -0
  775. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/exclude-requires-argument.expected.err +2 -0
  776. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/fatal.sh +110 -0
  777. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/gethostbyname.c +53 -0
  778. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/gethostbyname.sh +25 -0
  779. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/help.sh +35 -0
  780. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-client-bad-body.c +98 -0
  781. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-client-bad-url.c +77 -0
  782. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-client-close-after-request.c +57 -0
  783. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-server-bad-body.c +97 -0
  784. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-server-bad-headers.c +97 -0
  785. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-server-charset.c +144 -0
  786. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-server-chunked.c +196 -0
  787. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/http-server-close-immediately.c +60 -0
  788. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/invalid-option.expected.err +2 -0
  789. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/invalid-option.sh +29 -0
  790. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-ignore.expected/ignore.js +106 -0
  791. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-ignore.sh +28 -0
  792. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-ignore/ignore.js +44 -0
  793. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-invalid.expected.err +2 -0
  794. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-invalid/javascript-invalid.js +1 -0
  795. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-setter.expected.err +1 -0
  796. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-setter/javascript-setter.js +3 -0
  797. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-utf-8.expected/javascript-utf-8.js +15 -0
  798. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-utf-8.sh +43 -0
  799. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-utf-8/javascript-utf-8.js +2 -0
  800. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-xml.expected.err +1 -0
  801. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript-xml/javascript-xml.js +8 -0
  802. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-array-comprehension.js +32 -0
  803. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-assign.js +51 -0
  804. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-colon.js +24 -0
  805. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-comma.js +12 -0
  806. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-cr.js +12 -0
  807. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-crlf.js +12 -0
  808. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-debugger.js +21 -0
  809. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-dec.js +15 -0
  810. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-delete.js +12 -0
  811. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-destructuring.js +96 -0
  812. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-do.js +28 -0
  813. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-dot.js +30 -0
  814. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-empty.js +9 -0
  815. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-for.js +51 -0
  816. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-foreach.js +16 -0
  817. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-function.js +79 -0
  818. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-generator-expression.js +45 -0
  819. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-generator.js +32 -0
  820. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-getter-setter.js +31 -0
  821. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-hook.js +15 -0
  822. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-if.js +71 -0
  823. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-in.js +19 -0
  824. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-inc.js +15 -0
  825. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-iso-8859-1.js +15 -0
  826. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-lambda.js +14 -0
  827. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-let.js +148 -0
  828. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-lf.js +12 -0
  829. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-new.js +22 -0
  830. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-number.js +57 -0
  831. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-object.js +15 -0
  832. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-op.js +108 -0
  833. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-primary.js +21 -0
  834. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-rb.js +24 -0
  835. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-rc.js +15 -0
  836. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-rp.js +12 -0
  837. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-special-characters.js +30 -0
  838. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-string.js +36 -0
  839. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-switch.js +55 -0
  840. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-throw.js +21 -0
  841. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-try.js +66 -0
  842. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-unaryop.js +27 -0
  843. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-var.js +15 -0
  844. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-while.js +79 -0
  845. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.expected/javascript-with.js +30 -0
  846. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript.sh +53 -0
  847. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-array-comprehension.js +14 -0
  848. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-assign.js +14 -0
  849. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-colon.js +7 -0
  850. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-comma.js +1 -0
  851. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-cr.js +1 -0
  852. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-crlf.js +4 -0
  853. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-debugger.js +6 -0
  854. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-dec.js +2 -0
  855. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-delete.js +1 -0
  856. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-destructuring.js +42 -0
  857. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-do.js +10 -0
  858. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-dot.js +8 -0
  859. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-empty.js +0 -0
  860. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-for.js +22 -0
  861. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-foreach.js +8 -0
  862. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-function.js +38 -0
  863. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-generator-expression.js +18 -0
  864. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-generator.js +11 -0
  865. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-getter-setter.js +19 -0
  866. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-hook.js +2 -0
  867. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-if.js +30 -0
  868. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-in.js +4 -0
  869. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-inc.js +2 -0
  870. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-iso-8859-1.js +2 -0
  871. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-lambda.js +3 -0
  872. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-let.js +79 -0
  873. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-lf.js +4 -0
  874. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-new.js +4 -0
  875. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-number.js +19 -0
  876. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-object.js +2 -0
  877. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-op.js +55 -0
  878. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-primary.js +4 -0
  879. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-rb.js +5 -0
  880. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-rc.js +7 -0
  881. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-rp.js +1 -0
  882. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-special-characters.js +11 -0
  883. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-string.js +11 -0
  884. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-switch.js +21 -0
  885. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-throw.js +6 -0
  886. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-try.js +32 -0
  887. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-unaryop.js +6 -0
  888. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-var.js +2 -0
  889. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-while.js +35 -0
  890. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/javascript/javascript-with.js +9 -0
  891. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/json-cmp.js +65 -0
  892. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/json.c +48 -0
  893. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/json.sh +19 -0
  894. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/mkdirs.c +42 -0
  895. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/mkdirs.sh +19 -0
  896. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/netcat.pl +35 -0
  897. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/no-arguments.expected.err +2 -0
  898. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/no-arguments.sh +29 -0
  899. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/no-instrument-requires-argument.expected.err +2 -0
  900. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-bad-request-body.sh +58 -0
  901. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-bad-response-body-javascript.sh +53 -0
  902. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-bad-response-body.expected.err +1 -0
  903. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-bad-response-body.sh +54 -0
  904. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-bad-response-headers.sh +53 -0
  905. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-no-server.sh +49 -0
  906. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy-url.sh +67 -0
  907. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/proxy.sh +143 -0
  908. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive-crlf.sh +59 -0
  909. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive-dir-list.c +93 -0
  910. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive-dir-list.sh +19 -0
  911. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive-exclude.sh +41 -0
  912. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive-fatal.sh +40 -0
  913. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive-no-instrument.sh +41 -0
  914. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/1/1.css +3 -0
  915. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/1/1.html +12 -0
  916. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/1/1.js +12 -0
  917. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/1/2/2.css +3 -0
  918. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/1/2/2.html +11 -0
  919. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/1/2/2.js +12 -0
  920. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/image.png +0 -0
  921. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/index.html +12 -0
  922. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/script.js +19 -0
  923. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/style.css +3 -0
  924. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/unix.txt +3 -0
  925. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/windows.txt +3 -0
  926. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.expected/x +1 -0
  927. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive.sh +55 -0
  928. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/1/1.css +3 -0
  929. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/1/1.html +12 -0
  930. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/1/1.js +1 -0
  931. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/1/2/2.css +3 -0
  932. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/1/2/2.html +11 -0
  933. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/1/2/2.js +1 -0
  934. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/image.png +0 -0
  935. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/index.html +12 -0
  936. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/script.js +6 -0
  937. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/style.css +3 -0
  938. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/unix.txt +3 -0
  939. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/windows.txt +3 -0
  940. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/recursive/x +1 -0
  941. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/same-directory.expected.err +1 -0
  942. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/same-directory.sh +30 -0
  943. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-bad-requests.sh +104 -0
  944. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-close-after-request.sh +47 -0
  945. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-content-types.sh +68 -0
  946. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-directory-listing.expected +4 -0
  947. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-directory-listing.sh +57 -0
  948. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-directory-redirect.sh +50 -0
  949. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-encoded-url.sh +57 -0
  950. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-error.sh +61 -0
  951. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-help.sh +26 -0
  952. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-ip-address.sh +68 -0
  953. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-shutdown-bad-method.sh +49 -0
  954. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-shutdown.expected.err +1 -0
  955. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-shutdown.sh +42 -0
  956. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-special-file.sh +62 -0
  957. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-unreadable-directory.sh +61 -0
  958. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-unreadable-file.sh +62 -0
  959. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-verbose.expected.err +4 -0
  960. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-verbose.sh +54 -0
  961. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server-version.sh +25 -0
  962. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server.pl +61 -0
  963. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/server.sh +216 -0
  964. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/source-does-not-exist.expected.err +2 -0
  965. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/source-is-file.expected.err +2 -0
  966. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-bad-json.sh +50 -0
  967. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-bad-request-body.sh +48 -0
  968. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-bad-response-headers.sh +56 -0
  969. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-bad-source-urls.expected.err +3 -0
  970. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-bad-source-urls.expected.json +14 -0
  971. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-escaped-characters.expected.json +6 -0
  972. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-escaped-characters.js +11 -0
  973. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-escaped-characters.json +3 -0
  974. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-escaped-characters.sh +52 -0
  975. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-server-bad-body.sh +59 -0
  976. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-server-closes-immediately.sh +58 -0
  977. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-source-not-found.expected.err +1 -0
  978. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-source-not-found.expected.json +6 -0
  979. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-source-not-found.json +3 -0
  980. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-source-not-found.sh +50 -0
  981. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-source-urls.expected.err +3 -0
  982. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-source-urls.expected.json +14 -0
  983. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-unreachable-source-urls.expected.err +3 -0
  984. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-unreachable-source-urls.expected.json +14 -0
  985. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-unreadable-json.sh +66 -0
  986. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store-unwritable-json.sh +58 -0
  987. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store.expected.json +14 -0
  988. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store.json +5 -0
  989. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/store.sh +137 -0
  990. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/streams.c +107 -0
  991. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/streams.sh +19 -0
  992. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/too-many-arguments.expected.err +2 -0
  993. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/valgrind.sh +7 -0
  994. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/tests/version.sh +29 -0
  995. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/util.c +570 -0
  996. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/deps/jscoverage/util.h +133 -0
  997. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/docs/api.html +1048 -0
  998. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/docs/index.html +373 -0
  999. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/docs/index.md +290 -0
  1000. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/docs/layout/foot.html +3 -0
  1001. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/docs/layout/head.html +42 -0
  1002. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/lib/bar.js +4 -0
  1003. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/lib/foo.js +16 -0
  1004. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/package.json +12 -0
  1005. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/assert.test.js +84 -0
  1006. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/async.test.js +6 -0
  1007. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/bar.test.js +12 -0
  1008. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/foo.test.js +13 -0
  1009. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/http.test.js +82 -0
  1010. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/serial/async.test.js +38 -0
  1011. data/node_modules/jasmine-runner/node_modules/socket.io/support/expresso/test/serial/http.test.js +47 -0
  1012. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/LICENSE +27 -0
  1013. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/Makefile +8 -0
  1014. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/README.md +41 -0
  1015. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/examples/client-unix.js +12 -0
  1016. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/examples/client.js +10 -0
  1017. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/examples/server-unix.js +13 -0
  1018. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/lib/websocket.js +562 -0
  1019. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/package.json +22 -0
  1020. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/test/test-basic.js +63 -0
  1021. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js +44 -0
  1022. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/test/test-ready-state.js +23 -0
  1023. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/test/test-unix-send-fd.js +63 -0
  1024. data/node_modules/jasmine-runner/node_modules/socket.io/support/node-websocket-client/test/test-unix-sockets.js +46 -0
  1025. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/.gitignore +1 -0
  1026. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/.gitmodules +3 -0
  1027. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/Makefile +2 -0
  1028. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/README.md +213 -0
  1029. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/io.js +24 -0
  1030. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/socket.js +157 -0
  1031. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transport.js +141 -0
  1032. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/flashsocket.js +53 -0
  1033. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/htmlfile.js +73 -0
  1034. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/jsonp-polling.js +116 -0
  1035. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/websocket.js +60 -0
  1036. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/xhr-multipart.js +36 -0
  1037. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/xhr-polling.js +68 -0
  1038. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/transports/xhr.js +131 -0
  1039. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/util.js +60 -0
  1040. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/.gitignore +1 -0
  1041. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/FABridge.js +604 -0
  1042. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/README.txt +109 -0
  1043. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf +0 -0
  1044. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zip +0 -0
  1045. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocket.as +461 -0
  1046. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMain.as +94 -0
  1047. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as +19 -0
  1048. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketStateEvent.as +32 -0
  1049. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/bridge/FABridge.as +943 -0
  1050. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/build.sh +10 -0
  1051. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as +204 -0
  1052. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/gsolo/encryption/MD5.as +375 -0
  1053. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/Crypto.as +287 -0
  1054. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/MozillaRootCertificates.as +3235 -0
  1055. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509Certificate.as +218 -0
  1056. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509CertificateCollection.as +57 -0
  1057. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/HMAC.as +82 -0
  1058. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as +27 -0
  1059. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as +21 -0
  1060. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MAC.as +137 -0
  1061. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD2.as +124 -0
  1062. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD5.as +204 -0
  1063. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA1.as +106 -0
  1064. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as +28 -0
  1065. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA256.as +115 -0
  1066. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHABase.as +71 -0
  1067. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/ARC4.as +90 -0
  1068. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as +20 -0
  1069. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/Random.as +119 -0
  1070. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/TLSPRF.as +142 -0
  1071. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as +339 -0
  1072. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/AESKey.as +2797 -0
  1073. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/BlowFishKey.as +375 -0
  1074. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CBCMode.as +55 -0
  1075. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFB8Mode.as +61 -0
  1076. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFBMode.as +64 -0
  1077. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CTRMode.as +58 -0
  1078. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/DESKey.as +365 -0
  1079. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as +86 -0
  1080. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as +21 -0
  1081. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as +15 -0
  1082. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as +32 -0
  1083. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as +21 -0
  1084. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as +35 -0
  1085. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as +110 -0
  1086. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as +34 -0
  1087. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/OFBMode.as +52 -0
  1088. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as +44 -0
  1089. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SSLPad.as +44 -0
  1090. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SimpleIVMode.as +60 -0
  1091. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TLSPad.as +42 -0
  1092. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TripleDESKey.as +88 -0
  1093. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/XTeaKey.as +94 -0
  1094. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl +29 -0
  1095. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/dump.txt +2304 -0
  1096. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/AESKeyTest.as +1220 -0
  1097. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ARC4Test.as +58 -0
  1098. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as +39 -0
  1099. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BlowFishKeyTest.as +148 -0
  1100. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CBCModeTest.as +160 -0
  1101. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFB8ModeTest.as +71 -0
  1102. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFBModeTest.as +98 -0
  1103. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CTRModeTest.as +109 -0
  1104. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/DESKeyTest.as +112 -0
  1105. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ECBModeTest.as +151 -0
  1106. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/HMACTest.as +184 -0
  1107. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as +20 -0
  1108. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD2Test.as +56 -0
  1109. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD5Test.as +58 -0
  1110. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/OFBModeTest.as +101 -0
  1111. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/RSAKeyTest.as +92 -0
  1112. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA1Test.as +198 -0
  1113. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as +58 -0
  1114. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA256Test.as +60 -0
  1115. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TLSPRFTest.as +51 -0
  1116. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as +42 -0
  1117. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TripleDESKeyTest.as +59 -0
  1118. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as +66 -0
  1119. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/BulkCiphers.as +102 -0
  1120. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/CipherSuites.as +117 -0
  1121. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as +14 -0
  1122. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as +29 -0
  1123. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as +24 -0
  1124. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as +38 -0
  1125. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLConnectionState.as +171 -0
  1126. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as +26 -0
  1127. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLSecurityParameters.as +340 -0
  1128. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as +70 -0
  1129. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConnectionState.as +151 -0
  1130. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEngine.as +895 -0
  1131. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSError.as +39 -0
  1132. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as +27 -0
  1133. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSecurityParameters.as +197 -0
  1134. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocket.as +370 -0
  1135. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as +26 -0
  1136. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSTest.as +180 -0
  1137. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/BarrettReduction.as +90 -0
  1138. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/BigInteger.as +1543 -0
  1139. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as +35 -0
  1140. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as +11 -0
  1141. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/MontgomeryReduction.as +85 -0
  1142. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as +34 -0
  1143. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as +11 -0
  1144. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as +25 -0
  1145. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Base64.as +189 -0
  1146. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Hex.as +66 -0
  1147. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Memory.as +28 -0
  1148. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ByteString.as +43 -0
  1149. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/DER.as +210 -0
  1150. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/IAsn1Type.as +21 -0
  1151. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Integer.as +44 -0
  1152. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/OID.as +35 -0
  1153. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as +112 -0
  1154. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PEM.as +118 -0
  1155. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PrintableString.as +49 -0
  1156. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Sequence.as +90 -0
  1157. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Set.as +27 -0
  1158. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Type.as +94 -0
  1159. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/UTCTime.as +60 -0
  1160. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/sample.html +76 -0
  1161. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/swfobject.js +4 -0
  1162. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/lib/vendor/web-socket-js/web_socket.js +388 -0
  1163. data/node_modules/jasmine-runner/node_modules/socket.io/support/socket.io-client/socket.io.js +1918 -0
  1164. data/node_modules/jasmine-runner/node_modules/socket.io/tests/index.js +17 -0
  1165. data/node_modules/jasmine-runner/node_modules/socket.io/tests/listener.js +152 -0
  1166. data/node_modules/jasmine-runner/node_modules/socket.io/tests/transports.flashsocket.js +48 -0
  1167. data/node_modules/jasmine-runner/node_modules/socket.io/tests/transports.htmlfile.js +214 -0
  1168. data/node_modules/jasmine-runner/node_modules/socket.io/tests/transports.jsonp-polling.js +148 -0
  1169. data/node_modules/jasmine-runner/node_modules/socket.io/tests/transports.websocket.js +245 -0
  1170. data/node_modules/jasmine-runner/node_modules/socket.io/tests/transports.xhr-multipart.js +215 -0
  1171. data/node_modules/jasmine-runner/node_modules/socket.io/tests/transports.xhr-polling.js +138 -0
  1172. data/node_modules/jasmine-runner/node_modules/socket.io/tests/utils.js +25 -0
  1173. data/node_modules/jasmine-runner/node_modules/vows/LICENSE +20 -0
  1174. data/node_modules/jasmine-runner/node_modules/vows/Makefile +7 -0
  1175. data/node_modules/jasmine-runner/node_modules/vows/README.md +39 -0
  1176. data/node_modules/jasmine-runner/node_modules/vows/bin/vows +421 -0
  1177. data/node_modules/jasmine-runner/node_modules/vows/lib/assert/error.js +27 -0
  1178. data/node_modules/jasmine-runner/node_modules/vows/lib/assert/macros.js +180 -0
  1179. data/node_modules/jasmine-runner/node_modules/vows/lib/vows.js +195 -0
  1180. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/console.js +93 -0
  1181. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/context.js +55 -0
  1182. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/extras.js +28 -0
  1183. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/reporters/dot-matrix.js +69 -0
  1184. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/reporters/json.js +10 -0
  1185. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/reporters/silent.js +8 -0
  1186. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/reporters/spec.js +74 -0
  1187. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/reporters/watch.js +38 -0
  1188. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/reporters/xunit.js +90 -0
  1189. data/node_modules/jasmine-runner/node_modules/vows/lib/vows/suite.js +321 -0
  1190. data/node_modules/jasmine-runner/node_modules/vows/package.json +14 -0
  1191. data/node_modules/jasmine-runner/node_modules/vows/test/assert-test.js +101 -0
  1192. data/node_modules/jasmine-runner/node_modules/vows/test/vows-test.js +373 -0
  1193. data/node_modules/jasmine-runner/node_modules/webworker/.gitignore +2 -0
  1194. data/node_modules/jasmine-runner/node_modules/webworker/LICENSE +27 -0
  1195. data/node_modules/jasmine-runner/node_modules/webworker/Makefile +15 -0
  1196. data/node_modules/jasmine-runner/node_modules/webworker/README.md +74 -0
  1197. data/node_modules/jasmine-runner/node_modules/webworker/docs/design.md +103 -0
  1198. data/node_modules/jasmine-runner/node_modules/webworker/examples/prefork/README.md +1 -0
  1199. data/node_modules/jasmine-runner/node_modules/webworker/examples/prefork/master.js +12 -0
  1200. data/node_modules/jasmine-runner/node_modules/webworker/examples/prefork/worker.js +20 -0
  1201. data/node_modules/jasmine-runner/node_modules/webworker/lib/webworker-child.js +173 -0
  1202. data/node_modules/jasmine-runner/node_modules/webworker/lib/webworker-util.js +185 -0
  1203. data/node_modules/jasmine-runner/node_modules/webworker/lib/webworker.js +304 -0
  1204. data/node_modules/jasmine-runner/node_modules/webworker/lib/ws.js +118 -0
  1205. data/node_modules/jasmine-runner/node_modules/webworker/lib/ws/connection.js +408 -0
  1206. data/node_modules/jasmine-runner/node_modules/webworker/lib/ws/manager.js +98 -0
  1207. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/LICENSE +27 -0
  1208. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/Makefile +8 -0
  1209. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/README.md +41 -0
  1210. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/examples/client-unix.js +12 -0
  1211. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/examples/client.js +10 -0
  1212. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/examples/server-unix.js +13 -0
  1213. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/lib/websocket.js +516 -0
  1214. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/package.json +22 -0
  1215. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/test/test-basic.js +63 -0
  1216. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/test/test-readonly-attrs.js +44 -0
  1217. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/test/test-ready-state.js +23 -0
  1218. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/test/test-unix-send-fd.js +63 -0
  1219. data/node_modules/jasmine-runner/node_modules/webworker/node_modules/websocket-client/test/test-unix-sockets.js +46 -0
  1220. data/node_modules/jasmine-runner/node_modules/webworker/package.json +25 -0
  1221. data/node_modules/jasmine-runner/node_modules/webworker/test/test-error.js +24 -0
  1222. data/node_modules/jasmine-runner/node_modules/webworker/test/test-fd.js +32 -0
  1223. data/node_modules/jasmine-runner/node_modules/webworker/test/test-simple.js +36 -0
  1224. data/node_modules/jasmine-runner/node_modules/webworker/test/workers/error.js +6 -0
  1225. data/node_modules/jasmine-runner/node_modules/webworker/test/workers/fd.js +17 -0
  1226. data/node_modules/jasmine-runner/node_modules/webworker/test/workers/simple.js +15 -0
  1227. data/node_modules/jasmine-runner/package.json +22 -0
  1228. data/node_modules/jasmine-runner/spec/ConsoleLoggerSpec.js +1 -0
  1229. data/node_modules/jasmine-runner/spec/ServerSpec.js +42 -0
  1230. data/node_modules/jasmine-runner/spec/TestRunner.js +72 -0
  1231. data/node_modules/jasmine-runner/spec/file.worker +8 -0
  1232. data/node_modules/jasmine-runner/spec/temp/spec/foo.spec.js +0 -0
  1233. data/node_modules/jasmine-runner/spec/temp/src/foo.hs +1 -0
  1234. data/node_modules/uglify-js/.gitignore +4 -0
  1235. data/node_modules/uglify-js/README.html +1026 -0
  1236. data/node_modules/uglify-js/README.org +571 -0
  1237. data/node_modules/uglify-js/bin/uglifyjs +317 -0
  1238. data/node_modules/uglify-js/docstyle.css +75 -0
  1239. data/node_modules/uglify-js/lib/object-ast.js +75 -0
  1240. data/node_modules/uglify-js/lib/parse-js.js +1339 -0
  1241. data/node_modules/uglify-js/lib/process.js +2001 -0
  1242. data/node_modules/uglify-js/lib/squeeze-more.js +51 -0
  1243. data/node_modules/uglify-js/package.json +24 -0
  1244. data/node_modules/uglify-js/package.json~ +24 -0
  1245. data/node_modules/uglify-js/test/beautify.js +28 -0
  1246. data/node_modules/uglify-js/test/testparser.js +403 -0
  1247. data/node_modules/uglify-js/test/unit/compress/expected/array1.js +1 -0
  1248. data/node_modules/uglify-js/test/unit/compress/expected/array2.js +1 -0
  1249. data/node_modules/uglify-js/test/unit/compress/expected/array3.js +1 -0
  1250. data/node_modules/uglify-js/test/unit/compress/expected/array4.js +1 -0
  1251. data/node_modules/uglify-js/test/unit/compress/expected/assignment.js +1 -0
  1252. data/node_modules/uglify-js/test/unit/compress/expected/concatstring.js +1 -0
  1253. data/node_modules/uglify-js/test/unit/compress/expected/const.js +1 -0
  1254. data/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js +1 -0
  1255. data/node_modules/uglify-js/test/unit/compress/expected/forstatement.js +1 -0
  1256. data/node_modules/uglify-js/test/unit/compress/expected/if.js +1 -0
  1257. data/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js +1 -0
  1258. data/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js +1 -0
  1259. data/node_modules/uglify-js/test/unit/compress/expected/issue10.js +1 -0
  1260. data/node_modules/uglify-js/test/unit/compress/expected/issue11.js +1 -0
  1261. data/node_modules/uglify-js/test/unit/compress/expected/issue13.js +1 -0
  1262. data/node_modules/uglify-js/test/unit/compress/expected/issue14.js +1 -0
  1263. data/node_modules/uglify-js/test/unit/compress/expected/issue16.js +1 -0
  1264. data/node_modules/uglify-js/test/unit/compress/expected/issue17.js +1 -0
  1265. data/node_modules/uglify-js/test/unit/compress/expected/issue20.js +1 -0
  1266. data/node_modules/uglify-js/test/unit/compress/expected/issue21.js +1 -0
  1267. data/node_modules/uglify-js/test/unit/compress/expected/issue25.js +1 -0
  1268. data/node_modules/uglify-js/test/unit/compress/expected/issue27.js +1 -0
  1269. data/node_modules/uglify-js/test/unit/compress/expected/issue28.js +1 -0
  1270. data/node_modules/uglify-js/test/unit/compress/expected/issue29.js +1 -0
  1271. data/node_modules/uglify-js/test/unit/compress/expected/issue30.js +1 -0
  1272. data/node_modules/uglify-js/test/unit/compress/expected/issue34.js +1 -0
  1273. data/node_modules/uglify-js/test/unit/compress/expected/issue4.js +1 -0
  1274. data/node_modules/uglify-js/test/unit/compress/expected/issue48.js +1 -0
  1275. data/node_modules/uglify-js/test/unit/compress/expected/issue50.js +1 -0
  1276. data/node_modules/uglify-js/test/unit/compress/expected/issue53.js +1 -0
  1277. data/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js +1 -0
  1278. data/node_modules/uglify-js/test/unit/compress/expected/issue68.js +1 -0
  1279. data/node_modules/uglify-js/test/unit/compress/expected/issue69.js +1 -0
  1280. data/node_modules/uglify-js/test/unit/compress/expected/issue9.js +1 -0
  1281. data/node_modules/uglify-js/test/unit/compress/expected/mangle.js +1 -0
  1282. data/node_modules/uglify-js/test/unit/compress/expected/null_string.js +1 -0
  1283. data/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js +1 -0
  1284. data/node_modules/uglify-js/test/unit/compress/expected/var.js +1 -0
  1285. data/node_modules/uglify-js/test/unit/compress/expected/whitespace.js +1 -0
  1286. data/node_modules/uglify-js/test/unit/compress/expected/with.js +1 -0
  1287. data/node_modules/uglify-js/test/unit/compress/test/array1.js +3 -0
  1288. data/node_modules/uglify-js/test/unit/compress/test/array2.js +4 -0
  1289. data/node_modules/uglify-js/test/unit/compress/test/array3.js +4 -0
  1290. data/node_modules/uglify-js/test/unit/compress/test/array4.js +6 -0
  1291. data/node_modules/uglify-js/test/unit/compress/test/assignment.js +20 -0
  1292. data/node_modules/uglify-js/test/unit/compress/test/concatstring.js +3 -0
  1293. data/node_modules/uglify-js/test/unit/compress/test/const.js +5 -0
  1294. data/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js +4 -0
  1295. data/node_modules/uglify-js/test/unit/compress/test/forstatement.js +10 -0
  1296. data/node_modules/uglify-js/test/unit/compress/test/if.js +6 -0
  1297. data/node_modules/uglify-js/test/unit/compress/test/ifreturn.js +9 -0
  1298. data/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js +16 -0
  1299. data/node_modules/uglify-js/test/unit/compress/test/issue10.js +1 -0
  1300. data/node_modules/uglify-js/test/unit/compress/test/issue11.js +3 -0
  1301. data/node_modules/uglify-js/test/unit/compress/test/issue13.js +1 -0
  1302. data/node_modules/uglify-js/test/unit/compress/test/issue14.js +1 -0
  1303. data/node_modules/uglify-js/test/unit/compress/test/issue16.js +1 -0
  1304. data/node_modules/uglify-js/test/unit/compress/test/issue17.js +4 -0
  1305. data/node_modules/uglify-js/test/unit/compress/test/issue20.js +1 -0
  1306. data/node_modules/uglify-js/test/unit/compress/test/issue21.js +6 -0
  1307. data/node_modules/uglify-js/test/unit/compress/test/issue25.js +7 -0
  1308. data/node_modules/uglify-js/test/unit/compress/test/issue27.js +1 -0
  1309. data/node_modules/uglify-js/test/unit/compress/test/issue28.js +3 -0
  1310. data/node_modules/uglify-js/test/unit/compress/test/issue29.js +1 -0
  1311. data/node_modules/uglify-js/test/unit/compress/test/issue30.js +3 -0
  1312. data/node_modules/uglify-js/test/unit/compress/test/issue34.js +3 -0
  1313. data/node_modules/uglify-js/test/unit/compress/test/issue4.js +3 -0
  1314. data/node_modules/uglify-js/test/unit/compress/test/issue48.js +1 -0
  1315. data/node_modules/uglify-js/test/unit/compress/test/issue50.js +9 -0
  1316. data/node_modules/uglify-js/test/unit/compress/test/issue53.js +1 -0
  1317. data/node_modules/uglify-js/test/unit/compress/test/issue54.1.js +3 -0
  1318. data/node_modules/uglify-js/test/unit/compress/test/issue68.js +5 -0
  1319. data/node_modules/uglify-js/test/unit/compress/test/issue69.js +1 -0
  1320. data/node_modules/uglify-js/test/unit/compress/test/issue9.js +4 -0
  1321. data/node_modules/uglify-js/test/unit/compress/test/mangle.js +5 -0
  1322. data/node_modules/uglify-js/test/unit/compress/test/null_string.js +1 -0
  1323. data/node_modules/uglify-js/test/unit/compress/test/strict-equals.js +3 -0
  1324. data/node_modules/uglify-js/test/unit/compress/test/var.js +3 -0
  1325. data/node_modules/uglify-js/test/unit/compress/test/whitespace.js +21 -0
  1326. data/node_modules/uglify-js/test/unit/compress/test/with.js +2 -0
  1327. data/node_modules/uglify-js/test/unit/scripts.js +55 -0
  1328. data/node_modules/uglify-js/uglify-js.js +17 -0
  1329. data/node_modules/uglifycss/README.md +21 -0
  1330. data/node_modules/uglifycss/index.js +26 -0
  1331. data/node_modules/uglifycss/package.json +15 -0
  1332. data/node_modules/uglifycss/test.js +43 -0
  1333. data/node_modules/uglifycss/tests.yui.js +42 -0
  1334. data/node_modules/uglifycss/uglifycss +127 -0
  1335. data/node_modules/uglifycss/uglifycss-lib.js +461 -0
  1336. metadata +1383 -0
@@ -0,0 +1,10 @@
1
+ .DS_Store
2
+ .idea
3
+ *.iml
4
+ *.ipr
5
+ *.iws
6
+ *.tmproj
7
+ .project
8
+ .settings
9
+ .externalToolBuilders
10
+ *.swp
@@ -0,0 +1,22 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2010 Adam Abrons and Misko Hevery http://getangular.com
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
22
+
@@ -0,0 +1,35 @@
1
+ jasmine-node
2
+ ======
3
+
4
+ This node.js module makes the wonderful Pivotal Lab's jasmine
5
+ (http://github.com/pivotal/jasmine) spec framework available in
6
+ node.js.
7
+
8
+ usage
9
+ ------
10
+
11
+ Write the specifications for your code in *.js and *.coffee files in the
12
+ spec/ directory (note: your specification files must end with either
13
+ .spec.js or .spec.coffee; otherwise jasmine-node won't find them!). You
14
+ can use sub-directories to better organise your specs.
15
+
16
+ If you have installed the npm package, you can run it with:
17
+
18
+ jasmine-node
19
+
20
+ If you aren't using npm, you should add `pwd`/lib to the $NODE_PATH
21
+ environment variable, then run:
22
+
23
+ node lib/jasmine-node/cli.js
24
+
25
+
26
+ You can supply the following arguments:
27
+
28
+ * <code>--coffee</code>, allow execution of .coffee specs
29
+ * <code>--color</code>, indicates spec output should uses color to
30
+ indicates passing (green) or failing (red) specs
31
+ * <code>--noColor</code>, do not use color in the output
32
+ * <code>--verbose</code>, verbose output as the specs are run
33
+ * <code>--junitreport</code>, export tests results as junitreport xml format'
34
+
35
+ Checkout spec/SampleSpecs.js to see how to use it.
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+
3
+ if( !process.env.NODE_ENV ) process.env.NODE_ENV = 'test';
4
+
5
+ var path = require('path');
6
+ var fs = require('fs');
7
+ require(path.join(__dirname,'../lib/jasmine-node/cli.js'));
@@ -0,0 +1,110 @@
1
+ var jasmine = require('./index');
2
+ var sys = require('sys'),
3
+ Path= require('path');
4
+
5
+ var specFolder = null;
6
+
7
+ for (var key in jasmine)
8
+ global[key] = jasmine[key];
9
+
10
+ var isVerbose = false;
11
+ var showColors = true;
12
+ var teamcity = process.env.TEAMCITY_PROJECT_NAME || false;
13
+ var extentions = "js";
14
+ var match = '.'
15
+
16
+ var junitreport = {
17
+ report: false,
18
+ savePath : "./reports/",
19
+ useDotNotation: true,
20
+ consolidate: true
21
+ }
22
+
23
+ var args = process.argv.slice(2);
24
+
25
+ while(args.length) {
26
+ var arg = args.shift();
27
+
28
+ switch(arg)
29
+ {
30
+ case '--color':
31
+ showColors = true;
32
+ break;
33
+ case '--noColor':
34
+ case '--nocolor':
35
+ showColors = false;
36
+ break;
37
+ case '--verbose':
38
+ isVerbose = true;
39
+ break;
40
+ case '--coffee':
41
+ require('coffee-script');
42
+ extentions = "js|coffee";
43
+ break;
44
+ case '-m':
45
+ case '--match':
46
+ match = args.shift();
47
+ break;
48
+ case '-i':
49
+ case '--include':
50
+ var dir = args.shift();
51
+
52
+ if(!Path.existsSync(dir))
53
+ throw new Error("Include path '" + dir + "' doesn't exist!");
54
+
55
+ require.paths.unshift(dir);
56
+ break;
57
+ case '--junitreport':
58
+ junitreport.report = true;
59
+ break;
60
+ case '--teamcity':
61
+ teamcity = true;
62
+ break;
63
+ default:
64
+ if (arg.match(/^--/)) help();
65
+ specFolder = Path.join(process.cwd(), arg);
66
+ break;
67
+ }
68
+ }
69
+
70
+ if (!specFolder) {
71
+ help();
72
+ }
73
+
74
+ var exitCode = 0;
75
+
76
+ process.on("exit", onExit);
77
+
78
+ function onExit() {
79
+ process.removeListener("exit", onExit);
80
+ process.exit(exitCode);
81
+ }
82
+
83
+ jasmine.loadHelpersInFolder(specFolder, new RegExp("[-_]helper\\.(" + extentions + ")$"));
84
+ jasmine.executeSpecsInFolder(specFolder, function(runner, log){
85
+ sys.print('\n');
86
+ if (runner.results().failedCount == 0) {
87
+ exitCode = 0;
88
+ } else {
89
+ exitCode = 1;
90
+ }
91
+ }, isVerbose, showColors, teamcity, new RegExp(match + "spec\\.(" + extentions + ")$", 'i'), junitreport);
92
+
93
+ function help(){
94
+ sys.print([
95
+ 'USAGE: jasmine-node [--color|--noColor] [--verbose] [--coffee] directory'
96
+ , ''
97
+ , 'Options:'
98
+ , ' --color - use color coding for output'
99
+ , ' --noColor - do not use color coding for output'
100
+ , ' -m, --match REGEXP - load only specs containing "REGEXPspec"'
101
+ , ' -i, --include DIR - add given directory to node include paths'
102
+ , ' --verbose - print extra information per each test run'
103
+ , ' --coffee - load coffee-script which allows execution .coffee files'
104
+ , ' --junitreport - export tests results as junitreport xml format'
105
+ , ' --teamcity - converts all console output to teamcity custom test runner commands. (Normally auto detected.)'
106
+ , ''
107
+ ].join("\n"));
108
+
109
+ process.exit(-1);
110
+ }
@@ -0,0 +1,171 @@
1
+ var fs = require('fs');
2
+ var sys = require('sys');
3
+ var path = require('path');
4
+
5
+ var filename = __dirname + '/jasmine-2.0.0.rc1.js';
6
+ global.window = {
7
+ setTimeout: setTimeout,
8
+ clearTimeout: clearTimeout,
9
+ setInterval: setInterval,
10
+ clearInterval: clearInterval
11
+ };
12
+
13
+ var src = fs.readFileSync(filename);
14
+ var jasmine;
15
+ var minorVersion = process.version.match(/\d\.(\d)\.\d/)[1];
16
+ switch (minorVersion) {
17
+ case "1":
18
+ case "2":
19
+ jasmine = process.compile(src + '\njasmine;', filename);
20
+ break;
21
+ default:
22
+ jasmine = require('vm').runInThisContext(src + "\njasmine;", filename);
23
+ }
24
+
25
+ delete global.window;
26
+ require("jasmine-reporters");
27
+
28
+ var TerminalReporter = require('./reporter').TerminalReporter;
29
+
30
+ jasmine.loadHelpersInFolder=function(folder, matcher)
31
+ {
32
+ var helpers = [];
33
+
34
+ if(fs.statSync(folder).isDirectory()) {
35
+ helpers = jasmine.getAllSpecFiles(folder, matcher);
36
+ } else {
37
+ folder = path.dirname(folder);
38
+ helpers = jasmine.getAllSpecFiles(folder, matcher);
39
+ }
40
+
41
+ for (var i = 0, len = helpers.length; i < len; ++i)
42
+ {
43
+ var filename = helpers[i];
44
+ var helper= require(filename.replace(/\.*$/, ""));
45
+ for (var key in helper)
46
+ global[key]= helper[key];
47
+ }
48
+ };
49
+
50
+ function removeJasmineFrames(text) {
51
+ var lines = [];
52
+ text.split(/\n/).forEach(function(line){
53
+ if (line.indexOf(filename) == -1) {
54
+ lines.push(line);
55
+ }
56
+ });
57
+ return lines.join('\n');
58
+ }
59
+
60
+ jasmine.executeSpecsInFolder = function(folder, done, isVerbose, showColors, teamcity, matcher, junitreport){
61
+ var fileMatcher = matcher || new RegExp(".(js)$", "i");
62
+ var colors = showColors || false;
63
+ var specs = [];
64
+
65
+ if (fs.statSync(folder).isDirectory()) {
66
+ specs = jasmine.getAllSpecFiles(folder, fileMatcher);
67
+ } else {
68
+ specs.push(folder);
69
+ }
70
+
71
+ for (var i = 0, len = specs.length; i < len; ++i){
72
+ var filename = specs[i];
73
+ require(filename.replace(/\.\w+$/, ""));
74
+ }
75
+
76
+ var jasmineEnv = jasmine.getEnv();
77
+ if(junitreport.report) {
78
+ if(!path.existsSync(junitreport.savePath)) {
79
+ sys.puts('creating junit xml report save path: ' + junitreport.savePath);
80
+ fs.mkdirSync(junitreport.savePath, "0755");
81
+ }
82
+ jasmineEnv.addReporter(new jasmine.JUnitXmlReporter(junitreport.savePath, junitreport.consolidate, junitreport.useDotNotation));
83
+ }
84
+
85
+ if(teamcity){
86
+ jasmineEnv.addReporter(new jasmine.TeamcityReporter());
87
+ } else {
88
+ jasmineEnv.addReporter(new TerminalReporter({print: sys.print,
89
+ verbose: isVerbose,
90
+ color: showColors,
91
+ onComplete: done,
92
+ stackFilter: removeJasmineFrames}));
93
+ }
94
+
95
+ jasmineEnv.execute();
96
+ };
97
+
98
+ jasmine.getAllSpecFiles = function(dir, matcher){
99
+ var specs = [];
100
+ if (fs.statSync(dir).isFile() && dir.match(matcher)) {
101
+ specs.push(dir);
102
+ } else {
103
+ var files = fs.readdirSync(dir);
104
+ for (var i = 0, len = files.length; i < len; ++i){
105
+ var filename = dir + '/' + files[i];
106
+ // fs.fstatSync will pass ENOENT from stat(2) up
107
+ // the stack. That's not particularly useful right now,
108
+ // so try and continue...
109
+ try{
110
+ isFile = fs.statSync(filename).isFile();
111
+ }catch (err){
112
+ if(err.code === 'ENOENT'){
113
+ isFile = false;
114
+ }else{
115
+ throw err;
116
+ }
117
+ }
118
+ if (filename.match(matcher) && isFile){
119
+ specs.push(filename);
120
+ }else{
121
+ try{
122
+ isDir = fs.statSync(filename).isDirectory();
123
+ } catch (err) {
124
+ if(err.code === 'ENOENT'){
125
+ isDir = false;
126
+ }else{
127
+ throw err;
128
+ }
129
+ }
130
+ if (isDir){
131
+ var subfiles = this.getAllSpecFiles(filename, matcher);
132
+ subfiles.forEach(function(result){
133
+ specs.push(result);
134
+ });
135
+ }
136
+ }
137
+
138
+ }
139
+ }
140
+ return specs;
141
+ };
142
+
143
+ function now(){
144
+ return new Date().getTime();
145
+ }
146
+
147
+ jasmine.asyncSpecWait = function(){
148
+ var wait = jasmine.asyncSpecWait;
149
+ wait.start = now();
150
+ wait.done = false;
151
+ (function innerWait(){
152
+ waits(10);
153
+ runs(function() {
154
+ if (wait.start + wait.timeout < now()) {
155
+ expect('timeout waiting for spec').toBeNull();
156
+ } else if (wait.done) {
157
+ wait.done = false;
158
+ } else {
159
+ innerWait();
160
+ }
161
+ });
162
+ })();
163
+ };
164
+ jasmine.asyncSpecWait.timeout = 4 * 1000;
165
+ jasmine.asyncSpecDone = function(){
166
+ jasmine.asyncSpecWait.done = true;
167
+ };
168
+
169
+ for ( var key in jasmine) {
170
+ exports[key] = jasmine[key];
171
+ }
@@ -0,0 +1,2479 @@
1
+ var isCommonJS = typeof window == "undefined";
2
+
3
+ /**
4
+ * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework.
5
+ *
6
+ * @namespace
7
+ */
8
+ var jasmine = {};
9
+ if (isCommonJS) exports.jasmine = jasmine;
10
+ /**
11
+ * @private
12
+ */
13
+ jasmine.unimplementedMethod_ = function() {
14
+ throw new Error("unimplemented method");
15
+ };
16
+
17
+ /**
18
+ * Use <code>jasmine.undefined</code> instead of <code>undefined</code>, since <code>undefined</code> is just
19
+ * a plain old variable and may be redefined by somebody else.
20
+ *
21
+ * @private
22
+ */
23
+ jasmine.undefined = jasmine.___undefined___;
24
+
25
+ /**
26
+ * Show diagnostic messages in the console if set to true
27
+ *
28
+ */
29
+ jasmine.VERBOSE = false;
30
+
31
+ /**
32
+ * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed.
33
+ *
34
+ */
35
+ jasmine.DEFAULT_UPDATE_INTERVAL = 250;
36
+
37
+ /**
38
+ * Default timeout interval in milliseconds for waitsFor() blocks.
39
+ */
40
+ jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;
41
+
42
+ jasmine.getGlobal = function() {
43
+ function getGlobal() {
44
+ return this;
45
+ }
46
+
47
+ return getGlobal();
48
+ };
49
+
50
+ /**
51
+ * Allows for bound functions to be compared. Internal use only.
52
+ *
53
+ * @ignore
54
+ * @private
55
+ * @param base {Object} bound 'this' for the function
56
+ * @param name {Function} function to find
57
+ */
58
+ jasmine.bindOriginal_ = function(base, name) {
59
+ var original = base[name];
60
+ if (original.apply) {
61
+ return function() {
62
+ return original.apply(base, arguments);
63
+ };
64
+ } else {
65
+ // IE support
66
+ return jasmine.getGlobal()[name];
67
+ }
68
+ };
69
+
70
+ jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout');
71
+ jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout');
72
+ jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval');
73
+ jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval');
74
+
75
+ jasmine.MessageResult = function(values) {
76
+ this.type = 'log';
77
+ this.values = values;
78
+ this.trace = new Error(); // todo: test better
79
+ };
80
+
81
+ jasmine.MessageResult.prototype.toString = function() {
82
+ var text = "";
83
+ for (var i = 0; i < this.values.length; i++) {
84
+ if (i > 0) text += " ";
85
+ if (jasmine.isString_(this.values[i])) {
86
+ text += this.values[i];
87
+ } else {
88
+ text += jasmine.pp(this.values[i]);
89
+ }
90
+ }
91
+ return text;
92
+ };
93
+
94
+ jasmine.ExpectationResult = function(params) {
95
+ this.type = 'expect';
96
+ this.matcherName = params.matcherName;
97
+ this.passed_ = params.passed;
98
+ this.expected = params.expected;
99
+ this.actual = params.actual;
100
+ this.message = this.passed_ ? 'Passed.' : params.message;
101
+
102
+ var trace = (params.trace || new Error(this.message));
103
+ this.trace = this.passed_ ? '' : trace;
104
+ };
105
+
106
+ jasmine.ExpectationResult.prototype.toString = function () {
107
+ return this.message;
108
+ };
109
+
110
+ jasmine.ExpectationResult.prototype.passed = function () {
111
+ return this.passed_;
112
+ };
113
+
114
+ /**
115
+ * Getter for the Jasmine environment. Ensures one gets created
116
+ */
117
+ jasmine.getEnv = function() {
118
+ var env = jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env();
119
+ return env;
120
+ };
121
+
122
+ /**
123
+ * @ignore
124
+ * @private
125
+ * @param value
126
+ * @returns {Boolean}
127
+ */
128
+ jasmine.isArray_ = function(value) {
129
+ return jasmine.isA_("Array", value);
130
+ };
131
+
132
+ /**
133
+ * @ignore
134
+ * @private
135
+ * @param value
136
+ * @returns {Boolean}
137
+ */
138
+ jasmine.isString_ = function(value) {
139
+ return jasmine.isA_("String", value);
140
+ };
141
+
142
+ /**
143
+ * @ignore
144
+ * @private
145
+ * @param value
146
+ * @returns {Boolean}
147
+ */
148
+ jasmine.isNumber_ = function(value) {
149
+ return jasmine.isA_("Number", value);
150
+ };
151
+
152
+ /**
153
+ * @ignore
154
+ * @private
155
+ * @param {String} typeName
156
+ * @param value
157
+ * @returns {Boolean}
158
+ */
159
+ jasmine.isA_ = function(typeName, value) {
160
+ return Object.prototype.toString.apply(value) === '[object ' + typeName + ']';
161
+ };
162
+
163
+ /**
164
+ * Pretty printer for expecations. Takes any object and turns it into a human-readable string.
165
+ *
166
+ * @param value {Object} an object to be outputted
167
+ * @returns {String}
168
+ */
169
+ jasmine.pp = function(value) {
170
+ var stringPrettyPrinter = new jasmine.StringPrettyPrinter();
171
+ stringPrettyPrinter.format(value);
172
+ return stringPrettyPrinter.string;
173
+ };
174
+
175
+ /**
176
+ * Returns true if the object is a DOM Node.
177
+ *
178
+ * @param {Object} obj object to check
179
+ * @returns {Boolean}
180
+ */
181
+ jasmine.isDomNode = function(obj) {
182
+ return obj.nodeType > 0;
183
+ };
184
+
185
+ /**
186
+ * Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter.
187
+ *
188
+ * @example
189
+ * // don't care about which function is passed in, as long as it's a function
190
+ * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function));
191
+ *
192
+ * @param {Class} clazz
193
+ * @returns matchable object of the type clazz
194
+ */
195
+ jasmine.any = function(clazz) {
196
+ return new jasmine.Matchers.Any(clazz);
197
+ };
198
+
199
+ /**
200
+ * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.
201
+ *
202
+ * Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine
203
+ * expectation syntax. Spies can be checked if they were called or not and what the calling params were.
204
+ *
205
+ * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs).
206
+ *
207
+ * Spies are torn down at the end of every spec.
208
+ *
209
+ * Note: Do <b>not</b> call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj.
210
+ *
211
+ * @example
212
+ * // a stub
213
+ * var myStub = jasmine.createSpy('myStub'); // can be used anywhere
214
+ *
215
+ * // spy example
216
+ * var foo = {
217
+ * not: function(bool) { return !bool; }
218
+ * }
219
+ *
220
+ * // actual foo.not will not be called, execution stops
221
+ * spyOn(foo, 'not');
222
+
223
+ // foo.not spied upon, execution will continue to implementation
224
+ * spyOn(foo, 'not').andCallThrough();
225
+ *
226
+ * // fake example
227
+ * var foo = {
228
+ * not: function(bool) { return !bool; }
229
+ * }
230
+ *
231
+ * // foo.not(val) will return val
232
+ * spyOn(foo, 'not').andCallFake(function(value) {return value;});
233
+ *
234
+ * // mock example
235
+ * foo.not(7 == 7);
236
+ * expect(foo.not).toHaveBeenCalled();
237
+ * expect(foo.not).toHaveBeenCalledWith(true);
238
+ *
239
+ * @constructor
240
+ * @see spyOn, jasmine.createSpy, jasmine.createSpyObj
241
+ * @param {String} name
242
+ */
243
+ jasmine.Spy = function(name) {
244
+ /**
245
+ * The name of the spy, if provided.
246
+ */
247
+ this.identity = name || 'unknown';
248
+ /**
249
+ * Is this Object a spy?
250
+ */
251
+ this.isSpy = true;
252
+ /**
253
+ * The actual function this spy stubs.
254
+ */
255
+ this.plan = function() {
256
+ };
257
+ /**
258
+ * Tracking of the most recent call to the spy.
259
+ * @example
260
+ * var mySpy = jasmine.createSpy('foo');
261
+ * mySpy(1, 2);
262
+ * mySpy.mostRecentCall.args = [1, 2];
263
+ */
264
+ this.mostRecentCall = {};
265
+
266
+ /**
267
+ * Holds arguments for each call to the spy, indexed by call count
268
+ * @example
269
+ * var mySpy = jasmine.createSpy('foo');
270
+ * mySpy(1, 2);
271
+ * mySpy(7, 8);
272
+ * mySpy.mostRecentCall.args = [7, 8];
273
+ * mySpy.argsForCall[0] = [1, 2];
274
+ * mySpy.argsForCall[1] = [7, 8];
275
+ */
276
+ this.argsForCall = [];
277
+ this.calls = [];
278
+ };
279
+
280
+ /**
281
+ * Tells a spy to call through to the actual implemenatation.
282
+ *
283
+ * @example
284
+ * var foo = {
285
+ * bar: function() { // do some stuff }
286
+ * }
287
+ *
288
+ * // defining a spy on an existing property: foo.bar
289
+ * spyOn(foo, 'bar').andCallThrough();
290
+ */
291
+ jasmine.Spy.prototype.andCallThrough = function() {
292
+ this.plan = this.originalValue;
293
+ return this;
294
+ };
295
+
296
+ /**
297
+ * For setting the return value of a spy.
298
+ *
299
+ * @example
300
+ * // defining a spy from scratch: foo() returns 'baz'
301
+ * var foo = jasmine.createSpy('spy on foo').andReturn('baz');
302
+ *
303
+ * // defining a spy on an existing property: foo.bar() returns 'baz'
304
+ * spyOn(foo, 'bar').andReturn('baz');
305
+ *
306
+ * @param {Object} value
307
+ */
308
+ jasmine.Spy.prototype.andReturn = function(value) {
309
+ this.plan = function() {
310
+ return value;
311
+ };
312
+ return this;
313
+ };
314
+
315
+ /**
316
+ * For throwing an exception when a spy is called.
317
+ *
318
+ * @example
319
+ * // defining a spy from scratch: foo() throws an exception w/ message 'ouch'
320
+ * var foo = jasmine.createSpy('spy on foo').andThrow('baz');
321
+ *
322
+ * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch'
323
+ * spyOn(foo, 'bar').andThrow('baz');
324
+ *
325
+ * @param {String} exceptionMsg
326
+ */
327
+ jasmine.Spy.prototype.andThrow = function(exceptionMsg) {
328
+ this.plan = function() {
329
+ throw exceptionMsg;
330
+ };
331
+ return this;
332
+ };
333
+
334
+ /**
335
+ * Calls an alternate implementation when a spy is called.
336
+ *
337
+ * @example
338
+ * var baz = function() {
339
+ * // do some stuff, return something
340
+ * }
341
+ * // defining a spy from scratch: foo() calls the function baz
342
+ * var foo = jasmine.createSpy('spy on foo').andCall(baz);
343
+ *
344
+ * // defining a spy on an existing property: foo.bar() calls an anonymnous function
345
+ * spyOn(foo, 'bar').andCall(function() { return 'baz';} );
346
+ *
347
+ * @param {Function} fakeFunc
348
+ */
349
+ jasmine.Spy.prototype.andCallFake = function(fakeFunc) {
350
+ this.plan = fakeFunc;
351
+ return this;
352
+ };
353
+
354
+ /**
355
+ * Resets all of a spy's the tracking variables so that it can be used again.
356
+ *
357
+ * @example
358
+ * spyOn(foo, 'bar');
359
+ *
360
+ * foo.bar();
361
+ *
362
+ * expect(foo.bar.callCount).toEqual(1);
363
+ *
364
+ * foo.bar.reset();
365
+ *
366
+ * expect(foo.bar.callCount).toEqual(0);
367
+ */
368
+ jasmine.Spy.prototype.reset = function() {
369
+ this.wasCalled = false;
370
+ this.callCount = 0;
371
+ this.argsForCall = [];
372
+ this.calls = [];
373
+ this.mostRecentCall = {};
374
+ };
375
+
376
+ jasmine.createSpy = function(name) {
377
+
378
+ var spyObj = function() {
379
+ spyObj.wasCalled = true;
380
+ spyObj.callCount++;
381
+ var args = jasmine.util.argsToArray(arguments);
382
+ spyObj.mostRecentCall.object = this;
383
+ spyObj.mostRecentCall.args = args;
384
+ spyObj.argsForCall.push(args);
385
+ spyObj.calls.push({object: this, args: args});
386
+ return spyObj.plan.apply(this, arguments);
387
+ };
388
+
389
+ var spy = new jasmine.Spy(name);
390
+
391
+ for (var prop in spy) {
392
+ spyObj[prop] = spy[prop];
393
+ }
394
+
395
+ spyObj.reset();
396
+
397
+ return spyObj;
398
+ };
399
+
400
+ /**
401
+ * Determines whether an object is a spy.
402
+ *
403
+ * @param {jasmine.Spy|Object} putativeSpy
404
+ * @returns {Boolean}
405
+ */
406
+ jasmine.isSpy = function(putativeSpy) {
407
+ return putativeSpy && putativeSpy.isSpy;
408
+ };
409
+
410
+ /**
411
+ * Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something
412
+ * large in one call.
413
+ *
414
+ * @param {String} baseName name of spy class
415
+ * @param {Array} methodNames array of names of methods to make spies
416
+ */
417
+ jasmine.createSpyObj = function(baseName, methodNames) {
418
+ if (!jasmine.isArray_(methodNames) || methodNames.length === 0) {
419
+ throw new Error('createSpyObj requires a non-empty array of method names to create spies for');
420
+ }
421
+ var obj = {};
422
+ for (var i = 0; i < methodNames.length; i++) {
423
+ obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]);
424
+ }
425
+ return obj;
426
+ };
427
+
428
+ /**
429
+ * All parameters are pretty-printed and concatenated together, then written to the current spec's output.
430
+ *
431
+ * Be careful not to leave calls to <code>jasmine.log</code> in production code.
432
+ */
433
+ jasmine.log = function() {
434
+ var spec = jasmine.getEnv().currentSpec;
435
+ spec.log.apply(spec, arguments);
436
+ };
437
+
438
+ /**
439
+ * Function that installs a spy on an existing object's method name. Used within a Spec to create a spy.
440
+ *
441
+ * @example
442
+ * // spy example
443
+ * var foo = {
444
+ * not: function(bool) { return !bool; }
445
+ * }
446
+ * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops
447
+ *
448
+ * @see jasmine.createSpy
449
+ * @param obj
450
+ * @param methodName
451
+ * @returns a Jasmine spy that can be chained with all spy methods
452
+ */
453
+ var spyOn = function(obj, methodName) {
454
+ return jasmine.getEnv().currentSpec.spyOn(obj, methodName);
455
+ };
456
+ if (isCommonJS) exports.spyOn = spyOn;
457
+
458
+ /**
459
+ * Creates a Jasmine spec that will be added to the current suite.
460
+ *
461
+ * // TODO: pending tests
462
+ *
463
+ * @example
464
+ * it('should be true', function() {
465
+ * expect(true).toEqual(true);
466
+ * });
467
+ *
468
+ * @param {String} desc description of this specification
469
+ * @param {Function} func defines the preconditions and expectations of the spec
470
+ */
471
+ var it = function(desc, func) {
472
+ return jasmine.getEnv().it(desc, func);
473
+ };
474
+ if (isCommonJS) exports.it = it;
475
+
476
+ /**
477
+ * Creates a <em>disabled</em> Jasmine spec.
478
+ *
479
+ * A convenience method that allows existing specs to be disabled temporarily during development.
480
+ *
481
+ * @param {String} desc description of this specification
482
+ * @param {Function} func defines the preconditions and expectations of the spec
483
+ */
484
+ var xit = function(desc, func) {
485
+ return jasmine.getEnv().xit(desc, func);
486
+ };
487
+ if (isCommonJS) exports.xit = xit;
488
+
489
+ /**
490
+ * Starts a chain for a Jasmine expectation.
491
+ *
492
+ * It is passed an Object that is the actual value and should chain to one of the many
493
+ * jasmine.Matchers functions.
494
+ *
495
+ * @param {Object} actual Actual value to test against and expected value
496
+ */
497
+ var expect = function(actual) {
498
+ return jasmine.getEnv().currentSpec.expect(actual);
499
+ };
500
+ if (isCommonJS) exports.expect = expect;
501
+
502
+ /**
503
+ * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs.
504
+ *
505
+ * @param {Function} func Function that defines part of a jasmine spec.
506
+ */
507
+ var runs = function(func) {
508
+ jasmine.getEnv().currentSpec.runs(func);
509
+ };
510
+ if (isCommonJS) exports.runs = runs;
511
+
512
+ /**
513
+ * Waits a fixed time period before moving to the next block.
514
+ *
515
+ * @deprecated Use waitsFor() instead
516
+ * @param {Number} timeout milliseconds to wait
517
+ */
518
+ var waits = function(timeout) {
519
+ jasmine.getEnv().currentSpec.waits(timeout);
520
+ };
521
+ if (isCommonJS) exports.waits = waits;
522
+
523
+ /**
524
+ * Waits for the latchFunction to return true before proceeding to the next block.
525
+ *
526
+ * @param {Function} latchFunction
527
+ * @param {String} optional_timeoutMessage
528
+ * @param {Number} optional_timeout
529
+ */
530
+ var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
531
+ jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments);
532
+ };
533
+ if (isCommonJS) exports.waitsFor = waitsFor;
534
+
535
+ /**
536
+ * A function that is called before each spec in a suite.
537
+ *
538
+ * Used for spec setup, including validating assumptions.
539
+ *
540
+ * @param {Function} beforeEachFunction
541
+ */
542
+ var beforeEach = function(beforeEachFunction) {
543
+ jasmine.getEnv().beforeEach(beforeEachFunction);
544
+ };
545
+ if (isCommonJS) exports.beforeEach = beforeEach;
546
+
547
+ /**
548
+ * A function that is called after each spec in a suite.
549
+ *
550
+ * Used for restoring any state that is hijacked during spec execution.
551
+ *
552
+ * @param {Function} afterEachFunction
553
+ */
554
+ var afterEach = function(afterEachFunction) {
555
+ jasmine.getEnv().afterEach(afterEachFunction);
556
+ };
557
+ if (isCommonJS) exports.afterEach = afterEach;
558
+
559
+ /**
560
+ * Defines a suite of specifications.
561
+ *
562
+ * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared
563
+ * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization
564
+ * of setup in some tests.
565
+ *
566
+ * @example
567
+ * // TODO: a simple suite
568
+ *
569
+ * // TODO: a simple suite with a nested describe block
570
+ *
571
+ * @param {String} description A string, usually the class under test.
572
+ * @param {Function} specDefinitions function that defines several specs.
573
+ */
574
+ var describe = function(description, specDefinitions) {
575
+ return jasmine.getEnv().describe(description, specDefinitions);
576
+ };
577
+ if (isCommonJS) exports.describe = describe;
578
+
579
+ /**
580
+ * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development.
581
+ *
582
+ * @param {String} description A string, usually the class under test.
583
+ * @param {Function} specDefinitions function that defines several specs.
584
+ */
585
+ var xdescribe = function(description, specDefinitions) {
586
+ return jasmine.getEnv().xdescribe(description, specDefinitions);
587
+ };
588
+ if (isCommonJS) exports.xdescribe = xdescribe;
589
+
590
+
591
+ // Provide the XMLHttpRequest class for IE 5.x-6.x:
592
+ jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() {
593
+ function tryIt(f) {
594
+ try {
595
+ return f();
596
+ } catch(e) {
597
+ }
598
+ return null;
599
+ }
600
+
601
+ var xhr = tryIt(function() {
602
+ return new ActiveXObject("Msxml2.XMLHTTP.6.0");
603
+ }) ||
604
+ tryIt(function() {
605
+ return new ActiveXObject("Msxml2.XMLHTTP.3.0");
606
+ }) ||
607
+ tryIt(function() {
608
+ return new ActiveXObject("Msxml2.XMLHTTP");
609
+ }) ||
610
+ tryIt(function() {
611
+ return new ActiveXObject("Microsoft.XMLHTTP");
612
+ });
613
+
614
+ if (!xhr) throw new Error("This browser does not support XMLHttpRequest.");
615
+
616
+ return xhr;
617
+ } : XMLHttpRequest;
618
+ /**
619
+ * @namespace
620
+ */
621
+ jasmine.util = {};
622
+
623
+ /**
624
+ * Declare that a child class inherit it's prototype from the parent class.
625
+ *
626
+ * @private
627
+ * @param {Function} childClass
628
+ * @param {Function} parentClass
629
+ */
630
+ jasmine.util.inherit = function(childClass, parentClass) {
631
+ /**
632
+ * @private
633
+ */
634
+ var subclass = function() {
635
+ };
636
+ subclass.prototype = parentClass.prototype;
637
+ childClass.prototype = new subclass();
638
+ };
639
+
640
+ jasmine.util.formatException = function(e) {
641
+ var lineNumber;
642
+ if (e.line) {
643
+ lineNumber = e.line;
644
+ }
645
+ else if (e.lineNumber) {
646
+ lineNumber = e.lineNumber;
647
+ }
648
+
649
+ var file;
650
+
651
+ if (e.sourceURL) {
652
+ file = e.sourceURL;
653
+ }
654
+ else if (e.fileName) {
655
+ file = e.fileName;
656
+ }
657
+
658
+ var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString();
659
+
660
+ if (file && lineNumber) {
661
+ message += ' in ' + file + ' (line ' + lineNumber + ')';
662
+ }
663
+
664
+ return message;
665
+ };
666
+
667
+ jasmine.util.htmlEscape = function(str) {
668
+ if (!str) return str;
669
+ return str.replace(/&/g, '&amp;')
670
+ .replace(/</g, '&lt;')
671
+ .replace(/>/g, '&gt;');
672
+ };
673
+
674
+ jasmine.util.argsToArray = function(args) {
675
+ var arrayOfArgs = [];
676
+ for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]);
677
+ return arrayOfArgs;
678
+ };
679
+
680
+ jasmine.util.extend = function(destination, source) {
681
+ for (var property in source) destination[property] = source[property];
682
+ return destination;
683
+ };
684
+
685
+ /**
686
+ * Environment for Jasmine
687
+ *
688
+ * @constructor
689
+ */
690
+ jasmine.Env = function() {
691
+ this.currentSpec = null;
692
+ this.currentSuite = null;
693
+ this.currentRunner_ = new jasmine.Runner(this);
694
+
695
+ this.reporter = new jasmine.MultiReporter();
696
+
697
+ this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL;
698
+ this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL;
699
+ this.lastUpdate = 0;
700
+ this.specFilter = function() {
701
+ return true;
702
+ };
703
+
704
+ this.nextSpecId_ = 0;
705
+ this.nextSuiteId_ = 0;
706
+ this.equalityTesters_ = [];
707
+
708
+ // wrap matchers
709
+ this.matchersClass = function() {
710
+ jasmine.Matchers.apply(this, arguments);
711
+ };
712
+ jasmine.util.inherit(this.matchersClass, jasmine.Matchers);
713
+
714
+ jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass);
715
+ };
716
+
717
+
718
+ jasmine.Env.prototype.setTimeout = jasmine.setTimeout;
719
+ jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout;
720
+ jasmine.Env.prototype.setInterval = jasmine.setInterval;
721
+ jasmine.Env.prototype.clearInterval = jasmine.clearInterval;
722
+
723
+ /**
724
+ * @returns an object containing jasmine version build info, if set.
725
+ */
726
+ jasmine.Env.prototype.version = function () {
727
+ if (jasmine.version_) {
728
+ return jasmine.version_;
729
+ } else {
730
+ throw new Error('Version not set');
731
+ }
732
+ };
733
+
734
+ /**
735
+ * @returns string containing jasmine version build info, if set.
736
+ */
737
+ jasmine.Env.prototype.versionString = function() {
738
+ if (jasmine.version_) {
739
+ var version = this.version();
740
+ var versionString = version.major + "." + version.minor + "." + version.build;
741
+ if (version.release_candidate) {
742
+ versionString += ".rc" + version.release_candidate
743
+ }
744
+ versionString += " revision " + version.revision
745
+ return versionString;
746
+ } else {
747
+ return "version unknown";
748
+ }
749
+ };
750
+
751
+ /**
752
+ * @returns a sequential integer starting at 0
753
+ */
754
+ jasmine.Env.prototype.nextSpecId = function () {
755
+ return this.nextSpecId_++;
756
+ };
757
+
758
+ /**
759
+ * @returns a sequential integer starting at 0
760
+ */
761
+ jasmine.Env.prototype.nextSuiteId = function () {
762
+ return this.nextSuiteId_++;
763
+ };
764
+
765
+ /**
766
+ * Register a reporter to receive status updates from Jasmine.
767
+ * @param {jasmine.Reporter} reporter An object which will receive status updates.
768
+ */
769
+ jasmine.Env.prototype.addReporter = function(reporter) {
770
+ this.reporter.addReporter(reporter);
771
+ };
772
+
773
+ jasmine.Env.prototype.execute = function() {
774
+ this.currentRunner_.execute();
775
+ };
776
+
777
+ jasmine.Env.prototype.describe = function(description, specDefinitions) {
778
+ var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite);
779
+
780
+ var parentSuite = this.currentSuite;
781
+ if (parentSuite) {
782
+ parentSuite.add(suite);
783
+ } else {
784
+ this.currentRunner_.add(suite);
785
+ }
786
+
787
+ this.currentSuite = suite;
788
+
789
+ var declarationError = null;
790
+ try {
791
+ specDefinitions.call(suite);
792
+ } catch(e) {
793
+ declarationError = e;
794
+ }
795
+
796
+ if (declarationError) {
797
+ this.it("encountered a declaration exception", function() {
798
+ throw declarationError;
799
+ });
800
+ }
801
+
802
+ this.currentSuite = parentSuite;
803
+
804
+ return suite;
805
+ };
806
+
807
+ jasmine.Env.prototype.beforeEach = function(beforeEachFunction) {
808
+ if (this.currentSuite) {
809
+ this.currentSuite.beforeEach(beforeEachFunction);
810
+ } else {
811
+ this.currentRunner_.beforeEach(beforeEachFunction);
812
+ }
813
+ };
814
+
815
+ jasmine.Env.prototype.currentRunner = function () {
816
+ return this.currentRunner_;
817
+ };
818
+
819
+ jasmine.Env.prototype.afterEach = function(afterEachFunction) {
820
+ if (this.currentSuite) {
821
+ this.currentSuite.afterEach(afterEachFunction);
822
+ } else {
823
+ this.currentRunner_.afterEach(afterEachFunction);
824
+ }
825
+
826
+ };
827
+
828
+ jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) {
829
+ return {
830
+ execute: function() {
831
+ }
832
+ };
833
+ };
834
+
835
+ jasmine.Env.prototype.it = function(description, func) {
836
+ var spec = new jasmine.Spec(this, this.currentSuite, description);
837
+ this.currentSuite.add(spec);
838
+ this.currentSpec = spec;
839
+
840
+ if (func) {
841
+ spec.runs(func);
842
+ }
843
+
844
+ return spec;
845
+ };
846
+
847
+ jasmine.Env.prototype.xit = function(desc, func) {
848
+ return {
849
+ id: this.nextSpecId(),
850
+ runs: function() {
851
+ }
852
+ };
853
+ };
854
+
855
+ jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) {
856
+ if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) {
857
+ return true;
858
+ }
859
+
860
+ a.__Jasmine_been_here_before__ = b;
861
+ b.__Jasmine_been_here_before__ = a;
862
+
863
+ var hasKey = function(obj, keyName) {
864
+ return obj !== null && obj[keyName] !== jasmine.undefined;
865
+ };
866
+
867
+ for (var property in b) {
868
+ if (!hasKey(a, property) && hasKey(b, property)) {
869
+ mismatchKeys.push("expected has key '" + property + "', but missing from actual.");
870
+ }
871
+ }
872
+ for (property in a) {
873
+ if (!hasKey(b, property) && hasKey(a, property)) {
874
+ mismatchKeys.push("expected missing key '" + property + "', but present in actual.");
875
+ }
876
+ }
877
+ for (property in b) {
878
+ if (property == '__Jasmine_been_here_before__') continue;
879
+ if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) {
880
+ mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual.");
881
+ }
882
+ }
883
+
884
+ if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) {
885
+ mismatchValues.push("arrays were not the same length");
886
+ }
887
+
888
+ delete a.__Jasmine_been_here_before__;
889
+ delete b.__Jasmine_been_here_before__;
890
+ return (mismatchKeys.length === 0 && mismatchValues.length === 0);
891
+ };
892
+
893
+ jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) {
894
+ mismatchKeys = mismatchKeys || [];
895
+ mismatchValues = mismatchValues || [];
896
+
897
+ for (var i = 0; i < this.equalityTesters_.length; i++) {
898
+ var equalityTester = this.equalityTesters_[i];
899
+ var result = equalityTester(a, b, this, mismatchKeys, mismatchValues);
900
+ if (result !== jasmine.undefined) return result;
901
+ }
902
+
903
+ if (a === b) return true;
904
+
905
+ if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) {
906
+ return (a == jasmine.undefined && b == jasmine.undefined);
907
+ }
908
+
909
+ if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) {
910
+ return a === b;
911
+ }
912
+
913
+ if (a instanceof Date && b instanceof Date) {
914
+ return a.getTime() == b.getTime();
915
+ }
916
+
917
+ if (a instanceof jasmine.Matchers.Any) {
918
+ return a.matches(b);
919
+ }
920
+
921
+ if (b instanceof jasmine.Matchers.Any) {
922
+ return b.matches(a);
923
+ }
924
+
925
+ if (jasmine.isString_(a) && jasmine.isString_(b)) {
926
+ return (a == b);
927
+ }
928
+
929
+ if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) {
930
+ return (a == b);
931
+ }
932
+
933
+ if (typeof a === "object" && typeof b === "object") {
934
+ return this.compareObjects_(a, b, mismatchKeys, mismatchValues);
935
+ }
936
+
937
+ //Straight check
938
+ return (a === b);
939
+ };
940
+
941
+ jasmine.Env.prototype.contains_ = function(haystack, needle) {
942
+ if (jasmine.isArray_(haystack)) {
943
+ for (var i = 0; i < haystack.length; i++) {
944
+ if (this.equals_(haystack[i], needle)) return true;
945
+ }
946
+ return false;
947
+ }
948
+ return haystack.indexOf(needle) >= 0;
949
+ };
950
+
951
+ jasmine.Env.prototype.addEqualityTester = function(equalityTester) {
952
+ this.equalityTesters_.push(equalityTester);
953
+ };
954
+ /** No-op base class for Jasmine reporters.
955
+ *
956
+ * @constructor
957
+ */
958
+ jasmine.Reporter = function() {
959
+ };
960
+
961
+ //noinspection JSUnusedLocalSymbols
962
+ jasmine.Reporter.prototype.reportRunnerStarting = function(runner) {
963
+ };
964
+
965
+ //noinspection JSUnusedLocalSymbols
966
+ jasmine.Reporter.prototype.reportRunnerResults = function(runner) {
967
+ };
968
+
969
+ //noinspection JSUnusedLocalSymbols
970
+ jasmine.Reporter.prototype.reportSuiteResults = function(suite) {
971
+ };
972
+
973
+ //noinspection JSUnusedLocalSymbols
974
+ jasmine.Reporter.prototype.reportSpecStarting = function(spec) {
975
+ };
976
+
977
+ //noinspection JSUnusedLocalSymbols
978
+ jasmine.Reporter.prototype.reportSpecResults = function(spec) {
979
+ };
980
+
981
+ //noinspection JSUnusedLocalSymbols
982
+ jasmine.Reporter.prototype.log = function(str) {
983
+ };
984
+
985
+ /**
986
+ * Blocks are functions with executable code that make up a spec.
987
+ *
988
+ * @constructor
989
+ * @param {jasmine.Env} env
990
+ * @param {Function} func
991
+ * @param {jasmine.Spec} spec
992
+ */
993
+ jasmine.Block = function(env, func, spec) {
994
+ this.env = env;
995
+ this.func = func;
996
+ this.spec = spec;
997
+ };
998
+
999
+ jasmine.Block.prototype.execute = function(onComplete) {
1000
+ try {
1001
+ this.func.apply(this.spec);
1002
+ } catch (e) {
1003
+ this.spec.fail(e);
1004
+ }
1005
+ onComplete();
1006
+ };
1007
+ /** JavaScript API reporter.
1008
+ *
1009
+ * @constructor
1010
+ */
1011
+ jasmine.JsApiReporter = function() {
1012
+ this.started = false;
1013
+ this.finished = false;
1014
+ this.suites_ = [];
1015
+ this.results_ = {};
1016
+ };
1017
+
1018
+ jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) {
1019
+ this.started = true;
1020
+ var suites = runner.topLevelSuites();
1021
+ for (var i = 0; i < suites.length; i++) {
1022
+ var suite = suites[i];
1023
+ this.suites_.push(this.summarize_(suite));
1024
+ }
1025
+ };
1026
+
1027
+ jasmine.JsApiReporter.prototype.suites = function() {
1028
+ return this.suites_;
1029
+ };
1030
+
1031
+ jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) {
1032
+ var isSuite = suiteOrSpec instanceof jasmine.Suite;
1033
+ var summary = {
1034
+ id: suiteOrSpec.id,
1035
+ name: suiteOrSpec.description,
1036
+ type: isSuite ? 'suite' : 'spec',
1037
+ children: []
1038
+ };
1039
+
1040
+ if (isSuite) {
1041
+ var children = suiteOrSpec.children();
1042
+ for (var i = 0; i < children.length; i++) {
1043
+ summary.children.push(this.summarize_(children[i]));
1044
+ }
1045
+ }
1046
+ return summary;
1047
+ };
1048
+
1049
+ jasmine.JsApiReporter.prototype.results = function() {
1050
+ return this.results_;
1051
+ };
1052
+
1053
+ jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) {
1054
+ return this.results_[specId];
1055
+ };
1056
+
1057
+ //noinspection JSUnusedLocalSymbols
1058
+ jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) {
1059
+ this.finished = true;
1060
+ };
1061
+
1062
+ //noinspection JSUnusedLocalSymbols
1063
+ jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) {
1064
+ };
1065
+
1066
+ //noinspection JSUnusedLocalSymbols
1067
+ jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) {
1068
+ this.results_[spec.id] = {
1069
+ messages: spec.results().getItems(),
1070
+ result: spec.results().failedCount > 0 ? "failed" : "passed"
1071
+ };
1072
+ };
1073
+
1074
+ //noinspection JSUnusedLocalSymbols
1075
+ jasmine.JsApiReporter.prototype.log = function(str) {
1076
+ };
1077
+
1078
+ jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){
1079
+ var results = {};
1080
+ for (var i = 0; i < specIds.length; i++) {
1081
+ var specId = specIds[i];
1082
+ results[specId] = this.summarizeResult_(this.results_[specId]);
1083
+ }
1084
+ return results;
1085
+ };
1086
+
1087
+ jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){
1088
+ var summaryMessages = [];
1089
+ var messagesLength = result.messages.length;
1090
+ for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) {
1091
+ var resultMessage = result.messages[messageIndex];
1092
+ summaryMessages.push({
1093
+ text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined,
1094
+ passed: resultMessage.passed ? resultMessage.passed() : true,
1095
+ type: resultMessage.type,
1096
+ message: resultMessage.message,
1097
+ trace: {
1098
+ stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined
1099
+ }
1100
+ });
1101
+ }
1102
+
1103
+ return {
1104
+ result : result.result,
1105
+ messages : summaryMessages
1106
+ };
1107
+ };
1108
+
1109
+ /**
1110
+ * @constructor
1111
+ * @param {jasmine.Env} env
1112
+ * @param actual
1113
+ * @param {jasmine.Spec} spec
1114
+ */
1115
+ jasmine.Matchers = function(env, actual, spec, opt_isNot) {
1116
+ this.env = env;
1117
+ this.actual = actual;
1118
+ this.spec = spec;
1119
+ this.isNot = opt_isNot || false;
1120
+ this.reportWasCalled_ = false;
1121
+ };
1122
+
1123
+ // todo: @deprecated as of Jasmine 0.11, remove soon [xw]
1124
+ jasmine.Matchers.pp = function(str) {
1125
+ throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!");
1126
+ };
1127
+
1128
+ // todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw]
1129
+ jasmine.Matchers.prototype.report = function(result, failing_message, details) {
1130
+ throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs");
1131
+ };
1132
+
1133
+ jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) {
1134
+ for (var methodName in prototype) {
1135
+ if (methodName == 'report') continue;
1136
+ var orig = prototype[methodName];
1137
+ matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig);
1138
+ }
1139
+ };
1140
+
1141
+ jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) {
1142
+ return function() {
1143
+ var matcherArgs = jasmine.util.argsToArray(arguments);
1144
+ var result = matcherFunction.apply(this, arguments);
1145
+
1146
+ if (this.isNot) {
1147
+ result = !result;
1148
+ }
1149
+
1150
+ if (this.reportWasCalled_) return result;
1151
+
1152
+ var message;
1153
+ if (!result) {
1154
+ if (this.message) {
1155
+ message = this.message.apply(this, arguments);
1156
+ if (jasmine.isArray_(message)) {
1157
+ message = message[this.isNot ? 1 : 0];
1158
+ }
1159
+ } else {
1160
+ var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); });
1161
+ message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate;
1162
+ if (matcherArgs.length > 0) {
1163
+ for (var i = 0; i < matcherArgs.length; i++) {
1164
+ if (i > 0) message += ",";
1165
+ message += " " + jasmine.pp(matcherArgs[i]);
1166
+ }
1167
+ }
1168
+ message += ".";
1169
+ }
1170
+ }
1171
+ var expectationResult = new jasmine.ExpectationResult({
1172
+ matcherName: matcherName,
1173
+ passed: result,
1174
+ expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0],
1175
+ actual: this.actual,
1176
+ message: message
1177
+ });
1178
+ this.spec.addMatcherResult(expectationResult);
1179
+ return jasmine.undefined;
1180
+ };
1181
+ };
1182
+
1183
+
1184
+
1185
+
1186
+ /**
1187
+ * toBe: compares the actual to the expected using ===
1188
+ * @param expected
1189
+ */
1190
+ jasmine.Matchers.prototype.toBe = function(expected) {
1191
+ return this.actual === expected;
1192
+ };
1193
+
1194
+ /**
1195
+ * toNotBe: compares the actual to the expected using !==
1196
+ * @param expected
1197
+ * @deprecated as of 1.0. Use not.toBe() instead.
1198
+ */
1199
+ jasmine.Matchers.prototype.toNotBe = function(expected) {
1200
+ return this.actual !== expected;
1201
+ };
1202
+
1203
+ /**
1204
+ * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc.
1205
+ *
1206
+ * @param expected
1207
+ */
1208
+ jasmine.Matchers.prototype.toEqual = function(expected) {
1209
+ return this.env.equals_(this.actual, expected);
1210
+ };
1211
+
1212
+ /**
1213
+ * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual
1214
+ * @param expected
1215
+ * @deprecated as of 1.0. Use not.toNotEqual() instead.
1216
+ */
1217
+ jasmine.Matchers.prototype.toNotEqual = function(expected) {
1218
+ return !this.env.equals_(this.actual, expected);
1219
+ };
1220
+
1221
+ /**
1222
+ * Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes
1223
+ * a pattern or a String.
1224
+ *
1225
+ * @param expected
1226
+ */
1227
+ jasmine.Matchers.prototype.toMatch = function(expected) {
1228
+ return new RegExp(expected).test(this.actual);
1229
+ };
1230
+
1231
+ /**
1232
+ * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch
1233
+ * @param expected
1234
+ * @deprecated as of 1.0. Use not.toMatch() instead.
1235
+ */
1236
+ jasmine.Matchers.prototype.toNotMatch = function(expected) {
1237
+ return !(new RegExp(expected).test(this.actual));
1238
+ };
1239
+
1240
+ /**
1241
+ * Matcher that compares the actual to jasmine.undefined.
1242
+ */
1243
+ jasmine.Matchers.prototype.toBeDefined = function() {
1244
+ return (this.actual !== jasmine.undefined);
1245
+ };
1246
+
1247
+ /**
1248
+ * Matcher that compares the actual to jasmine.undefined.
1249
+ */
1250
+ jasmine.Matchers.prototype.toBeUndefined = function() {
1251
+ return (this.actual === jasmine.undefined);
1252
+ };
1253
+
1254
+ /**
1255
+ * Matcher that compares the actual to null.
1256
+ */
1257
+ jasmine.Matchers.prototype.toBeNull = function() {
1258
+ return (this.actual === null);
1259
+ };
1260
+
1261
+ /**
1262
+ * Matcher that boolean not-nots the actual.
1263
+ */
1264
+ jasmine.Matchers.prototype.toBeTruthy = function() {
1265
+ return !!this.actual;
1266
+ };
1267
+
1268
+
1269
+ /**
1270
+ * Matcher that boolean nots the actual.
1271
+ */
1272
+ jasmine.Matchers.prototype.toBeFalsy = function() {
1273
+ return !this.actual;
1274
+ };
1275
+
1276
+
1277
+ /**
1278
+ * Matcher that checks to see if the actual, a Jasmine spy, was called.
1279
+ */
1280
+ jasmine.Matchers.prototype.toHaveBeenCalled = function() {
1281
+ if (arguments.length > 0) {
1282
+ throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
1283
+ }
1284
+
1285
+ if (!jasmine.isSpy(this.actual)) {
1286
+ throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
1287
+ }
1288
+
1289
+ this.message = function() {
1290
+ return [
1291
+ "Expected spy " + this.actual.identity + " to have been called.",
1292
+ "Expected spy " + this.actual.identity + " not to have been called."
1293
+ ];
1294
+ };
1295
+
1296
+ return this.actual.wasCalled;
1297
+ };
1298
+
1299
+ /** @deprecated Use expect(xxx).toHaveBeenCalled() instead */
1300
+ jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled;
1301
+
1302
+ /**
1303
+ * Matcher that checks to see if the actual, a Jasmine spy, was not called.
1304
+ *
1305
+ * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead
1306
+ */
1307
+ jasmine.Matchers.prototype.wasNotCalled = function() {
1308
+ if (arguments.length > 0) {
1309
+ throw new Error('wasNotCalled does not take arguments');
1310
+ }
1311
+
1312
+ if (!jasmine.isSpy(this.actual)) {
1313
+ throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
1314
+ }
1315
+
1316
+ this.message = function() {
1317
+ return [
1318
+ "Expected spy " + this.actual.identity + " to not have been called.",
1319
+ "Expected spy " + this.actual.identity + " to have been called."
1320
+ ];
1321
+ };
1322
+
1323
+ return !this.actual.wasCalled;
1324
+ };
1325
+
1326
+ /**
1327
+ * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters.
1328
+ *
1329
+ * @example
1330
+ *
1331
+ */
1332
+ jasmine.Matchers.prototype.toHaveBeenCalledWith = function() {
1333
+ var expectedArgs = jasmine.util.argsToArray(arguments);
1334
+ if (!jasmine.isSpy(this.actual)) {
1335
+ throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
1336
+ }
1337
+ this.message = function() {
1338
+ if (this.actual.callCount === 0) {
1339
+ // todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw]
1340
+ return [
1341
+ "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.",
1342
+ "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but it was."
1343
+ ];
1344
+ } else {
1345
+ return [
1346
+ "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall),
1347
+ "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall)
1348
+ ];
1349
+ }
1350
+ };
1351
+
1352
+ return this.env.contains_(this.actual.argsForCall, expectedArgs);
1353
+ };
1354
+
1355
+ /** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */
1356
+ jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith;
1357
+
1358
+ /** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */
1359
+ jasmine.Matchers.prototype.wasNotCalledWith = function() {
1360
+ var expectedArgs = jasmine.util.argsToArray(arguments);
1361
+ if (!jasmine.isSpy(this.actual)) {
1362
+ throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
1363
+ }
1364
+
1365
+ this.message = function() {
1366
+ return [
1367
+ "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was",
1368
+ "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was"
1369
+ ];
1370
+ };
1371
+
1372
+ return !this.env.contains_(this.actual.argsForCall, expectedArgs);
1373
+ };
1374
+
1375
+ /**
1376
+ * Matcher that checks that the expected item is an element in the actual Array.
1377
+ *
1378
+ * @param {Object} expected
1379
+ */
1380
+ jasmine.Matchers.prototype.toContain = function(expected) {
1381
+ return this.env.contains_(this.actual, expected);
1382
+ };
1383
+
1384
+ /**
1385
+ * Matcher that checks that the expected item is NOT an element in the actual Array.
1386
+ *
1387
+ * @param {Object} expected
1388
+ * @deprecated as of 1.0. Use not.toNotContain() instead.
1389
+ */
1390
+ jasmine.Matchers.prototype.toNotContain = function(expected) {
1391
+ return !this.env.contains_(this.actual, expected);
1392
+ };
1393
+
1394
+ jasmine.Matchers.prototype.toBeLessThan = function(expected) {
1395
+ return this.actual < expected;
1396
+ };
1397
+
1398
+ jasmine.Matchers.prototype.toBeGreaterThan = function(expected) {
1399
+ return this.actual > expected;
1400
+ };
1401
+
1402
+ /**
1403
+ * Matcher that checks that the expected item is equal to the actual item
1404
+ * up to a given level of decimal precision (default 2).
1405
+ *
1406
+ * @param {Number} expected
1407
+ * @param {Number} precision
1408
+ */
1409
+ jasmine.Matchers.prototype.toBeCloseTo = function(expected, precision) {
1410
+ if (!(precision === 0)) {
1411
+ precision = precision || 2;
1412
+ }
1413
+ var multiplier = Math.pow(10, precision);
1414
+ var actual = Math.round(this.actual * multiplier);
1415
+ expected = Math.round(expected * multiplier);
1416
+ return expected == actual;
1417
+ };
1418
+
1419
+ /**
1420
+ * Matcher that checks that the expected exception was thrown by the actual.
1421
+ *
1422
+ * @param {String} expected
1423
+ */
1424
+ jasmine.Matchers.prototype.toThrow = function(expected) {
1425
+ var result = false;
1426
+ var exception;
1427
+ if (typeof this.actual != 'function') {
1428
+ throw new Error('Actual is not a function');
1429
+ }
1430
+ try {
1431
+ this.actual();
1432
+ } catch (e) {
1433
+ exception = e;
1434
+ }
1435
+ if (exception) {
1436
+ result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected));
1437
+ }
1438
+
1439
+ var not = this.isNot ? "not " : "";
1440
+
1441
+ this.message = function() {
1442
+ if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) {
1443
+ return ["Expected function " + not + "to throw", expected ? expected.message || expected : "an exception", ", but it threw", exception.message || exception].join(' ');
1444
+ } else {
1445
+ return "Expected function to throw an exception.";
1446
+ }
1447
+ };
1448
+
1449
+ return result;
1450
+ };
1451
+
1452
+ jasmine.Matchers.Any = function(expectedClass) {
1453
+ this.expectedClass = expectedClass;
1454
+ };
1455
+
1456
+ jasmine.Matchers.Any.prototype.matches = function(other) {
1457
+ if (this.expectedClass == String) {
1458
+ return typeof other == 'string' || other instanceof String;
1459
+ }
1460
+
1461
+ if (this.expectedClass == Number) {
1462
+ return typeof other == 'number' || other instanceof Number;
1463
+ }
1464
+
1465
+ if (this.expectedClass == Function) {
1466
+ return typeof other == 'function' || other instanceof Function;
1467
+ }
1468
+
1469
+ if (this.expectedClass == Object) {
1470
+ return typeof other == 'object';
1471
+ }
1472
+
1473
+ return other instanceof this.expectedClass;
1474
+ };
1475
+
1476
+ jasmine.Matchers.Any.prototype.toString = function() {
1477
+ return '<jasmine.any(' + this.expectedClass + ')>';
1478
+ };
1479
+
1480
+ /**
1481
+ * @constructor
1482
+ */
1483
+ jasmine.MultiReporter = function() {
1484
+ this.subReporters_ = [];
1485
+ };
1486
+ jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter);
1487
+
1488
+ jasmine.MultiReporter.prototype.addReporter = function(reporter) {
1489
+ this.subReporters_.push(reporter);
1490
+ };
1491
+
1492
+ (function() {
1493
+ var functionNames = [
1494
+ "reportRunnerStarting",
1495
+ "reportRunnerResults",
1496
+ "reportSuiteResults",
1497
+ "reportSpecStarting",
1498
+ "reportSpecResults",
1499
+ "log"
1500
+ ];
1501
+ for (var i = 0; i < functionNames.length; i++) {
1502
+ var functionName = functionNames[i];
1503
+ jasmine.MultiReporter.prototype[functionName] = (function(functionName) {
1504
+ return function() {
1505
+ for (var j = 0; j < this.subReporters_.length; j++) {
1506
+ var subReporter = this.subReporters_[j];
1507
+ if (subReporter[functionName]) {
1508
+ subReporter[functionName].apply(subReporter, arguments);
1509
+ }
1510
+ }
1511
+ };
1512
+ })(functionName);
1513
+ }
1514
+ })();
1515
+ /**
1516
+ * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults
1517
+ *
1518
+ * @constructor
1519
+ */
1520
+ jasmine.NestedResults = function() {
1521
+ /**
1522
+ * The total count of results
1523
+ */
1524
+ this.totalCount = 0;
1525
+ /**
1526
+ * Number of passed results
1527
+ */
1528
+ this.passedCount = 0;
1529
+ /**
1530
+ * Number of failed results
1531
+ */
1532
+ this.failedCount = 0;
1533
+ /**
1534
+ * Was this suite/spec skipped?
1535
+ */
1536
+ this.skipped = false;
1537
+ /**
1538
+ * @ignore
1539
+ */
1540
+ this.items_ = [];
1541
+ };
1542
+
1543
+ /**
1544
+ * Roll up the result counts.
1545
+ *
1546
+ * @param result
1547
+ */
1548
+ jasmine.NestedResults.prototype.rollupCounts = function(result) {
1549
+ this.totalCount += result.totalCount;
1550
+ this.passedCount += result.passedCount;
1551
+ this.failedCount += result.failedCount;
1552
+ };
1553
+
1554
+ /**
1555
+ * Adds a log message.
1556
+ * @param values Array of message parts which will be concatenated later.
1557
+ */
1558
+ jasmine.NestedResults.prototype.log = function(values) {
1559
+ this.items_.push(new jasmine.MessageResult(values));
1560
+ };
1561
+
1562
+ /**
1563
+ * Getter for the results: message & results.
1564
+ */
1565
+ jasmine.NestedResults.prototype.getItems = function() {
1566
+ return this.items_;
1567
+ };
1568
+
1569
+ /**
1570
+ * Adds a result, tracking counts (total, passed, & failed)
1571
+ * @param {jasmine.ExpectationResult|jasmine.NestedResults} result
1572
+ */
1573
+ jasmine.NestedResults.prototype.addResult = function(result) {
1574
+ if (result.type != 'log') {
1575
+ if (result.items_) {
1576
+ this.rollupCounts(result);
1577
+ } else {
1578
+ this.totalCount++;
1579
+ if (result.passed()) {
1580
+ this.passedCount++;
1581
+ } else {
1582
+ this.failedCount++;
1583
+ }
1584
+ }
1585
+ }
1586
+ this.items_.push(result);
1587
+ };
1588
+
1589
+ /**
1590
+ * @returns {Boolean} True if <b>everything</b> below passed
1591
+ */
1592
+ jasmine.NestedResults.prototype.passed = function() {
1593
+ return this.passedCount === this.totalCount;
1594
+ };
1595
+ /**
1596
+ * Base class for pretty printing for expectation results.
1597
+ */
1598
+ jasmine.PrettyPrinter = function() {
1599
+ this.ppNestLevel_ = 0;
1600
+ };
1601
+
1602
+ /**
1603
+ * Formats a value in a nice, human-readable string.
1604
+ *
1605
+ * @param value
1606
+ */
1607
+ jasmine.PrettyPrinter.prototype.format = function(value) {
1608
+ if (this.ppNestLevel_ > 40) {
1609
+ throw new Error('jasmine.PrettyPrinter: format() nested too deeply!');
1610
+ }
1611
+
1612
+ this.ppNestLevel_++;
1613
+ try {
1614
+ if (value === jasmine.undefined) {
1615
+ this.emitScalar('undefined');
1616
+ } else if (value === null) {
1617
+ this.emitScalar('null');
1618
+ } else if (value === jasmine.getGlobal()) {
1619
+ this.emitScalar('<global>');
1620
+ } else if (value instanceof jasmine.Matchers.Any) {
1621
+ this.emitScalar(value.toString());
1622
+ } else if (typeof value === 'string') {
1623
+ this.emitString(value);
1624
+ } else if (jasmine.isSpy(value)) {
1625
+ this.emitScalar("spy on " + value.identity);
1626
+ } else if (value instanceof RegExp) {
1627
+ this.emitScalar(value.toString());
1628
+ } else if (typeof value === 'function') {
1629
+ this.emitScalar('Function');
1630
+ } else if (typeof value.nodeType === 'number') {
1631
+ this.emitScalar('HTMLNode');
1632
+ } else if (value instanceof Date) {
1633
+ this.emitScalar('Date(' + value + ')');
1634
+ } else if (value.__Jasmine_been_here_before__) {
1635
+ this.emitScalar('<circular reference: ' + (jasmine.isArray_(value) ? 'Array' : 'Object') + '>');
1636
+ } else if (jasmine.isArray_(value) || typeof value == 'object') {
1637
+ value.__Jasmine_been_here_before__ = true;
1638
+ if (jasmine.isArray_(value)) {
1639
+ this.emitArray(value);
1640
+ } else {
1641
+ this.emitObject(value);
1642
+ }
1643
+ delete value.__Jasmine_been_here_before__;
1644
+ } else {
1645
+ this.emitScalar(value.toString());
1646
+ }
1647
+ } finally {
1648
+ this.ppNestLevel_--;
1649
+ }
1650
+ };
1651
+
1652
+ jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) {
1653
+ for (var property in obj) {
1654
+ if (property == '__Jasmine_been_here_before__') continue;
1655
+ fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined &&
1656
+ obj.__lookupGetter__(property) !== null) : false);
1657
+ }
1658
+ };
1659
+
1660
+ jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_;
1661
+ jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_;
1662
+ jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_;
1663
+ jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_;
1664
+
1665
+ jasmine.StringPrettyPrinter = function() {
1666
+ jasmine.PrettyPrinter.call(this);
1667
+
1668
+ this.string = '';
1669
+ };
1670
+ jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter);
1671
+
1672
+ jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) {
1673
+ this.append(value);
1674
+ };
1675
+
1676
+ jasmine.StringPrettyPrinter.prototype.emitString = function(value) {
1677
+ this.append("'" + value + "'");
1678
+ };
1679
+
1680
+ jasmine.StringPrettyPrinter.prototype.emitArray = function(array) {
1681
+ this.append('[ ');
1682
+ for (var i = 0; i < array.length; i++) {
1683
+ if (i > 0) {
1684
+ this.append(', ');
1685
+ }
1686
+ this.format(array[i]);
1687
+ }
1688
+ this.append(' ]');
1689
+ };
1690
+
1691
+ jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) {
1692
+ var self = this;
1693
+ this.append('{ ');
1694
+ var first = true;
1695
+
1696
+ this.iterateObject(obj, function(property, isGetter) {
1697
+ if (first) {
1698
+ first = false;
1699
+ } else {
1700
+ self.append(', ');
1701
+ }
1702
+
1703
+ self.append(property);
1704
+ self.append(' : ');
1705
+ if (isGetter) {
1706
+ self.append('<getter>');
1707
+ } else {
1708
+ self.format(obj[property]);
1709
+ }
1710
+ });
1711
+
1712
+ this.append(' }');
1713
+ };
1714
+
1715
+ jasmine.StringPrettyPrinter.prototype.append = function(value) {
1716
+ this.string += value;
1717
+ };
1718
+ jasmine.Queue = function(env) {
1719
+ this.env = env;
1720
+ this.blocks = [];
1721
+ this.running = false;
1722
+ this.index = 0;
1723
+ this.offset = 0;
1724
+ this.abort = false;
1725
+ };
1726
+
1727
+ jasmine.Queue.prototype.addBefore = function(block) {
1728
+ this.blocks.unshift(block);
1729
+ };
1730
+
1731
+ jasmine.Queue.prototype.add = function(block) {
1732
+ this.blocks.push(block);
1733
+ };
1734
+
1735
+ jasmine.Queue.prototype.insertNext = function(block) {
1736
+ this.blocks.splice((this.index + this.offset + 1), 0, block);
1737
+ this.offset++;
1738
+ };
1739
+
1740
+ jasmine.Queue.prototype.start = function(onComplete) {
1741
+ this.running = true;
1742
+ this.onComplete = onComplete;
1743
+ this.next_();
1744
+ };
1745
+
1746
+ jasmine.Queue.prototype.isRunning = function() {
1747
+ return this.running;
1748
+ };
1749
+
1750
+ jasmine.Queue.LOOP_DONT_RECURSE = true;
1751
+
1752
+ jasmine.Queue.prototype.next_ = function() {
1753
+ var self = this;
1754
+ var goAgain = true;
1755
+
1756
+ while (goAgain) {
1757
+ goAgain = false;
1758
+
1759
+ if (self.index < self.blocks.length && !this.abort) {
1760
+ var calledSynchronously = true;
1761
+ var completedSynchronously = false;
1762
+
1763
+ var onComplete = function () {
1764
+ if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) {
1765
+ completedSynchronously = true;
1766
+ return;
1767
+ }
1768
+
1769
+ if (self.blocks[self.index].abort) {
1770
+ self.abort = true;
1771
+ }
1772
+
1773
+ self.offset = 0;
1774
+ self.index++;
1775
+
1776
+ var now = new Date().getTime();
1777
+ if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) {
1778
+ self.env.lastUpdate = now;
1779
+ self.env.setTimeout(function() {
1780
+ self.next_();
1781
+ }, 0);
1782
+ } else {
1783
+ if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {
1784
+ goAgain = true;
1785
+ } else {
1786
+ self.next_();
1787
+ }
1788
+ }
1789
+ };
1790
+ self.blocks[self.index].execute(onComplete);
1791
+
1792
+ calledSynchronously = false;
1793
+ if (completedSynchronously) {
1794
+ onComplete();
1795
+ }
1796
+
1797
+ } else {
1798
+ self.running = false;
1799
+ if (self.onComplete) {
1800
+ self.onComplete();
1801
+ }
1802
+ }
1803
+ }
1804
+ };
1805
+
1806
+ jasmine.Queue.prototype.results = function() {
1807
+ var results = new jasmine.NestedResults();
1808
+ for (var i = 0; i < this.blocks.length; i++) {
1809
+ if (this.blocks[i].results) {
1810
+ results.addResult(this.blocks[i].results());
1811
+ }
1812
+ }
1813
+ return results;
1814
+ };
1815
+
1816
+
1817
+ /**
1818
+ * Runner
1819
+ *
1820
+ * @constructor
1821
+ * @param {jasmine.Env} env
1822
+ */
1823
+ jasmine.Runner = function(env) {
1824
+ var self = this;
1825
+ self.env = env;
1826
+ self.queue = new jasmine.Queue(env);
1827
+ self.before_ = [];
1828
+ self.after_ = [];
1829
+ self.suites_ = [];
1830
+ };
1831
+
1832
+ jasmine.Runner.prototype.execute = function() {
1833
+ var self = this;
1834
+ if (self.env.reporter.reportRunnerStarting) {
1835
+ self.env.reporter.reportRunnerStarting(this);
1836
+ }
1837
+ self.queue.start(function () {
1838
+ self.finishCallback();
1839
+ });
1840
+ };
1841
+
1842
+ jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) {
1843
+ beforeEachFunction.typeName = 'beforeEach';
1844
+ this.before_.splice(0,0,beforeEachFunction);
1845
+ };
1846
+
1847
+ jasmine.Runner.prototype.afterEach = function(afterEachFunction) {
1848
+ afterEachFunction.typeName = 'afterEach';
1849
+ this.after_.splice(0,0,afterEachFunction);
1850
+ };
1851
+
1852
+
1853
+ jasmine.Runner.prototype.finishCallback = function() {
1854
+ this.env.reporter.reportRunnerResults(this);
1855
+ };
1856
+
1857
+ jasmine.Runner.prototype.addSuite = function(suite) {
1858
+ this.suites_.push(suite);
1859
+ };
1860
+
1861
+ jasmine.Runner.prototype.add = function(block) {
1862
+ if (block instanceof jasmine.Suite) {
1863
+ this.addSuite(block);
1864
+ }
1865
+ this.queue.add(block);
1866
+ };
1867
+
1868
+ jasmine.Runner.prototype.specs = function () {
1869
+ var suites = this.suites();
1870
+ var specs = [];
1871
+ for (var i = 0; i < suites.length; i++) {
1872
+ specs = specs.concat(suites[i].specs());
1873
+ }
1874
+ return specs;
1875
+ };
1876
+
1877
+ jasmine.Runner.prototype.suites = function() {
1878
+ return this.suites_;
1879
+ };
1880
+
1881
+ jasmine.Runner.prototype.topLevelSuites = function() {
1882
+ var topLevelSuites = [];
1883
+ for (var i = 0; i < this.suites_.length; i++) {
1884
+ if (!this.suites_[i].parentSuite) {
1885
+ topLevelSuites.push(this.suites_[i]);
1886
+ }
1887
+ }
1888
+ return topLevelSuites;
1889
+ };
1890
+
1891
+ jasmine.Runner.prototype.results = function() {
1892
+ return this.queue.results();
1893
+ };
1894
+ /**
1895
+ * Internal representation of a Jasmine specification, or test.
1896
+ *
1897
+ * @constructor
1898
+ * @param {jasmine.Env} env
1899
+ * @param {jasmine.Suite} suite
1900
+ * @param {String} description
1901
+ */
1902
+ jasmine.Spec = function(env, suite, description) {
1903
+ if (!env) {
1904
+ throw new Error('jasmine.Env() required');
1905
+ }
1906
+ if (!suite) {
1907
+ throw new Error('jasmine.Suite() required');
1908
+ }
1909
+ var spec = this;
1910
+ spec.id = env.nextSpecId ? env.nextSpecId() : null;
1911
+ spec.env = env;
1912
+ spec.suite = suite;
1913
+ spec.description = description;
1914
+ spec.queue = new jasmine.Queue(env);
1915
+
1916
+ spec.afterCallbacks = [];
1917
+ spec.spies_ = [];
1918
+
1919
+ spec.results_ = new jasmine.NestedResults();
1920
+ spec.results_.description = description;
1921
+ spec.matchersClass = null;
1922
+ };
1923
+
1924
+ jasmine.Spec.prototype.getFullName = function() {
1925
+ return this.suite.getFullName() + ' ' + this.description + '.';
1926
+ };
1927
+
1928
+
1929
+ jasmine.Spec.prototype.results = function() {
1930
+ return this.results_;
1931
+ };
1932
+
1933
+ /**
1934
+ * All parameters are pretty-printed and concatenated together, then written to the spec's output.
1935
+ *
1936
+ * Be careful not to leave calls to <code>jasmine.log</code> in production code.
1937
+ */
1938
+ jasmine.Spec.prototype.log = function() {
1939
+ return this.results_.log(arguments);
1940
+ };
1941
+
1942
+ jasmine.Spec.prototype.runs = function (func) {
1943
+ var block = new jasmine.Block(this.env, func, this);
1944
+ this.addToQueue(block);
1945
+ return this;
1946
+ };
1947
+
1948
+ jasmine.Spec.prototype.addToQueue = function (block) {
1949
+ if (this.queue.isRunning()) {
1950
+ this.queue.insertNext(block);
1951
+ } else {
1952
+ this.queue.add(block);
1953
+ }
1954
+ };
1955
+
1956
+ /**
1957
+ * @param {jasmine.ExpectationResult} result
1958
+ */
1959
+ jasmine.Spec.prototype.addMatcherResult = function(result) {
1960
+ this.results_.addResult(result);
1961
+ };
1962
+
1963
+ jasmine.Spec.prototype.expect = function(actual) {
1964
+ var positive = new (this.getMatchersClass_())(this.env, actual, this);
1965
+ positive.not = new (this.getMatchersClass_())(this.env, actual, this, true);
1966
+ return positive;
1967
+ };
1968
+
1969
+ /**
1970
+ * Waits a fixed time period before moving to the next block.
1971
+ *
1972
+ * @deprecated Use waitsFor() instead
1973
+ * @param {Number} timeout milliseconds to wait
1974
+ */
1975
+ jasmine.Spec.prototype.waits = function(timeout) {
1976
+ var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this);
1977
+ this.addToQueue(waitsFunc);
1978
+ return this;
1979
+ };
1980
+
1981
+ /**
1982
+ * Waits for the latchFunction to return true before proceeding to the next block.
1983
+ *
1984
+ * @param {Function} latchFunction
1985
+ * @param {String} optional_timeoutMessage
1986
+ * @param {Number} optional_timeout
1987
+ */
1988
+ jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
1989
+ var latchFunction_ = null;
1990
+ var optional_timeoutMessage_ = null;
1991
+ var optional_timeout_ = null;
1992
+
1993
+ for (var i = 0; i < arguments.length; i++) {
1994
+ var arg = arguments[i];
1995
+ switch (typeof arg) {
1996
+ case 'function':
1997
+ latchFunction_ = arg;
1998
+ break;
1999
+ case 'string':
2000
+ optional_timeoutMessage_ = arg;
2001
+ break;
2002
+ case 'number':
2003
+ optional_timeout_ = arg;
2004
+ break;
2005
+ }
2006
+ }
2007
+
2008
+ var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this);
2009
+ this.addToQueue(waitsForFunc);
2010
+ return this;
2011
+ };
2012
+
2013
+ jasmine.Spec.prototype.fail = function (e) {
2014
+ var expectationResult = new jasmine.ExpectationResult({
2015
+ passed: false,
2016
+ message: e ? jasmine.util.formatException(e) : 'Exception',
2017
+ trace: { stack: e.stack }
2018
+ });
2019
+ this.results_.addResult(expectationResult);
2020
+ };
2021
+
2022
+ jasmine.Spec.prototype.getMatchersClass_ = function() {
2023
+ return this.matchersClass || this.env.matchersClass;
2024
+ };
2025
+
2026
+ jasmine.Spec.prototype.addMatchers = function(matchersPrototype) {
2027
+ var parent = this.getMatchersClass_();
2028
+ var newMatchersClass = function() {
2029
+ parent.apply(this, arguments);
2030
+ };
2031
+ jasmine.util.inherit(newMatchersClass, parent);
2032
+ jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass);
2033
+ this.matchersClass = newMatchersClass;
2034
+ };
2035
+
2036
+ jasmine.Spec.prototype.finishCallback = function() {
2037
+ this.env.reporter.reportSpecResults(this);
2038
+ };
2039
+
2040
+ jasmine.Spec.prototype.finish = function(onComplete) {
2041
+ this.removeAllSpies();
2042
+ this.finishCallback();
2043
+ if (onComplete) {
2044
+ onComplete();
2045
+ }
2046
+ };
2047
+
2048
+ jasmine.Spec.prototype.after = function(doAfter) {
2049
+ if (this.queue.isRunning()) {
2050
+ this.queue.add(new jasmine.Block(this.env, doAfter, this));
2051
+ } else {
2052
+ this.afterCallbacks.unshift(doAfter);
2053
+ }
2054
+ };
2055
+
2056
+ jasmine.Spec.prototype.execute = function(onComplete) {
2057
+ var spec = this;
2058
+ if (!spec.env.specFilter(spec)) {
2059
+ spec.results_.skipped = true;
2060
+ spec.finish(onComplete);
2061
+ return;
2062
+ }
2063
+
2064
+ this.env.reporter.reportSpecStarting(this);
2065
+
2066
+ spec.env.currentSpec = spec;
2067
+
2068
+ spec.addBeforesAndAftersToQueue();
2069
+
2070
+ spec.queue.start(function () {
2071
+ spec.finish(onComplete);
2072
+ });
2073
+ };
2074
+
2075
+ jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() {
2076
+ var runner = this.env.currentRunner();
2077
+ var i;
2078
+
2079
+ for (var suite = this.suite; suite; suite = suite.parentSuite) {
2080
+ for (i = 0; i < suite.before_.length; i++) {
2081
+ this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this));
2082
+ }
2083
+ }
2084
+ for (i = 0; i < runner.before_.length; i++) {
2085
+ this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this));
2086
+ }
2087
+ for (i = 0; i < this.afterCallbacks.length; i++) {
2088
+ this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this));
2089
+ }
2090
+ for (suite = this.suite; suite; suite = suite.parentSuite) {
2091
+ for (i = 0; i < suite.after_.length; i++) {
2092
+ this.queue.add(new jasmine.Block(this.env, suite.after_[i], this));
2093
+ }
2094
+ }
2095
+ for (i = 0; i < runner.after_.length; i++) {
2096
+ this.queue.add(new jasmine.Block(this.env, runner.after_[i], this));
2097
+ }
2098
+ };
2099
+
2100
+ jasmine.Spec.prototype.explodes = function() {
2101
+ throw 'explodes function should not have been called';
2102
+ };
2103
+
2104
+ jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) {
2105
+ if (obj == jasmine.undefined) {
2106
+ throw "spyOn could not find an object to spy upon for " + methodName + "()";
2107
+ }
2108
+
2109
+ if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) {
2110
+ throw methodName + '() method does not exist';
2111
+ }
2112
+
2113
+ if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) {
2114
+ throw new Error(methodName + ' has already been spied upon');
2115
+ }
2116
+
2117
+ var spyObj = jasmine.createSpy(methodName);
2118
+
2119
+ this.spies_.push(spyObj);
2120
+ spyObj.baseObj = obj;
2121
+ spyObj.methodName = methodName;
2122
+ spyObj.originalValue = obj[methodName];
2123
+
2124
+ obj[methodName] = spyObj;
2125
+
2126
+ return spyObj;
2127
+ };
2128
+
2129
+ jasmine.Spec.prototype.removeAllSpies = function() {
2130
+ for (var i = 0; i < this.spies_.length; i++) {
2131
+ var spy = this.spies_[i];
2132
+ spy.baseObj[spy.methodName] = spy.originalValue;
2133
+ }
2134
+ this.spies_ = [];
2135
+ };
2136
+
2137
+ /**
2138
+ * Internal representation of a Jasmine suite.
2139
+ *
2140
+ * @constructor
2141
+ * @param {jasmine.Env} env
2142
+ * @param {String} description
2143
+ * @param {Function} specDefinitions
2144
+ * @param {jasmine.Suite} parentSuite
2145
+ */
2146
+ jasmine.Suite = function(env, description, specDefinitions, parentSuite) {
2147
+ var self = this;
2148
+ self.id = env.nextSuiteId ? env.nextSuiteId() : null;
2149
+ self.description = description;
2150
+ self.queue = new jasmine.Queue(env);
2151
+ self.parentSuite = parentSuite;
2152
+ self.env = env;
2153
+ self.before_ = [];
2154
+ self.after_ = [];
2155
+ self.children_ = [];
2156
+ self.suites_ = [];
2157
+ self.specs_ = [];
2158
+ };
2159
+
2160
+ jasmine.Suite.prototype.getFullName = function() {
2161
+ var fullName = this.description;
2162
+ for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) {
2163
+ fullName = parentSuite.description + ' ' + fullName;
2164
+ }
2165
+ return fullName;
2166
+ };
2167
+
2168
+ jasmine.Suite.prototype.finish = function(onComplete) {
2169
+ this.env.reporter.reportSuiteResults(this);
2170
+ this.finished = true;
2171
+ if (typeof(onComplete) == 'function') {
2172
+ onComplete();
2173
+ }
2174
+ };
2175
+
2176
+ jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) {
2177
+ beforeEachFunction.typeName = 'beforeEach';
2178
+ this.before_.unshift(beforeEachFunction);
2179
+ };
2180
+
2181
+ jasmine.Suite.prototype.afterEach = function(afterEachFunction) {
2182
+ afterEachFunction.typeName = 'afterEach';
2183
+ this.after_.unshift(afterEachFunction);
2184
+ };
2185
+
2186
+ jasmine.Suite.prototype.results = function() {
2187
+ return this.queue.results();
2188
+ };
2189
+
2190
+ jasmine.Suite.prototype.add = function(suiteOrSpec) {
2191
+ this.children_.push(suiteOrSpec);
2192
+ if (suiteOrSpec instanceof jasmine.Suite) {
2193
+ this.suites_.push(suiteOrSpec);
2194
+ this.env.currentRunner().addSuite(suiteOrSpec);
2195
+ } else {
2196
+ this.specs_.push(suiteOrSpec);
2197
+ }
2198
+ this.queue.add(suiteOrSpec);
2199
+ };
2200
+
2201
+ jasmine.Suite.prototype.specs = function() {
2202
+ return this.specs_;
2203
+ };
2204
+
2205
+ jasmine.Suite.prototype.suites = function() {
2206
+ return this.suites_;
2207
+ };
2208
+
2209
+ jasmine.Suite.prototype.children = function() {
2210
+ return this.children_;
2211
+ };
2212
+
2213
+ jasmine.Suite.prototype.execute = function(onComplete) {
2214
+ var self = this;
2215
+ this.queue.start(function () {
2216
+ self.finish(onComplete);
2217
+ });
2218
+ };
2219
+ jasmine.WaitsBlock = function(env, timeout, spec) {
2220
+ this.timeout = timeout;
2221
+ jasmine.Block.call(this, env, null, spec);
2222
+ };
2223
+
2224
+ jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block);
2225
+
2226
+ jasmine.WaitsBlock.prototype.execute = function (onComplete) {
2227
+ if (jasmine.VERBOSE) {
2228
+ this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...');
2229
+ }
2230
+ this.env.setTimeout(function () {
2231
+ onComplete();
2232
+ }, this.timeout);
2233
+ };
2234
+ /**
2235
+ * A block which waits for some condition to become true, with timeout.
2236
+ *
2237
+ * @constructor
2238
+ * @extends jasmine.Block
2239
+ * @param {jasmine.Env} env The Jasmine environment.
2240
+ * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true.
2241
+ * @param {Function} latchFunction A function which returns true when the desired condition has been met.
2242
+ * @param {String} message The message to display if the desired condition hasn't been met within the given time period.
2243
+ * @param {jasmine.Spec} spec The Jasmine spec.
2244
+ */
2245
+ jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) {
2246
+ this.timeout = timeout || env.defaultTimeoutInterval;
2247
+ this.latchFunction = latchFunction;
2248
+ this.message = message;
2249
+ this.totalTimeSpentWaitingForLatch = 0;
2250
+ jasmine.Block.call(this, env, null, spec);
2251
+ };
2252
+ jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block);
2253
+
2254
+ jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10;
2255
+
2256
+ jasmine.WaitsForBlock.prototype.execute = function(onComplete) {
2257
+ if (jasmine.VERBOSE) {
2258
+ this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen'));
2259
+ }
2260
+ var latchFunctionResult;
2261
+ try {
2262
+ latchFunctionResult = this.latchFunction.apply(this.spec);
2263
+ } catch (e) {
2264
+ this.spec.fail(e);
2265
+ onComplete();
2266
+ return;
2267
+ }
2268
+
2269
+ if (latchFunctionResult) {
2270
+ onComplete();
2271
+ } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) {
2272
+ var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen');
2273
+ this.spec.fail({
2274
+ name: 'timeout',
2275
+ message: message
2276
+ });
2277
+
2278
+ this.abort = true;
2279
+ onComplete();
2280
+ } else {
2281
+ this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT;
2282
+ var self = this;
2283
+ this.env.setTimeout(function() {
2284
+ self.execute(onComplete);
2285
+ }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT);
2286
+ }
2287
+ };
2288
+ // Mock setTimeout, clearTimeout
2289
+ // Contributed by Pivotal Computer Systems, www.pivotalsf.com
2290
+
2291
+ jasmine.FakeTimer = function() {
2292
+ this.reset();
2293
+
2294
+ var self = this;
2295
+ self.setTimeout = function(funcToCall, millis) {
2296
+ self.timeoutsMade++;
2297
+ self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false);
2298
+ return self.timeoutsMade;
2299
+ };
2300
+
2301
+ self.setInterval = function(funcToCall, millis) {
2302
+ self.timeoutsMade++;
2303
+ self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true);
2304
+ return self.timeoutsMade;
2305
+ };
2306
+
2307
+ self.clearTimeout = function(timeoutKey) {
2308
+ self.scheduledFunctions[timeoutKey] = jasmine.undefined;
2309
+ };
2310
+
2311
+ self.clearInterval = function(timeoutKey) {
2312
+ self.scheduledFunctions[timeoutKey] = jasmine.undefined;
2313
+ };
2314
+
2315
+ };
2316
+
2317
+ jasmine.FakeTimer.prototype.reset = function() {
2318
+ this.timeoutsMade = 0;
2319
+ this.scheduledFunctions = {};
2320
+ this.nowMillis = 0;
2321
+ };
2322
+
2323
+ jasmine.FakeTimer.prototype.tick = function(millis) {
2324
+ var oldMillis = this.nowMillis;
2325
+ var newMillis = oldMillis + millis;
2326
+ this.runFunctionsWithinRange(oldMillis, newMillis);
2327
+ this.nowMillis = newMillis;
2328
+ };
2329
+
2330
+ jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) {
2331
+ var scheduledFunc;
2332
+ var funcsToRun = [];
2333
+ for (var timeoutKey in this.scheduledFunctions) {
2334
+ scheduledFunc = this.scheduledFunctions[timeoutKey];
2335
+ if (scheduledFunc != jasmine.undefined &&
2336
+ scheduledFunc.runAtMillis >= oldMillis &&
2337
+ scheduledFunc.runAtMillis <= nowMillis) {
2338
+ funcsToRun.push(scheduledFunc);
2339
+ this.scheduledFunctions[timeoutKey] = jasmine.undefined;
2340
+ }
2341
+ }
2342
+
2343
+ if (funcsToRun.length > 0) {
2344
+ funcsToRun.sort(function(a, b) {
2345
+ return a.runAtMillis - b.runAtMillis;
2346
+ });
2347
+ for (var i = 0; i < funcsToRun.length; ++i) {
2348
+ try {
2349
+ var funcToRun = funcsToRun[i];
2350
+ this.nowMillis = funcToRun.runAtMillis;
2351
+ funcToRun.funcToCall();
2352
+ if (funcToRun.recurring) {
2353
+ this.scheduleFunction(funcToRun.timeoutKey,
2354
+ funcToRun.funcToCall,
2355
+ funcToRun.millis,
2356
+ true);
2357
+ }
2358
+ } catch(e) {
2359
+ }
2360
+ }
2361
+ this.runFunctionsWithinRange(oldMillis, nowMillis);
2362
+ }
2363
+ };
2364
+
2365
+ jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) {
2366
+ this.scheduledFunctions[timeoutKey] = {
2367
+ runAtMillis: this.nowMillis + millis,
2368
+ funcToCall: funcToCall,
2369
+ recurring: recurring,
2370
+ timeoutKey: timeoutKey,
2371
+ millis: millis
2372
+ };
2373
+ };
2374
+
2375
+ /**
2376
+ * @namespace
2377
+ */
2378
+ jasmine.Clock = {
2379
+ defaultFakeTimer: new jasmine.FakeTimer(),
2380
+
2381
+ reset: function() {
2382
+ jasmine.Clock.assertInstalled();
2383
+ jasmine.Clock.defaultFakeTimer.reset();
2384
+ },
2385
+
2386
+ tick: function(millis) {
2387
+ jasmine.Clock.assertInstalled();
2388
+ jasmine.Clock.defaultFakeTimer.tick(millis);
2389
+ },
2390
+
2391
+ runFunctionsWithinRange: function(oldMillis, nowMillis) {
2392
+ jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis);
2393
+ },
2394
+
2395
+ scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) {
2396
+ jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring);
2397
+ },
2398
+
2399
+ useMock: function() {
2400
+ if (!jasmine.Clock.isInstalled()) {
2401
+ var spec = jasmine.getEnv().currentSpec;
2402
+ spec.after(jasmine.Clock.uninstallMock);
2403
+
2404
+ jasmine.Clock.installMock();
2405
+ }
2406
+ },
2407
+
2408
+ installMock: function() {
2409
+ jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer;
2410
+ },
2411
+
2412
+ uninstallMock: function() {
2413
+ jasmine.Clock.assertInstalled();
2414
+ jasmine.Clock.installed = jasmine.Clock.real;
2415
+ },
2416
+
2417
+ real: {
2418
+ setTimeout: jasmine.getGlobal().setTimeout,
2419
+ clearTimeout: jasmine.getGlobal().clearTimeout,
2420
+ setInterval: jasmine.getGlobal().setInterval,
2421
+ clearInterval: jasmine.getGlobal().clearInterval
2422
+ },
2423
+
2424
+ assertInstalled: function() {
2425
+ if (!jasmine.Clock.isInstalled()) {
2426
+ throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()");
2427
+ }
2428
+ },
2429
+
2430
+ isInstalled: function() {
2431
+ return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer;
2432
+ },
2433
+
2434
+ installed: null
2435
+ };
2436
+ jasmine.Clock.installed = jasmine.Clock.real;
2437
+
2438
+ //else for IE support
2439
+ jasmine.getGlobal().setTimeout = function(funcToCall, millis) {
2440
+ if (jasmine.Clock.installed.setTimeout.apply) {
2441
+ return jasmine.Clock.installed.setTimeout.apply(this, arguments);
2442
+ } else {
2443
+ return jasmine.Clock.installed.setTimeout(funcToCall, millis);
2444
+ }
2445
+ };
2446
+
2447
+ jasmine.getGlobal().setInterval = function(funcToCall, millis) {
2448
+ if (jasmine.Clock.installed.setInterval.apply) {
2449
+ return jasmine.Clock.installed.setInterval.apply(this, arguments);
2450
+ } else {
2451
+ return jasmine.Clock.installed.setInterval(funcToCall, millis);
2452
+ }
2453
+ };
2454
+
2455
+ jasmine.getGlobal().clearTimeout = function(timeoutKey) {
2456
+ if (jasmine.Clock.installed.clearTimeout.apply) {
2457
+ return jasmine.Clock.installed.clearTimeout.apply(this, arguments);
2458
+ } else {
2459
+ return jasmine.Clock.installed.clearTimeout(timeoutKey);
2460
+ }
2461
+ };
2462
+
2463
+ jasmine.getGlobal().clearInterval = function(timeoutKey) {
2464
+ if (jasmine.Clock.installed.clearTimeout.apply) {
2465
+ return jasmine.Clock.installed.clearInterval.apply(this, arguments);
2466
+ } else {
2467
+ return jasmine.Clock.installed.clearInterval(timeoutKey);
2468
+ }
2469
+ };
2470
+
2471
+
2472
+ jasmine.version_= {
2473
+ "major": 2,
2474
+ "minor": 0,
2475
+ "build": 0,
2476
+ "revision": 1315499111,
2477
+ "release_candidate": 1
2478
+ };
2479
+