upjs-rails 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/Gemfile +8 -0
  4. data/Gemfile.lock +42 -0
  5. data/{LICENSE.txt → LICENSE} +1 -1
  6. data/Rakefile +38 -0
  7. data/dist/up.css +70 -0
  8. data/dist/up.js +2552 -0
  9. data/dist/up.min.css +1 -0
  10. data/dist/up.min.js +1 -0
  11. data/doc/theme/Gruntfile.js +25 -0
  12. data/doc/theme/README.md +29 -0
  13. data/doc/theme/api/.keep +0 -0
  14. data/doc/theme/assets/css/external-small.png +0 -0
  15. data/doc/theme/assets/css/logo.png +0 -0
  16. data/doc/theme/assets/css/main.css +859 -0
  17. data/doc/theme/assets/css/main.less +897 -0
  18. data/doc/theme/assets/favicon.png +0 -0
  19. data/doc/theme/assets/img/bgscreen.png +0 -0
  20. data/doc/theme/assets/img/spinner.gif +0 -0
  21. data/doc/theme/assets/index.html +10 -0
  22. data/doc/theme/assets/js/api-filter.js +52 -0
  23. data/doc/theme/assets/js/api-list.js +251 -0
  24. data/doc/theme/assets/js/api-search.js +98 -0
  25. data/doc/theme/assets/js/apidocs.js +369 -0
  26. data/doc/theme/assets/js/yui-prettify.js +17 -0
  27. data/doc/theme/assets/vendor/prettify/CHANGES.html +130 -0
  28. data/doc/theme/assets/vendor/prettify/COPYING +202 -0
  29. data/doc/theme/assets/vendor/prettify/README.html +203 -0
  30. data/doc/theme/assets/vendor/prettify/prettify-min.css +1 -0
  31. data/doc/theme/assets/vendor/prettify/prettify-min.js +1 -0
  32. data/doc/theme/layouts/main.handlebars +54 -0
  33. data/doc/theme/layouts/xhr.handlebars +7 -0
  34. data/doc/theme/package.json +53 -0
  35. data/doc/theme/partials/attrs.handlebars +141 -0
  36. data/doc/theme/partials/classes.handlebars +210 -0
  37. data/doc/theme/partials/events.handlebars +145 -0
  38. data/doc/theme/partials/exampleurl.handlebars +8 -0
  39. data/doc/theme/partials/files.handlebars +7 -0
  40. data/doc/theme/partials/index.handlebars +18 -0
  41. data/doc/theme/partials/method.handlebars +201 -0
  42. data/doc/theme/partials/module.handlebars +92 -0
  43. data/doc/theme/partials/options.handlebars +23 -0
  44. data/doc/theme/partials/props.handlebars +128 -0
  45. data/doc/theme/partials/sidebar.handlebars +27 -0
  46. data/doc/theme/theme.json +4 -0
  47. data/doc/yuidoc-helpers.js +0 -0
  48. data/doc/yuidoc.json +15 -0
  49. data/lib/assets/javascripts/up/browser.js.coffee +11 -0
  50. data/lib/assets/javascripts/up/bus.js.coffee +37 -9
  51. data/lib/assets/javascripts/up/flow.js.coffee +131 -58
  52. data/lib/assets/javascripts/up/form.js.coffee +70 -35
  53. data/lib/assets/javascripts/up/history.js.coffee +31 -9
  54. data/lib/assets/javascripts/up/link.js.coffee +122 -27
  55. data/lib/assets/javascripts/up/magic.js.coffee +87 -21
  56. data/lib/assets/javascripts/up/marker.js.coffee +37 -0
  57. data/lib/assets/javascripts/up/modal.js.coffee +183 -42
  58. data/lib/assets/javascripts/up/motion.js.coffee +65 -43
  59. data/lib/assets/javascripts/up/navigation.js.coffee +29 -11
  60. data/lib/assets/javascripts/up/popup.js.coffee +104 -29
  61. data/lib/assets/javascripts/up/tooltip.js.coffee +93 -0
  62. data/lib/assets/javascripts/up/util.js.coffee +139 -14
  63. data/lib/assets/javascripts/up.js.coffee +19 -0
  64. data/lib/assets/stylesheets/up/close.css.sass +2 -0
  65. data/lib/assets/stylesheets/up/modal.css.sass +23 -26
  66. data/lib/assets/stylesheets/up/popup.css.sass +4 -0
  67. data/lib/assets/stylesheets/up/tooltip.css.sass +17 -0
  68. data/lib/assets/stylesheets/{up/index.css → up.css} +0 -0
  69. data/lib/upjs/rails/version.rb +1 -1
  70. data/spec_app/Bowerfile +3 -0
  71. data/spec_app/Gemfile +6 -0
  72. data/spec_app/Gemfile.lock +11 -1
  73. data/spec_app/app/assets/javascripts/application.js +3 -0
  74. data/spec_app/config/initializers/bower_rails.rb +16 -0
  75. data/spec_app/config/routes.rb +1 -0
  76. data/spec_app/spec/javascripts/helpers/index.js.coffee +1 -0
  77. data/spec_app/spec/javascripts/helpers/reset_path.js.coffee +7 -0
  78. data/spec_app/spec/javascripts/helpers/reset_up.js.coffee +4 -0
  79. data/spec_app/spec/javascripts/support/jasmine.yml +50 -0
  80. data/spec_app/spec/javascripts/up/flow_spec.js.coffee +75 -0
  81. data/spec_app/spec/javascripts/up/marker_spec.js.coffee +14 -0
  82. data/spec_app/spec/javascripts/up/navigation_spec.js.coffee +27 -0
  83. data/spec_app/spec/javascripts/up/util_spec.js.coffee +27 -0
  84. data/spec_app/vendor/assets/.bowerrc +3 -0
  85. data/spec_app/vendor/assets/bower.json +8 -0
  86. data/spec_app/vendor/assets/bower_components/jasmine/.bower.json +14 -0
  87. data/spec_app/vendor/assets/bower_components/jasmine/.gitignore +24 -0
  88. data/spec_app/vendor/assets/bower_components/jasmine/.gitmodules +3 -0
  89. data/spec_app/vendor/assets/bower_components/jasmine/.jshintrc +9 -0
  90. data/spec_app/vendor/assets/bower_components/jasmine/.npmignore +21 -0
  91. data/spec_app/vendor/assets/bower_components/jasmine/.rspec +1 -0
  92. data/spec_app/vendor/assets/bower_components/jasmine/.travis.yml +51 -0
  93. data/spec_app/vendor/assets/bower_components/jasmine/CONTRIBUTING.md +121 -0
  94. data/spec_app/vendor/assets/bower_components/jasmine/GOALS_2.0.md +64 -0
  95. data/spec_app/vendor/assets/bower_components/jasmine/Gemfile +12 -0
  96. data/spec_app/vendor/assets/bower_components/jasmine/Gruntfile.js +53 -0
  97. data/spec_app/vendor/assets/bower_components/jasmine/MANIFEST.in +5 -0
  98. data/spec_app/vendor/assets/bower_components/jasmine/MIT.LICENSE +20 -0
  99. data/spec_app/vendor/assets/bower_components/jasmine/README.md +64 -0
  100. data/spec_app/vendor/assets/bower_components/jasmine/RELEASE.md +63 -0
  101. data/spec_app/vendor/assets/bower_components/jasmine/Rakefile +18 -0
  102. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-1.0.0.zip +0 -0
  103. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-1.1.0.zip +0 -0
  104. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-1.2.0.zip +0 -0
  105. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-1.3.0.zip +0 -0
  106. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-1.3.1.zip +0 -0
  107. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-2.0.0.zip +0 -0
  108. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-2.0.1.zip +0 -0
  109. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-2.0.2.zip +0 -0
  110. data/spec_app/vendor/assets/bower_components/jasmine/dist/jasmine-standalone-2.0.3.zip +0 -0
  111. data/spec_app/vendor/assets/bower_components/jasmine/grunt/config/compass.js +10 -0
  112. data/spec_app/vendor/assets/bower_components/jasmine/grunt/config/compress.js +66 -0
  113. data/spec_app/vendor/assets/bower_components/jasmine/grunt/config/concat.js +61 -0
  114. data/spec_app/vendor/assets/bower_components/jasmine/grunt/config/jshint.js +11 -0
  115. data/spec_app/vendor/assets/bower_components/jasmine/grunt/tasks/build_standalone.js +31 -0
  116. data/spec_app/vendor/assets/bower_components/jasmine/grunt/tasks/version.js +14 -0
  117. data/spec_app/vendor/assets/bower_components/jasmine/grunt/templates/SpecRunner.html.jst +26 -0
  118. data/spec_app/vendor/assets/bower_components/jasmine/grunt/templates/licenseBanner.js.jst +22 -0
  119. data/spec_app/vendor/assets/bower_components/jasmine/grunt/templates/version.rb.jst +9 -0
  120. data/spec_app/vendor/assets/bower_components/jasmine/images/__init__.py +0 -0
  121. data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine-horizontal.png +0 -0
  122. data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine-horizontal.svg +102 -0
  123. data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine_favicon.png +0 -0
  124. data/spec_app/vendor/assets/bower_components/jasmine/jasmine-core.gemspec +23 -0
  125. data/spec_app/vendor/assets/bower_components/jasmine/lib/console/console.js +166 -0
  126. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/__init__.py +1 -0
  127. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/boot/boot.js +120 -0
  128. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/boot/node_boot.js +19 -0
  129. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/boot.js +142 -0
  130. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/core.py +60 -0
  131. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/spec/PlayerSpec.js +60 -0
  132. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/spec/SpecHelper.js +15 -0
  133. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/src/Player.js +24 -0
  134. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/src/Song.js +9 -0
  135. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/spec/PlayerSpec.js +58 -0
  136. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/spec/SpecHelper.js +15 -0
  137. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/src/Player.js +22 -0
  138. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/src/Song.js +7 -0
  139. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine-html.js +390 -0
  140. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.css +61 -0
  141. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.js +2593 -0
  142. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/json2.js +478 -0
  143. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/node_boot.js +41 -0
  144. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/version.rb +9 -0
  145. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core.js +39 -0
  146. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core.rb +53 -0
  147. data/spec_app/vendor/assets/bower_components/jasmine/package.json +23 -0
  148. data/spec_app/vendor/assets/bower_components/jasmine/release_notes/2.0.1.md +70 -0
  149. data/spec_app/vendor/assets/bower_components/jasmine/release_notes/2.0.2.md +25 -0
  150. data/spec_app/vendor/assets/bower_components/jasmine/release_notes/20.md +179 -0
  151. data/spec_app/vendor/assets/bower_components/jasmine/requirements.txt +1 -0
  152. data/spec_app/vendor/assets/bower_components/jasmine/setup.py +47 -0
  153. data/spec_app/vendor/assets/bower_components/jasmine/spec/console/ConsoleReporterSpec.js +239 -0
  154. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/AnySpec.js +46 -0
  155. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/CallTrackerSpec.js +105 -0
  156. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ClockSpec.js +445 -0
  157. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/DelayedFunctionSchedulerSpec.js +246 -0
  158. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/EnvSpec.js +85 -0
  159. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ExceptionFormatterSpec.js +63 -0
  160. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ExceptionsSpec.js +68 -0
  161. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ExpectationResultSpec.js +61 -0
  162. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ExpectationSpec.js +427 -0
  163. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/JsApiReporterSpec.js +214 -0
  164. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/MockDateSpec.js +199 -0
  165. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ObjectContainingSpec.js +70 -0
  166. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/PrettyPrintSpec.js +156 -0
  167. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/QueueRunnerSpec.js +271 -0
  168. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/ReportDispatcherSpec.js +40 -0
  169. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/SpecSpec.js +260 -0
  170. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/SpySpec.js +67 -0
  171. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/SpyStrategySpec.js +111 -0
  172. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/SuiteSpec.js +216 -0
  173. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/TimerSpec.js +31 -0
  174. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/UtilSpec.js +28 -0
  175. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/integration/CustomMatchersSpec.js +149 -0
  176. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/integration/EnvSpec.js +506 -0
  177. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/integration/SpecRunningSpec.js +306 -0
  178. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/matchersUtilSpec.js +239 -0
  179. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeCloseToSpec.js +51 -0
  180. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeDefinedSpec.js +18 -0
  181. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeFalsySpec.js +38 -0
  182. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeGreaterThanSpec.js +20 -0
  183. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeLessThanSpec.js +20 -0
  184. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeNaNSpec.js +37 -0
  185. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeNullSpec.js +17 -0
  186. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeSpec.js +17 -0
  187. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeTruthySpec.js +38 -0
  188. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toBeUndefinedSpec.js +18 -0
  189. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toContainSpec.js +26 -0
  190. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toEqualSpec.js +28 -0
  191. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toHaveBeenCalledSpec.js +47 -0
  192. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toHaveBeenCalledWithSpec.js +66 -0
  193. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toMatchSpec.js +34 -0
  194. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toThrowErrorSpec.js +280 -0
  195. data/spec_app/vendor/assets/bower_components/jasmine/spec/core/matchers/toThrowSpec.js +99 -0
  196. data/spec_app/vendor/assets/bower_components/jasmine/spec/helpers/BrowserFlags.js +23 -0
  197. data/spec_app/vendor/assets/bower_components/jasmine/spec/helpers/defineJasmineUnderTest.js +7 -0
  198. data/spec_app/vendor/assets/bower_components/jasmine/spec/helpers/nodeDefineJasmineUnderTest.js +33 -0
  199. data/spec_app/vendor/assets/bower_components/jasmine/spec/html/HtmlReporterSpec.js +616 -0
  200. data/spec_app/vendor/assets/bower_components/jasmine/spec/html/HtmlSpecFilterSpec.js +18 -0
  201. data/spec_app/vendor/assets/bower_components/jasmine/spec/html/MatchersHtmlSpec.js +37 -0
  202. data/spec_app/vendor/assets/bower_components/jasmine/spec/html/PrettyPrintHtmlSpec.js +15 -0
  203. data/spec_app/vendor/assets/bower_components/jasmine/spec/html/QueryStringSpec.js +43 -0
  204. data/spec_app/vendor/assets/bower_components/jasmine/spec/html/ResultsNodeSpec.js +62 -0
  205. data/spec_app/vendor/assets/bower_components/jasmine/spec/javascripts/support/jasmine_selenium_runner.yml +16 -0
  206. data/spec_app/vendor/assets/bower_components/jasmine/spec/performance/large_object_test.js +36 -0
  207. data/spec_app/vendor/assets/bower_components/jasmine/spec/performance/performance_test.js +10 -0
  208. data/spec_app/vendor/assets/bower_components/jasmine/spec/support/jasmine-performance.json +9 -0
  209. data/spec_app/vendor/assets/bower_components/jasmine/spec/support/jasmine-performance.yml +9 -0
  210. data/spec_app/vendor/assets/bower_components/jasmine/spec/support/jasmine.json +10 -0
  211. data/spec_app/vendor/assets/bower_components/jasmine/spec/support/jasmine.yml +25 -0
  212. data/spec_app/vendor/assets/bower_components/jasmine/src/console/ConsoleReporter.js +131 -0
  213. data/spec_app/vendor/assets/bower_components/jasmine/src/console/requireConsole.js +12 -0
  214. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Any.js +36 -0
  215. data/spec_app/vendor/assets/bower_components/jasmine/src/core/CallTracker.js +50 -0
  216. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Clock.js +113 -0
  217. data/spec_app/vendor/assets/bower_components/jasmine/src/core/DelayedFunctionScheduler.js +145 -0
  218. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Env.js +341 -0
  219. data/spec_app/vendor/assets/bower_components/jasmine/src/core/ExceptionFormatter.js +29 -0
  220. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Expectation.js +107 -0
  221. data/spec_app/vendor/assets/bower_components/jasmine/src/core/ExpectationResult.js +45 -0
  222. data/spec_app/vendor/assets/bower_components/jasmine/src/core/JsApiReporter.js +73 -0
  223. data/spec_app/vendor/assets/bower_components/jasmine/src/core/MockDate.js +81 -0
  224. data/spec_app/vendor/assets/bower_components/jasmine/src/core/ObjectContaining.js +34 -0
  225. data/spec_app/vendor/assets/bower_components/jasmine/src/core/PrettyPrinter.js +137 -0
  226. data/spec_app/vendor/assets/bower_components/jasmine/src/core/QueueRunner.js +92 -0
  227. data/spec_app/vendor/assets/bower_components/jasmine/src/core/ReportDispatcher.js +35 -0
  228. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Spec.js +126 -0
  229. data/spec_app/vendor/assets/bower_components/jasmine/src/core/SpyStrategy.js +51 -0
  230. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Suite.js +92 -0
  231. data/spec_app/vendor/assets/bower_components/jasmine/src/core/Timer.js +22 -0
  232. data/spec_app/vendor/assets/bower_components/jasmine/src/core/base.js +102 -0
  233. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/matchersUtil.js +181 -0
  234. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/requireMatchers.js +29 -0
  235. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBe.js +13 -0
  236. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeCloseTo.js +18 -0
  237. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeDefined.js +13 -0
  238. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeFalsy.js +13 -0
  239. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeGreaterThan.js +15 -0
  240. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeLessThan.js +14 -0
  241. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeNaN.js +22 -0
  242. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeNull.js +14 -0
  243. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeTruthy.js +14 -0
  244. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toBeUndefined.js +14 -0
  245. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toContain.js +16 -0
  246. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toEqual.js +20 -0
  247. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toHaveBeenCalled.js +28 -0
  248. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toHaveBeenCalledWith.js +33 -0
  249. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toMatch.js +16 -0
  250. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toThrow.js +46 -0
  251. data/spec_app/vendor/assets/bower_components/jasmine/src/core/matchers/toThrowError.js +156 -0
  252. data/spec_app/vendor/assets/bower_components/jasmine/src/core/requireCore.js +39 -0
  253. data/spec_app/vendor/assets/bower_components/jasmine/src/core/requireInterface.js +59 -0
  254. data/spec_app/vendor/assets/bower_components/jasmine/src/core/util.js +44 -0
  255. data/spec_app/vendor/assets/bower_components/jasmine/src/html/HtmlReporter.js +280 -0
  256. data/spec_app/vendor/assets/bower_components/jasmine/src/html/HtmlSpecFilter.js +12 -0
  257. data/spec_app/vendor/assets/bower_components/jasmine/src/html/QueryString.js +47 -0
  258. data/spec_app/vendor/assets/bower_components/jasmine/src/html/ResultsNode.js +19 -0
  259. data/spec_app/vendor/assets/bower_components/jasmine/src/html/_HTMLReporter.scss +355 -0
  260. data/spec_app/vendor/assets/bower_components/jasmine/src/html/jasmine.scss +1 -0
  261. data/spec_app/vendor/assets/bower_components/jasmine/src/html/requireHtml.js +6 -0
  262. data/spec_app/vendor/assets/bower_components/jasmine/src/templates/example_project_jasmine_tags.html.erb +3 -0
  263. data/spec_app/vendor/assets/bower_components/jasmine/src/templates/version.js.erb +7 -0
  264. data/spec_app/vendor/assets/bower_components/jasmine/src/templates/version.rb.erb +6 -0
  265. data/spec_app/vendor/assets/bower_components/jasmine/src/version.js +3 -0
  266. data/spec_app/vendor/assets/bower_components/jasmine/travis-core-script.sh +14 -0
  267. data/spec_app/vendor/assets/bower_components/jasmine/travis-docs-script.sh +5 -0
  268. data/spec_app/vendor/assets/bower_components/jasmine/travis-node-script.sh +6 -0
  269. data/spec_app/vendor/assets/bower_components/jasmine-ajax/.bower.json +45 -0
  270. data/spec_app/vendor/assets/bower_components/jasmine-ajax/Gruntfile.js +63 -0
  271. data/spec_app/vendor/assets/bower_components/jasmine-ajax/MIT.LICENSE +20 -0
  272. data/spec_app/vendor/assets/bower_components/jasmine-ajax/README.markdown +216 -0
  273. data/spec_app/vendor/assets/bower_components/jasmine-ajax/bower.json +36 -0
  274. data/spec_app/vendor/assets/bower_components/jasmine-ajax/lib/mock-ajax.js +542 -0
  275. data/spec_app/vendor/assets/bower_components/jasmine-ajax/package.json +21 -0
  276. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/boot.js +11 -0
  277. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/fakeRequest.js +262 -0
  278. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/mockAjax.js +45 -0
  279. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/paramParser.js +56 -0
  280. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/requestStub.js +42 -0
  281. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/requestTracker.js +51 -0
  282. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/requireAjax.js +44 -0
  283. data/spec_app/vendor/assets/bower_components/jasmine-ajax/src/stubTracker.js +24 -0
  284. data/spec_app/vendor/assets/bower_components/jasmine-fixture/.bower.json +27 -0
  285. data/spec_app/vendor/assets/bower_components/jasmine-fixture/.gitignore +8 -0
  286. data/spec_app/vendor/assets/bower_components/jasmine-fixture/.npmignore +8 -0
  287. data/spec_app/vendor/assets/bower_components/jasmine-fixture/LICENSE.txt +24 -0
  288. data/spec_app/vendor/assets/bower_components/jasmine-fixture/README.md +118 -0
  289. data/spec_app/vendor/assets/bower_components/jasmine-fixture/bower.json +17 -0
  290. data/spec_app/vendor/assets/bower_components/jasmine-fixture/dist/jasmine-fixture.js +433 -0
  291. data/spec_app/vendor/assets/bower_components/jasmine-fixture/dist/jasmine-fixture.min.js +5 -0
  292. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/basic-usage-spec.coffee +14 -0
  293. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/invariants.coffee +17 -0
  294. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/spec-within-a-spec.coffee +24 -0
  295. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/tmp-files.coffee +8 -0
  296. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/support/jasmine1-testem-config.json +11 -0
  297. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/support/jasmine2-testem-config.json +11 -0
  298. data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-1.11.0.js +10337 -0
  299. data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-1.8.3.js +9472 -0
  300. data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-2.1.0.js +9111 -0
  301. data/spec_app/vendor/assets/bower_components/jasmine-jquery/.bower.json +26 -0
  302. data/spec_app/vendor/assets/bower_components/jasmine-jquery/CONTRIBUTING.md +28 -0
  303. data/spec_app/vendor/assets/bower_components/jasmine-jquery/Gruntfile.js +33 -0
  304. data/spec_app/vendor/assets/bower_components/jasmine-jquery/MIT.LICENSE +20 -0
  305. data/spec_app/vendor/assets/bower_components/jasmine-jquery/README.md +362 -0
  306. data/spec_app/vendor/assets/bower_components/jasmine-jquery/bower.json +16 -0
  307. data/spec_app/vendor/assets/bower_components/jasmine-jquery/lib/jasmine-jquery.js +813 -0
  308. data/spec_app/vendor/assets/bower_components/jasmine-jquery/package.json +26 -0
  309. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_javascript.html +1 -0
  310. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_javascript_block.html +1 -0
  311. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_click.js +1 -0
  312. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_hover.js +1 -0
  313. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/json/jasmine_json_test.json +1 -0
  314. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/real_non_mocked_fixture.html +1 -0
  315. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/real_non_mocked_fixture_style.css +1 -0
  316. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/suites/jasmine-jquery-spec.js +1782 -0
  317. data/spec_app/vendor/assets/bower_components/jquery/.bower.json +37 -0
  318. data/spec_app/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +21 -0
  319. data/spec_app/vendor/assets/bower_components/jquery/bower.json +27 -0
  320. data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.js +9205 -0
  321. data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.min.js +5 -0
  322. data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -0
  323. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +89 -0
  324. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/load.js +75 -0
  325. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  326. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +28 -0
  327. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/script.js +64 -0
  328. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  329. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  330. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/xhr.js +136 -0
  331. data/spec_app/vendor/assets/bower_components/jquery/src/ajax.js +786 -0
  332. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/attr.js +141 -0
  333. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/classes.js +158 -0
  334. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/prop.js +94 -0
  335. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/support.js +35 -0
  336. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/val.js +161 -0
  337. data/spec_app/vendor/assets/bower_components/jquery/src/attributes.js +11 -0
  338. data/spec_app/vendor/assets/bower_components/jquery/src/callbacks.js +205 -0
  339. data/spec_app/vendor/assets/bower_components/jquery/src/core/access.js +60 -0
  340. data/spec_app/vendor/assets/bower_components/jquery/src/core/init.js +123 -0
  341. data/spec_app/vendor/assets/bower_components/jquery/src/core/parseHTML.js +39 -0
  342. data/spec_app/vendor/assets/bower_components/jquery/src/core/ready.js +97 -0
  343. data/spec_app/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  344. data/spec_app/vendor/assets/bower_components/jquery/src/core.js +497 -0
  345. data/spec_app/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  346. data/spec_app/vendor/assets/bower_components/jquery/src/css/curCSS.js +57 -0
  347. data/spec_app/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  348. data/spec_app/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  349. data/spec_app/vendor/assets/bower_components/jquery/src/css/support.js +96 -0
  350. data/spec_app/vendor/assets/bower_components/jquery/src/css/swap.js +28 -0
  351. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  352. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +12 -0
  353. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +13 -0
  354. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  355. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  356. data/spec_app/vendor/assets/bower_components/jquery/src/css.js +450 -0
  357. data/spec_app/vendor/assets/bower_components/jquery/src/data/Data.js +181 -0
  358. data/spec_app/vendor/assets/bower_components/jquery/src/data/accepts.js +20 -0
  359. data/spec_app/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +5 -0
  360. data/spec_app/vendor/assets/bower_components/jquery/src/data/var/data_user.js +5 -0
  361. data/spec_app/vendor/assets/bower_components/jquery/src/data.js +178 -0
  362. data/spec_app/vendor/assets/bower_components/jquery/src/deferred.js +149 -0
  363. data/spec_app/vendor/assets/bower_components/jquery/src/deprecated.js +13 -0
  364. data/spec_app/vendor/assets/bower_components/jquery/src/dimensions.js +50 -0
  365. data/spec_app/vendor/assets/bower_components/jquery/src/effects/Tween.js +114 -0
  366. data/spec_app/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  367. data/spec_app/vendor/assets/bower_components/jquery/src/effects.js +648 -0
  368. data/spec_app/vendor/assets/bower_components/jquery/src/event/ajax.js +13 -0
  369. data/spec_app/vendor/assets/bower_components/jquery/src/event/alias.js +39 -0
  370. data/spec_app/vendor/assets/bower_components/jquery/src/event/support.js +9 -0
  371. data/spec_app/vendor/assets/bower_components/jquery/src/event.js +868 -0
  372. data/spec_app/vendor/assets/bower_components/jquery/src/exports/amd.js +24 -0
  373. data/spec_app/vendor/assets/bower_components/jquery/src/exports/global.js +32 -0
  374. data/spec_app/vendor/assets/bower_components/jquery/src/intro.js +44 -0
  375. data/spec_app/vendor/assets/bower_components/jquery/src/jquery.js +37 -0
  376. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  377. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/support.js +32 -0
  378. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  379. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation.js +580 -0
  380. data/spec_app/vendor/assets/bower_components/jquery/src/offset.js +207 -0
  381. data/spec_app/vendor/assets/bower_components/jquery/src/outro.js +1 -0
  382. data/spec_app/vendor/assets/bower_components/jquery/src/queue/delay.js +22 -0
  383. data/spec_app/vendor/assets/bower_components/jquery/src/queue.js +142 -0
  384. data/spec_app/vendor/assets/bower_components/jquery/src/selector-native.js +172 -0
  385. data/spec_app/vendor/assets/bower_components/jquery/src/selector-sizzle.js +14 -0
  386. data/spec_app/vendor/assets/bower_components/jquery/src/selector.js +1 -0
  387. data/spec_app/vendor/assets/bower_components/jquery/src/serialize.js +111 -0
  388. data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  389. data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  390. data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  391. data/spec_app/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  392. data/spec_app/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  393. data/spec_app/vendor/assets/bower_components/jquery/src/traversing.js +199 -0
  394. data/spec_app/vendor/assets/bower_components/jquery/src/var/arr.js +3 -0
  395. data/spec_app/vendor/assets/bower_components/jquery/src/var/class2type.js +4 -0
  396. data/spec_app/vendor/assets/bower_components/jquery/src/var/concat.js +5 -0
  397. data/spec_app/vendor/assets/bower_components/jquery/src/var/hasOwn.js +5 -0
  398. data/spec_app/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -0
  399. data/spec_app/vendor/assets/bower_components/jquery/src/var/pnum.js +3 -0
  400. data/spec_app/vendor/assets/bower_components/jquery/src/var/push.js +5 -0
  401. data/spec_app/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  402. data/spec_app/vendor/assets/bower_components/jquery/src/var/slice.js +5 -0
  403. data/spec_app/vendor/assets/bower_components/jquery/src/var/strundefined.js +3 -0
  404. data/spec_app/vendor/assets/bower_components/jquery/src/var/support.js +4 -0
  405. data/spec_app/vendor/assets/bower_components/jquery/src/var/toString.js +5 -0
  406. data/spec_app/vendor/assets/bower_components/jquery/src/wrap.js +79 -0
  407. metadata +386 -6
  408. data/lib/assets/javascripts/up/index.js +0 -13
  409. data/spec_app/app/assets/stylesheets/blocks/field_with_errors.css.sass +0 -5
@@ -0,0 +1,27 @@
1
+ describe 'up.util', ->
2
+
3
+ describe '.isBlank', ->
4
+
5
+ it 'returns false for false', ->
6
+ expect(up.util.isBlank(false)).toBe(false)
7
+
8
+ it 'returns false for true', ->
9
+ expect(up.util.isBlank(true)).toBe(false)
10
+
11
+ it 'returns true for null', ->
12
+ expect(up.util.isBlank(null)).toBe(true)
13
+
14
+ it 'returns true for undefined', ->
15
+ expect(up.util.isBlank(undefined)).toBe(true)
16
+
17
+ it 'returns true for an empty String', ->
18
+ expect(up.util.isBlank('')).toBe(true)
19
+
20
+ it 'returns false for a String with at least one character', ->
21
+ expect(up.util.isBlank('string')).toBe(false)
22
+
23
+ it 'returns true for an empty array', ->
24
+ expect(up.util.isBlank([])).toBe(true)
25
+
26
+ it 'returns false for an array with at least one element', ->
27
+ expect(up.util.isBlank(['element'])).toBe(false)
@@ -0,0 +1,3 @@
1
+ {
2
+ "directory": "bower_components"
3
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "dsl-generated dependencies",
3
+ "dependencies": {
4
+ "jasmine-jquery": "latest",
5
+ "jasmine-fixture": "latest",
6
+ "jasmine-ajax": "latest"
7
+ }
8
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "jasmine",
3
+ "homepage": "https://github.com/pivotal/jasmine",
4
+ "version": "2.0.4",
5
+ "_release": "2.0.4",
6
+ "_resolution": {
7
+ "type": "version",
8
+ "tag": "v2.0.4",
9
+ "commit": "d1b4a64a573d69f6cfd07c862a34402efdd0ea06"
10
+ },
11
+ "_source": "git://github.com/pivotal/jasmine.git",
12
+ "_target": "~2.0",
13
+ "_originalSource": "jasmine"
14
+ }
@@ -0,0 +1,24 @@
1
+ .idea/
2
+ .svn/
3
+ .DS_Store
4
+ site/
5
+ .bundle/
6
+ .pairs
7
+ .rvmrc
8
+ .ruby-gemset
9
+ .ruby-version
10
+ *.gem
11
+ .bundle
12
+ tags
13
+ Gemfile.lock
14
+ pkg/*
15
+ .sass-cache/*
16
+ src/html/.sass-cache/*
17
+ node_modules/
18
+ *.pyc
19
+ sauce_connect.log
20
+ *.swp
21
+ build/
22
+ *.egg-info/
23
+ dist/*.tar.gz
24
+ nbproject/
@@ -0,0 +1,3 @@
1
+ [submodule "pages"]
2
+ path = pages
3
+ url = https://github.com/pivotal/jasmine.git
@@ -0,0 +1,9 @@
1
+ {
2
+ "bitwise": true,
3
+ "curly": true,
4
+ "immed": true,
5
+ "newcap": true,
6
+ "trailing": true,
7
+ "loopfunc": true,
8
+ "quotmark": "single"
9
+ }
@@ -0,0 +1,21 @@
1
+ dist/
2
+ grunt/
3
+ node_modules
4
+ release_notes/
5
+ spec/
6
+ src/
7
+ Gemfile
8
+ Gemfile.lock
9
+ Rakefile
10
+ jasmine-core.gemspec
11
+ .rspec
12
+ .travis.yml
13
+ .jshintrc
14
+ .gitignore
15
+ *.sh
16
+ Gruntfile.js
17
+ lib/jasmine-core.rb
18
+ lib/jasmine-core/boot/
19
+ lib/jasmine-core/spec
20
+ lib/jasmine-core/version.rb
21
+ lib/jasmine-core/*.py
@@ -0,0 +1,51 @@
1
+ ---
2
+ script: $TEST_COMMAND
3
+ language: ruby
4
+ cache: bundler
5
+ rvm: 1.9.3
6
+ env:
7
+ global:
8
+ - USE_SAUCE=true
9
+ - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
10
+ - TEST_COMMAND="bash travis-core-script.sh"
11
+ - JASMINE_BROWSER="firefox"
12
+ - SAUCE_OS="Linux"
13
+ - SAUCE_BROWSER_VERSION=''
14
+ - secure: WSPWhlnC4mWSnSPquX+m1/BCu5ch5NygkaHuM2Nea7lD8oS3XLX8QncZZAsQ4lnNfqoDDuBOizG0AESiqNvE4y6x5qvLLTS6q+ce255ZEMZ71TBdZgDEEvGMEjOPPsVXiXyTQOP1lwOPlrbZvaPgWV7e11KIBab6DfFcQpnvDgo=
15
+ - secure: SW7CJhZnwaNT749Gdnhvqb5rbXlAOsygUAzh9qhtyvbqXKkmJdBIEsO01YF6pbju1X2twE9JvWCOxeZju43NgQChJlPsGbjY2j3k/TdQeTAJesQe2K7ytwghunI30gjEovtRH0T3w1EmcKPH8yj5eBIcB2OYoJHx8KEC7e68q1g=
16
+ matrix:
17
+ include:
18
+ - env:
19
+ - USE_SAUCE=false
20
+ - TEST_COMMAND="bash travis-node-script.sh"
21
+ - env:
22
+ - JASMINE_BROWSER="safari"
23
+ - SAUCE_OS="OS X 10.8"
24
+ - SAUCE_BROWSER_VERSION=6
25
+ - env:
26
+ - JASMINE_BROWSER="safari"
27
+ - SAUCE_OS="OS X 10.6"
28
+ - SAUCE_BROWSER_VERSION=5
29
+ - env:
30
+ - JASMINE_BROWSER="internet explorer"
31
+ - SAUCE_OS="Windows 8"
32
+ - SAUCE_BROWSER_VERSION=10
33
+ - env:
34
+ - JASMINE_BROWSER="internet explorer"
35
+ - SAUCE_OS="Windows 7"
36
+ - SAUCE_BROWSER_VERSION=9
37
+ - env:
38
+ - JASMINE_BROWSER="internet explorer"
39
+ - SAUCE_OS="Windows 7"
40
+ - SAUCE_BROWSER_VERSION=8
41
+ - env:
42
+ - JASMINE_BROWSER="chrome"
43
+ - SAUCE_OS="Linux"
44
+ - SAUCE_BROWSER_VERSION=''
45
+ - env:
46
+ - JASMINE_BROWSER="phantomjs"
47
+ - USE_SAUCE=false
48
+ - env:
49
+ - USE_SAUCE=false
50
+ - JASMINE_BROWSER="phantomjs"
51
+ - TEST_COMMAND="bash travis-docs-script.sh"
@@ -0,0 +1,121 @@
1
+ # Developing for Jasmine Core
2
+
3
+ We welcome your contributions - Thanks for helping make Jasmine a better project for everyone. Please review the backlog and discussion lists (the main group - [http://groups.google.com/group/jasmine-js](http://groups.google.com/group/jasmine-js) and the developer's list - [http://groups.google.com/group/jasmine-js-dev](http://groups.google.com/group/jasmine-js-dev)) before starting work - what you're looking for may already have been done. If it hasn't, the community can help make your contribution better.
4
+
5
+ ## General Workflow
6
+
7
+ Please submit pull requests via feature branches using the semi-standard workflow of:
8
+
9
+ 1. Fork it
10
+ 1. Clone your fork: (`git clone git@github.com:yourUserName/jasmine.git`)
11
+ 1. Change directory: (`cd jasmine`)
12
+ 1. Asign original repository to a remote named 'upstream': (`git remote add
13
+ upstream https://github.com/pivotal/jasmine.git`)
14
+ 1. Pull in changes not present in your local repository: (`git fetch upstream`)
15
+ 1. Create your feature branch (`git checkout -b my-new-feature`)
16
+ 1. Commit your changes (`git commit -am 'Add some feature'`)
17
+ 1. Push to the branch (`git push origin my-new-feature`)
18
+ 1. Create new Pull Request
19
+
20
+ We favor pull requests with very small, single commits with a single purpose.
21
+
22
+ ## Background
23
+
24
+ ### Directory Structure
25
+
26
+ * `/src` contains all of the source files
27
+ * `/src/console` - Node.js-specific files
28
+ * `/src/core` - generic source files
29
+ * `/src/html` - browser-specific files
30
+ * `/spec` contains all of the tests
31
+ * mirrors the source directory
32
+ * there are some additional files
33
+ * `/dist` contains the standalone distributions as zip files
34
+ * `/lib` contains the generated files for distribution as the Jasmine Rubygem and the Python package
35
+
36
+ ### Self-testing
37
+
38
+ Note that Jasmine tests itself. The files in `lib` are loaded first, defining the reference `jasmine`. Then the files in `src` are loaded, defining the reference `j$`. So there are two copies of the code loaded under test.
39
+
40
+ The tests should always use `j$` to refer to the objects and functions that are being tested. But the tests can use functions on `jasmine` as needed. _Be careful how you structure any new test code_. Copy the patterns you see in the existing code - this ensures that the code you're testing is not leaking into the `jasmine` reference and vice-versa.
41
+
42
+ ### `boot.js`
43
+
44
+ __This is new for Jasmine 2.0.__
45
+
46
+ This file does all of the setup necessary for Jasmine to work. It loads all of the code, creates an `Env`, attaches the global functions, and builds the reporter. It also sets up the execution of the `Env` - for browsers this is in `window.onload`. While the default in `lib` is appropriate for browsers, projects may wish to customize this file.
47
+
48
+ For example, for Jasmine development there is a different `dev_boot.js` for Jasmine development that does more work.
49
+
50
+ ### Compatibility
51
+
52
+ * Browser Minimum
53
+ * IE8
54
+ * Firefox 3.x
55
+ * Chrome ??
56
+ * Safari 5
57
+
58
+ ## Development
59
+
60
+ All source code belongs in `src/`. The `core/` directory contains the bulk of Jasmine's functionality. This code should remain browser- and environment-agnostic. If your feature or fix cannot be, as mentioned above, please degrade gracefully. Any code that should only be in a non-browser environment should live in `src/console/`. Any code that depends on a browser (specifically, it expects `window` to be the global or `document` is present) should live in `src/html/`.
61
+
62
+ ### Install Dependencies
63
+
64
+ Jasmine Core relies on Ruby and Node.js.
65
+
66
+ To install the Ruby dependencies, you will need Ruby, Rubygems, and Bundler available. Then:
67
+
68
+ $ bundle
69
+
70
+ ...will install all of the Ruby dependencies.
71
+
72
+ To install the Node dependencies, you will need Node.js, Npm, and [Grunt](http://gruntjs.com/), the [grunt-cli](https://github.com/gruntjs/grunt-cli) and ensure that `grunt` is on your path.
73
+
74
+ $ npm install --local
75
+
76
+ ...will install all of the node modules locally. If when you run
77
+
78
+ $ grunt
79
+
80
+ ...you see that JSHint runs your system is ready.
81
+
82
+ ### How to write new Jasmine code
83
+
84
+ Or, How to make a successful pull request
85
+
86
+ * _Do not change the public interface_. Lots of projects depend on Jasmine and if you aren't careful you'll break them
87
+ * _Be environment agnostic_ - server-side developers are just as important as browser developers
88
+ * _Be browser agnostic_ - if you must rely on browser-specific functionality, please write it in a way that degrades gracefully
89
+ * _Write specs_ - Jasmine's a testing framework; don't add functionality without test-driving it
90
+ * _Write code in the style of the rest of the repo_ - Jasmine should look like a cohesive whole
91
+ * _Ensure the *entire* test suite is green_ in all the big browsers, Node, and JSHint - your contribution shouldn't break Jasmine for other users
92
+
93
+ Follow these tips and your pull request, patch, or suggestion is much more likely to be integrated.
94
+
95
+ ### Running Specs
96
+
97
+ Jasmine uses the [Jasmine Ruby gem](http://github.com/pivotal/jasmine-gem) to test itself in browser.
98
+
99
+ $ rake jasmine
100
+
101
+ ...and then visit `http://localhost:8888` to run specs.
102
+
103
+ Jasmine uses Node.js with a custom runner to test outside of a browser.
104
+
105
+ $ grunt execSpecsInNode
106
+
107
+ ...and then the results will print to the console. All specs run except those that expect a browser (the specs in `spec/html` are ignored).
108
+
109
+ ## Before Committing or Submitting a Pull Request
110
+
111
+ 1. Ensure all specs are green in browser *and* node
112
+ 1. Ensure JSHint is green with `grunt jshint`
113
+ 1. Build `jasmine.js` with `grunt buildDistribution` and run all specs again - this ensures that your changes self-test well
114
+
115
+ ## Submitting a Pull Request
116
+ 1. Revert your changes to `jasmine.js` and `jasmine-html.js`
117
+ * We do this because `jasmine.js` and `jasmine-html.js` are auto-generated (as you've seen in the previous steps) and accepting multiple pull requests when this auto-generated file changes causes lots of headaches.
118
+ 1. When we accept your pull request, we will generate these files as a separate commit and merge the entire branch into master.
119
+
120
+ Note that we use Travis for Continuous Integration. We only accept green pull requests.
121
+
@@ -0,0 +1,64 @@
1
+ # (Vague) Jasmine 2.0 Goals/(Guidelines)
2
+
3
+ 1. No globals!
4
+ * jasmine library is entirely inside `jasmine` namespace
5
+ * globals required for backwards compatibility should be added in `boot.js` (EG, var describe = jasmine.getCurrentEnv().describe lives in boot.js)
6
+ 1. Don't use properties as getters. Use methods.
7
+ * Properties aren't encapsulated -- can be mutated, unsafe.
8
+ 1. Reporters get data objects (no methods).
9
+ * easier to refactor as needed
10
+ 1. More unit tests - fewer nasty integration tests
11
+
12
+ ## Remaining non-story-able work:
13
+ * Make a `TODO` list
14
+
15
+ ### Hard
16
+ * Finish killing Globals
17
+ * Guidelines:
18
+ * New objects can have constructors on `jasmine`
19
+ * Top level functions can live on `jasmine`
20
+ * Top level (i.e., any `jasmine` property) should only be referenced inside the `Env` constructor
21
+ * should better allow any object to get jasmine code (Node-friendly)
22
+ * review everything in base.js
23
+ * Remove isA functions:
24
+ * isArray_ - used in matchers and spies
25
+ * isString_
26
+ * isDOMNode_
27
+ * isA_
28
+ * unimplementedMethod_, used by PrettyPrinter
29
+ * jasmine.util should be util closure inside of env or something
30
+ * argsToArray is used for Spies and matching (and can be replaced)
31
+ * inherit is only for PrettyPrinter now
32
+ * formatException is used only inside Env/spec
33
+ * htmlEscape is for messages in matchers - should this be HTML at all?
34
+ * Pretty printing
35
+ * move away from pretty printer and to a JSON.stringify implementation?
36
+ * jasmineToString vs. custom toString ?
37
+
38
+ ### Easy
39
+
40
+ * unify params to ctors: options vs. attrs.
41
+ * This will be a lot of the TODOs, but clean up & simplify Env.js (is this a 2.1 task?)
42
+
43
+ ### DONE
44
+ * Matchers improvements
45
+ * unit testable DONE
46
+ * better equality (from Underscore) DONE
47
+ * addCustomMatchers doesn't explode stack DONE
48
+ * refactor equals function so that it just loops & recurses over a list of fns (custom and built-in) - 2.1? (Tracker story)
49
+ * Spies
50
+ * break these out into their own tests/file DONE
51
+
52
+
53
+ ## Other Topics
54
+
55
+ * Docs
56
+ * Docco has gone over well. Should we annotate all the sources and then have Pages be more complex, having tutorials and annotated source like Backbone? Are we small enough?
57
+ * Need examples for:
58
+ * How to build a Custom Matcher
59
+ * How to add a custom equality tester
60
+
61
+
62
+
63
+
64
+
@@ -0,0 +1,12 @@
1
+ source 'https://rubygems.org'
2
+ gem "jasmine", :git => 'https://github.com/pivotal/jasmine-gem.git'
3
+ # gem "jasmine", path: "/Users/pivotal/workspace/jasmine-gem"
4
+ unless ENV["TRAVIS"]
5
+ group :debug do
6
+ gem 'debugger'
7
+ end
8
+ end
9
+
10
+ gemspec
11
+
12
+ gem "anchorman"
@@ -0,0 +1,53 @@
1
+ module.exports = function(grunt) {
2
+ var pkg = require("./package.json");
3
+ global.jasmineVersion = pkg.version;
4
+
5
+ grunt.initConfig({
6
+ pkg: pkg,
7
+ jshint: require('./grunt/config/jshint.js'),
8
+ concat: require('./grunt/config/concat.js'),
9
+ compass: require('./grunt/config/compass.js'),
10
+ compress: require('./grunt/config/compress.js')
11
+ });
12
+
13
+ require('load-grunt-tasks')(grunt);
14
+
15
+ grunt.loadTasks('grunt/tasks');
16
+
17
+ grunt.registerTask('default', ['jshint:all']);
18
+
19
+ var version = require('./grunt/tasks/version.js');
20
+ var standaloneBuilder = require('./grunt/tasks/build_standalone.js');
21
+
22
+ grunt.registerTask('build:copyVersionToGem',
23
+ "Propagates the version from package.json to version.rb",
24
+ version.copyToGem);
25
+
26
+ grunt.registerTask('buildDistribution',
27
+ 'Builds and lints jasmine.js, jasmine-html.js, jasmine.css',
28
+ [
29
+ 'compass',
30
+ 'jshint:beforeConcat',
31
+ 'concat',
32
+ 'jshint:afterConcat',
33
+ 'build:copyVersionToGem'
34
+ ]
35
+ );
36
+
37
+ grunt.registerTask("execSpecsInNode",
38
+ "Run Jasmine core specs in Node.js",
39
+ function() {
40
+ var exitInfo = require("shelljs").exec("node_modules/.bin/jasmine");
41
+ if (exitInfo.code !== 0) {
42
+ grunt.fail.fatal("Specs Failed", exitInfo.code);
43
+ }
44
+ }
45
+ );
46
+
47
+ grunt.registerTask("execSpecsInNode:performance",
48
+ "Run Jasmine performance specs in Node.js",
49
+ function() {
50
+ require("shelljs").exec("node_modules/.bin/jasmine JASMINE_CONFIG_PATH=spec/support/jasmine-performance.json");
51
+ }
52
+ );
53
+ };
@@ -0,0 +1,5 @@
1
+ recursive-include . *.py
2
+ include lib/jasmine-core/*.js
3
+ include lib/jasmine-core/*.css
4
+ include images/*.png
5
+ include package.json
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2008-2014 Pivotal Labs
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,64 @@
1
+ <a name="README">[<img src="https://rawgithub.com/pivotal/jasmine/master/images/jasmine-horizontal.svg" width="400px" />](http://jasmine.github.io)</a>
2
+
3
+ [![Build Status](https://travis-ci.org/pivotal/jasmine.png?branch=master)](https://travis-ci.org/pivotal/jasmine) [![Code Climate](https://codeclimate.com/github/pivotal/jasmine.png)](https://codeclimate.com/github/pivotal/jasmine)
4
+
5
+ =======
6
+
7
+ **A JavaScript Testing Framework**
8
+
9
+ Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, [Node.js](http://nodejs.org) projects, or anywhere that JavaScript can run.
10
+
11
+ Documentation & guides live here: [http://jasmine.github.io](http://jasmine.github.io/)
12
+ For a quick start guide of Jasmine 2.0, see the beginning of [http://jasmine.github.io/2.0/introduction.html](http://jasmine.github.io/2.0/introduction.html)
13
+
14
+ Upgrading from Jasmine 1.x? Check out the [2.0 release notes](https://github.com/pivotal/jasmine/blob/v2.0.0/release_notes/20.md) for a list of what's new (including breaking interface changes).
15
+
16
+ ## Contributing
17
+
18
+ Please read the [contributors' guide](https://github.com/pivotal/jasmine/blob/master/CONTRIBUTING.md)
19
+
20
+ ## Installation
21
+
22
+ To install Jasmine on your local box:
23
+
24
+ * Clone Jasmine - `git clone https://github.com/pivotal/jasmine.git`
25
+ * Create a Jasmine directory in your project - `mkdir my-project/jasmine`
26
+ * Move latest dist to your project directory - `mv jasmine/dist/jasmine-standalone-2.0.0.zip my-project/jasmine`
27
+ * Change directory - `cd my-project/jasmine`
28
+ * Unzip the dist - `unzip jasmine-standalone-2.0.0.zip`
29
+
30
+ Add the following to your HTML file:
31
+
32
+ <link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-2.0.0/jasmine_favicon.png">
33
+ <link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-2.0.0/jasmine.css">
34
+
35
+ <script type="text/javascript" src="jasmine/lib/jasmine-2.0.0/jasmine.js"></script>
36
+ <script type="text/javascript" src="jasmine/lib/jasmine-2.0.0/jasmine-html.js"></script>
37
+ <script type="text/javascript" src="jasmine/lib/jasmine-2.0.0/boot.js"></script>
38
+
39
+ For the Jasmine Ruby Gem:<br>
40
+ [https://github.com/pivotal/jasmine-gem](https://github.com/pivotal/jasmine-gem)
41
+
42
+ For the Jasmine Python Egg:<br>
43
+ [https://github.com/pivotal/jasmine-py](https://github.com/pivotal/jasmine-py)
44
+
45
+
46
+
47
+ ## Support
48
+
49
+ * Search past discussions: [http://groups.google.com/group/jasmine-js](http://groups.google.com/group/jasmine-js)
50
+ * Send an email to the list: [jasmine-js@googlegroups.com](mailto:jasmine-js@googlegroups.com)
51
+ * View the project backlog at Pivotal Tracker: [http://www.pivotaltracker.com/projects/10606](http://www.pivotaltracker.com/projects/10606)
52
+ * Follow us on Twitter: [@JasmineBDD](http://twitter.com/JasmineBDD)
53
+
54
+ ## Maintainers
55
+
56
+ * [Davis W. Frank](mailto:dwfrank@pivotallabs.com), Pivotal Labs
57
+ * [Rajan Agaskar](mailto:rajan@pivotallabs.com), Pivotal Labs
58
+ * [Sheel Choksi](mailto:schoksi@pivotallabs.com), Pivotal Labs
59
+
60
+ ### Maintainers Emeritus
61
+
62
+ * [Christian Williams](mailto:antixian666@gmail.com), Square
63
+
64
+ Copyright (c) 2008-2014 Pivotal Labs. This software is licensed under the MIT License.
@@ -0,0 +1,63 @@
1
+ # How to work on a Jasmine Release
2
+
3
+ ## Development
4
+ ___Jasmine Core Maintainers Only___
5
+
6
+ Follow the instructions in `CONTRIBUTING.md` during development.
7
+
8
+ ### Git Rules
9
+
10
+ Please work on feature branches.
11
+
12
+ Please attempt to keep commits to `master` small, but cohesive. If a feature is contained in a bunch of small commits (e.g., it has several wip commits or small work), please squash them when merging back to `master`.
13
+
14
+ ### Version
15
+
16
+ We attempt to stick to [Semantic Versioning](http://semver.org/). Most of the time, development should be against a new minor version - fixing bugs and adding new features that are backwards compatible.
17
+
18
+ The current version lives in the file `/package.json`. This file should be set to the version that is _currently_ under development. That is, if version 1.0.0 is the current release then version should be incremented say, to 1.1.0.
19
+
20
+ This version is used by both `jasmine.js` and the `jasmine-core` Ruby gem.
21
+
22
+ Note that Jasmine should *not* use the "patch" version number. Let downstream projects rev their patch versions as needed, keeping their major and minor version numbers in sync with Jasmine core.
23
+
24
+ ## Release
25
+
26
+ When ready to release - specs are all green and the stories are done:
27
+
28
+ 1. Update the release notes in `release_notes` - use the Anchorman gem to generate the markdown file and edit accordingly
29
+ 1. Update the version in `package.json` to a release candidate
30
+ 1. Update any links or top-level landing page for the Github Pages
31
+
32
+ ### Build standalone distribution
33
+
34
+ 1. Build the standalone distribution with `grunt buildStandaloneDist`
35
+ 1. Make sure you add the new ZIP file to git
36
+ 1. Should we still do this? Given we want to use guthub releases...
37
+
38
+ ### Release the Python egg
39
+
40
+ 1. `python setup.py register sdist upload` You will need pypi credentials to upload the egg.
41
+
42
+ ### Release the Ruby gem
43
+
44
+ 1. Copy version to the Ruby gem with `grunt build:copyVersionToGem`
45
+ 1. __NOTE__: You will likely need to point to a local jasmine gem in order to run tests locally. _Do not_ push this version of the Gemfile.
46
+ 1. __NOTE__: You will likely need to push a new jasmine gem with a dependent version right after this release.
47
+ 1. Push these changes to GitHub and verify that this SHA is green
48
+ 1. `rake release` - tags the repo with the version, builds the `jasmine-core` gem, pushes the gem to Rubygems.org. In order to release you will have to ensure you have rubygems creds locally.
49
+
50
+ ### Release the NPM
51
+
52
+ 1. `npm adduser` to save your credentials locally
53
+ 1. `npm publish .` to publish what's in `package.json`
54
+
55
+ ### Finally
56
+
57
+ 1. Visit the [Releases page for Jasmine](https://github.com/pivotal/jasmine/releases), find the tag just pushed.
58
+ 1. Paste in a link to the correct release notes for this release. The link should reference the blob and tag correctly, and the markdown file for the notes.
59
+ 1. If it is a pre-release, mark it as such.
60
+ 1. Attach the standalone zipfile
61
+
62
+
63
+ There should be a post to Pivotal Labs blog and a tweet to that link.
@@ -0,0 +1,18 @@
1
+ require "bundler"
2
+ Bundler::GemHelper.install_tasks
3
+ require "json"
4
+ require "jasmine"
5
+ unless ENV["JASMINE_BROWSER"] == 'phantomjs'
6
+ require "jasmine_selenium_runner"
7
+ end
8
+ load "jasmine/tasks/jasmine.rake"
9
+
10
+ namespace :jasmine do
11
+ task :set_env do
12
+ ENV['JASMINE_CONFIG_PATH'] ||= 'spec/support/jasmine.yml'
13
+ end
14
+ end
15
+
16
+ task "jasmine:configure" => "jasmine:set_env"
17
+
18
+ task :default => "jasmine:ci"
@@ -0,0 +1,10 @@
1
+ module.exports = {
2
+ jasmine: {
3
+ options: {
4
+ cssDir: 'lib/jasmine-core/',
5
+ sassDir: 'src/html',
6
+ outputStyle: 'compact',
7
+ noLineComments: true,
8
+ }
9
+ }
10
+ };