locomotivecms 3.1.1 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (910) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/locomotive/install/templates/mongoid_heroku.yml +3 -3
  3. data/lib/locomotive/version.rb +1 -1
  4. data/spec/requests/locomotive/steam/cache_spec.rb +1 -1
  5. metadata +4 -911
  6. data/vendor/assets/components/locomotive_sources/backbone/LICENSE +0 -22
  7. data/vendor/assets/components/locomotive_sources/backbone/backbone-min.js +0 -2
  8. data/vendor/assets/components/locomotive_sources/backbone/backbone-min.map +0 -1
  9. data/vendor/assets/components/locomotive_sources/backbone/backbone.js +0 -1894
  10. data/vendor/assets/components/locomotive_sources/backbone/bower.json +0 -8
  11. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/Gruntfile.js +0 -82
  12. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/LICENSE +0 -20
  13. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/README.md +0 -92
  14. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/bootstrap-tagsinput.jquery.json +0 -27
  15. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/bower.json +0 -42
  16. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput-angular.js +0 -87
  17. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput-angular.min.js +0 -7
  18. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput-angular.min.js.map +0 -1
  19. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css +0 -49
  20. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput.css +0 -55
  21. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput.js +0 -663
  22. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput.less +0 -50
  23. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js +0 -7
  24. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js.map +0 -1
  25. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/dist/bootstrap-tagsinput.zip +0 -0
  26. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/assets/app.css +0 -67
  27. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/assets/app.js +0 -15
  28. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/assets/app_bs2.js +0 -74
  29. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/assets/app_bs3.js +0 -95
  30. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/assets/cities.json +0 -16
  31. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/assets/citynames.json +0 -16
  32. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/bootstrap-2.3.2.html +0 -666
  33. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/examples/index.html +0 -742
  34. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/karma.conf.js +0 -20
  35. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/package.json +0 -47
  36. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/src/bootstrap-tagsinput-angular.js +0 -87
  37. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/src/bootstrap-tagsinput-typeahead.css +0 -49
  38. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/src/bootstrap-tagsinput.css +0 -55
  39. data/vendor/assets/components/locomotive_sources/bootstrap-tagsinput/src/bootstrap-tagsinput.js +0 -663
  40. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +0 -38
  41. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/Gruntfile.js +0 -191
  42. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/LICENSE +0 -21
  43. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/README.md +0 -37
  44. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/bower.json +0 -35
  45. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css +0 -103
  46. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +0 -373
  47. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +0 -5
  48. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +0 -9
  49. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/component.json +0 -9
  50. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/composer.json +0 -28
  51. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md +0 -222
  52. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md +0 -126
  53. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Events.md +0 -96
  54. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Extras.md +0 -95
  55. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/FAQ.md +0 -22
  56. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Functions.md +0 -670
  57. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Installing.md +0 -161
  58. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Options.md +0 -473
  59. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md +0 -6
  60. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md +0 -6
  61. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/docs/index.md +0 -592
  62. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/mkdocs.yml +0 -17
  63. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/package.json +0 -43
  64. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +0 -2552
  65. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less +0 -352
  66. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +0 -17
  67. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec +0 -34
  68. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec +0 -34
  69. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe +0 -0
  70. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 +0 -2
  71. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss +0 -343
  72. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss +0 -16
  73. data/vendor/assets/components/locomotive_sources/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js +0 -88
  74. data/vendor/assets/components/locomotive_sources/jquery/MIT-LICENSE.txt +0 -21
  75. data/vendor/assets/components/locomotive_sources/jquery/bower.json +0 -28
  76. data/vendor/assets/components/locomotive_sources/jquery/dist/jquery.js +0 -9210
  77. data/vendor/assets/components/locomotive_sources/jquery/dist/jquery.min.js +0 -5
  78. data/vendor/assets/components/locomotive_sources/jquery/dist/jquery.min.map +0 -1
  79. data/vendor/assets/components/locomotive_sources/jquery/src/ajax.js +0 -786
  80. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/jsonp.js +0 -89
  81. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/load.js +0 -75
  82. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/parseJSON.js +0 -13
  83. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/parseXML.js +0 -28
  84. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/script.js +0 -64
  85. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/var/nonce.js +0 -5
  86. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/var/rquery.js +0 -3
  87. data/vendor/assets/components/locomotive_sources/jquery/src/ajax/xhr.js +0 -136
  88. data/vendor/assets/components/locomotive_sources/jquery/src/attributes.js +0 -11
  89. data/vendor/assets/components/locomotive_sources/jquery/src/attributes/attr.js +0 -141
  90. data/vendor/assets/components/locomotive_sources/jquery/src/attributes/classes.js +0 -158
  91. data/vendor/assets/components/locomotive_sources/jquery/src/attributes/prop.js +0 -94
  92. data/vendor/assets/components/locomotive_sources/jquery/src/attributes/support.js +0 -35
  93. data/vendor/assets/components/locomotive_sources/jquery/src/attributes/val.js +0 -161
  94. data/vendor/assets/components/locomotive_sources/jquery/src/callbacks.js +0 -205
  95. data/vendor/assets/components/locomotive_sources/jquery/src/core.js +0 -502
  96. data/vendor/assets/components/locomotive_sources/jquery/src/core/access.js +0 -60
  97. data/vendor/assets/components/locomotive_sources/jquery/src/core/init.js +0 -123
  98. data/vendor/assets/components/locomotive_sources/jquery/src/core/parseHTML.js +0 -39
  99. data/vendor/assets/components/locomotive_sources/jquery/src/core/ready.js +0 -97
  100. data/vendor/assets/components/locomotive_sources/jquery/src/core/var/rsingleTag.js +0 -4
  101. data/vendor/assets/components/locomotive_sources/jquery/src/css.js +0 -450
  102. data/vendor/assets/components/locomotive_sources/jquery/src/css/addGetHookIf.js +0 -22
  103. data/vendor/assets/components/locomotive_sources/jquery/src/css/curCSS.js +0 -57
  104. data/vendor/assets/components/locomotive_sources/jquery/src/css/defaultDisplay.js +0 -70
  105. data/vendor/assets/components/locomotive_sources/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  106. data/vendor/assets/components/locomotive_sources/jquery/src/css/support.js +0 -96
  107. data/vendor/assets/components/locomotive_sources/jquery/src/css/swap.js +0 -28
  108. data/vendor/assets/components/locomotive_sources/jquery/src/css/var/cssExpand.js +0 -3
  109. data/vendor/assets/components/locomotive_sources/jquery/src/css/var/getStyles.js +0 -12
  110. data/vendor/assets/components/locomotive_sources/jquery/src/css/var/isHidden.js +0 -13
  111. data/vendor/assets/components/locomotive_sources/jquery/src/css/var/rmargin.js +0 -3
  112. data/vendor/assets/components/locomotive_sources/jquery/src/css/var/rnumnonpx.js +0 -5
  113. data/vendor/assets/components/locomotive_sources/jquery/src/data.js +0 -178
  114. data/vendor/assets/components/locomotive_sources/jquery/src/data/Data.js +0 -181
  115. data/vendor/assets/components/locomotive_sources/jquery/src/data/accepts.js +0 -20
  116. data/vendor/assets/components/locomotive_sources/jquery/src/data/var/data_priv.js +0 -5
  117. data/vendor/assets/components/locomotive_sources/jquery/src/data/var/data_user.js +0 -5
  118. data/vendor/assets/components/locomotive_sources/jquery/src/deferred.js +0 -149
  119. data/vendor/assets/components/locomotive_sources/jquery/src/deprecated.js +0 -13
  120. data/vendor/assets/components/locomotive_sources/jquery/src/dimensions.js +0 -50
  121. data/vendor/assets/components/locomotive_sources/jquery/src/effects.js +0 -648
  122. data/vendor/assets/components/locomotive_sources/jquery/src/effects/Tween.js +0 -114
  123. data/vendor/assets/components/locomotive_sources/jquery/src/effects/animatedSelector.js +0 -13
  124. data/vendor/assets/components/locomotive_sources/jquery/src/event.js +0 -868
  125. data/vendor/assets/components/locomotive_sources/jquery/src/event/ajax.js +0 -13
  126. data/vendor/assets/components/locomotive_sources/jquery/src/event/alias.js +0 -39
  127. data/vendor/assets/components/locomotive_sources/jquery/src/event/support.js +0 -9
  128. data/vendor/assets/components/locomotive_sources/jquery/src/exports/amd.js +0 -24
  129. data/vendor/assets/components/locomotive_sources/jquery/src/exports/global.js +0 -32
  130. data/vendor/assets/components/locomotive_sources/jquery/src/intro.js +0 -44
  131. data/vendor/assets/components/locomotive_sources/jquery/src/jquery.js +0 -37
  132. data/vendor/assets/components/locomotive_sources/jquery/src/manipulation.js +0 -580
  133. data/vendor/assets/components/locomotive_sources/jquery/src/manipulation/_evalUrl.js +0 -18
  134. data/vendor/assets/components/locomotive_sources/jquery/src/manipulation/support.js +0 -32
  135. data/vendor/assets/components/locomotive_sources/jquery/src/manipulation/var/rcheckableType.js +0 -3
  136. data/vendor/assets/components/locomotive_sources/jquery/src/offset.js +0 -207
  137. data/vendor/assets/components/locomotive_sources/jquery/src/outro.js +0 -1
  138. data/vendor/assets/components/locomotive_sources/jquery/src/queue.js +0 -142
  139. data/vendor/assets/components/locomotive_sources/jquery/src/queue/delay.js +0 -22
  140. data/vendor/assets/components/locomotive_sources/jquery/src/selector-native.js +0 -172
  141. data/vendor/assets/components/locomotive_sources/jquery/src/selector-sizzle.js +0 -14
  142. data/vendor/assets/components/locomotive_sources/jquery/src/selector.js +0 -1
  143. data/vendor/assets/components/locomotive_sources/jquery/src/serialize.js +0 -111
  144. data/vendor/assets/components/locomotive_sources/jquery/src/sizzle/dist/sizzle.js +0 -2067
  145. data/vendor/assets/components/locomotive_sources/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  146. data/vendor/assets/components/locomotive_sources/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  147. data/vendor/assets/components/locomotive_sources/jquery/src/traversing.js +0 -199
  148. data/vendor/assets/components/locomotive_sources/jquery/src/traversing/findFilter.js +0 -100
  149. data/vendor/assets/components/locomotive_sources/jquery/src/traversing/var/rneedsContext.js +0 -6
  150. data/vendor/assets/components/locomotive_sources/jquery/src/var/arr.js +0 -3
  151. data/vendor/assets/components/locomotive_sources/jquery/src/var/class2type.js +0 -4
  152. data/vendor/assets/components/locomotive_sources/jquery/src/var/concat.js +0 -5
  153. data/vendor/assets/components/locomotive_sources/jquery/src/var/hasOwn.js +0 -5
  154. data/vendor/assets/components/locomotive_sources/jquery/src/var/indexOf.js +0 -5
  155. data/vendor/assets/components/locomotive_sources/jquery/src/var/pnum.js +0 -3
  156. data/vendor/assets/components/locomotive_sources/jquery/src/var/push.js +0 -5
  157. data/vendor/assets/components/locomotive_sources/jquery/src/var/rnotwhite.js +0 -3
  158. data/vendor/assets/components/locomotive_sources/jquery/src/var/slice.js +0 -5
  159. data/vendor/assets/components/locomotive_sources/jquery/src/var/strundefined.js +0 -3
  160. data/vendor/assets/components/locomotive_sources/jquery/src/var/support.js +0 -4
  161. data/vendor/assets/components/locomotive_sources/jquery/src/var/toString.js +0 -5
  162. data/vendor/assets/components/locomotive_sources/jquery/src/wrap.js +0 -79
  163. data/vendor/assets/components/locomotive_sources/moment-timezone/LICENSE +0 -20
  164. data/vendor/assets/components/locomotive_sources/moment-timezone/README.md +0 -36
  165. data/vendor/assets/components/locomotive_sources/moment-timezone/bower.json +0 -18
  166. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data-2010-2020.js +0 -1189
  167. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data-2010-2020.min.js +0 -7
  168. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data.js +0 -1189
  169. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone-with-data.min.js +0 -7
  170. data/vendor/assets/components/locomotive_sources/moment-timezone/builds/moment-timezone.min.js +0 -6
  171. data/vendor/assets/components/locomotive_sources/moment-timezone/changelog.md +0 -101
  172. data/vendor/assets/components/locomotive_sources/moment-timezone/composer.json +0 -43
  173. data/vendor/assets/components/locomotive_sources/moment-timezone/data/meta/latest.json +0 -5012
  174. data/vendor/assets/components/locomotive_sources/moment-timezone/data/packed/latest.json +0 -590
  175. data/vendor/assets/components/locomotive_sources/moment-timezone/data/unpacked/latest.json +0 -124081
  176. data/vendor/assets/components/locomotive_sources/moment-timezone/moment-timezone-utils.js +0 -316
  177. data/vendor/assets/components/locomotive_sources/moment-timezone/moment-timezone.js +0 -599
  178. data/vendor/assets/components/locomotive_sources/moment/CHANGELOG.md +0 -496
  179. data/vendor/assets/components/locomotive_sources/moment/LICENSE +0 -22
  180. data/vendor/assets/components/locomotive_sources/moment/README.md +0 -58
  181. data/vendor/assets/components/locomotive_sources/moment/bower.json +0 -22
  182. data/vendor/assets/components/locomotive_sources/moment/locale/af.js +0 -73
  183. data/vendor/assets/components/locomotive_sources/moment/locale/ar-ma.js +0 -59
  184. data/vendor/assets/components/locomotive_sources/moment/locale/ar-sa.js +0 -103
  185. data/vendor/assets/components/locomotive_sources/moment/locale/ar-tn.js +0 -57
  186. data/vendor/assets/components/locomotive_sources/moment/locale/ar.js +0 -136
  187. data/vendor/assets/components/locomotive_sources/moment/locale/az.js +0 -104
  188. data/vendor/assets/components/locomotive_sources/moment/locale/be.js +0 -134
  189. data/vendor/assets/components/locomotive_sources/moment/locale/bg.js +0 -90
  190. data/vendor/assets/components/locomotive_sources/moment/locale/bn.js +0 -113
  191. data/vendor/assets/components/locomotive_sources/moment/locale/bo.js +0 -110
  192. data/vendor/assets/components/locomotive_sources/moment/locale/br.js +0 -107
  193. data/vendor/assets/components/locomotive_sources/moment/locale/bs.js +0 -141
  194. data/vendor/assets/components/locomotive_sources/moment/locale/ca.js +0 -79
  195. data/vendor/assets/components/locomotive_sources/moment/locale/cs.js +0 -171
  196. data/vendor/assets/components/locomotive_sources/moment/locale/cv.js +0 -63
  197. data/vendor/assets/components/locomotive_sources/moment/locale/cy.js +0 -79
  198. data/vendor/assets/components/locomotive_sources/moment/locale/da.js +0 -60
  199. data/vendor/assets/components/locomotive_sources/moment/locale/de-at.js +0 -77
  200. data/vendor/assets/components/locomotive_sources/moment/locale/de.js +0 -76
  201. data/vendor/assets/components/locomotive_sources/moment/locale/dv.js +0 -99
  202. data/vendor/assets/components/locomotive_sources/moment/locale/el.js +0 -98
  203. data/vendor/assets/components/locomotive_sources/moment/locale/en-au.js +0 -66
  204. data/vendor/assets/components/locomotive_sources/moment/locale/en-ca.js +0 -63
  205. data/vendor/assets/components/locomotive_sources/moment/locale/en-gb.js +0 -67
  206. data/vendor/assets/components/locomotive_sources/moment/locale/en-ie.js +0 -67
  207. data/vendor/assets/components/locomotive_sources/moment/locale/en-nz.js +0 -66
  208. data/vendor/assets/components/locomotive_sources/moment/locale/eo.js +0 -73
  209. data/vendor/assets/components/locomotive_sources/moment/locale/es.js +0 -79
  210. data/vendor/assets/components/locomotive_sources/moment/locale/et.js +0 -80
  211. data/vendor/assets/components/locomotive_sources/moment/locale/eu.js +0 -64
  212. data/vendor/assets/components/locomotive_sources/moment/locale/fa.js +0 -105
  213. data/vendor/assets/components/locomotive_sources/moment/locale/fi.js +0 -107
  214. data/vendor/assets/components/locomotive_sources/moment/locale/fo.js +0 -60
  215. data/vendor/assets/components/locomotive_sources/moment/locale/fr-ca.js +0 -58
  216. data/vendor/assets/components/locomotive_sources/moment/locale/fr-ch.js +0 -62
  217. data/vendor/assets/components/locomotive_sources/moment/locale/fr.js +0 -62
  218. data/vendor/assets/components/locomotive_sources/moment/locale/fy.js +0 -71
  219. data/vendor/assets/components/locomotive_sources/moment/locale/gd.js +0 -76
  220. data/vendor/assets/components/locomotive_sources/moment/locale/gl.js +0 -75
  221. data/vendor/assets/components/locomotive_sources/moment/locale/he.js +0 -82
  222. data/vendor/assets/components/locomotive_sources/moment/locale/hi.js +0 -123
  223. data/vendor/assets/components/locomotive_sources/moment/locale/hr.js +0 -143
  224. data/vendor/assets/components/locomotive_sources/moment/locale/hu.js +0 -109
  225. data/vendor/assets/components/locomotive_sources/moment/locale/hy-am.js +0 -95
  226. data/vendor/assets/components/locomotive_sources/moment/locale/id.js +0 -83
  227. data/vendor/assets/components/locomotive_sources/moment/locale/is.js +0 -127
  228. data/vendor/assets/components/locomotive_sources/moment/locale/it.js +0 -70
  229. data/vendor/assets/components/locomotive_sources/moment/locale/ja.js +0 -65
  230. data/vendor/assets/components/locomotive_sources/moment/locale/jv.js +0 -83
  231. data/vendor/assets/components/locomotive_sources/moment/locale/ka.js +0 -89
  232. data/vendor/assets/components/locomotive_sources/moment/locale/kk.js +0 -87
  233. data/vendor/assets/components/locomotive_sources/moment/locale/km.js +0 -58
  234. data/vendor/assets/components/locomotive_sources/moment/locale/ko.js +0 -68
  235. data/vendor/assets/components/locomotive_sources/moment/locale/lb.js +0 -134
  236. data/vendor/assets/components/locomotive_sources/moment/locale/lo.js +0 -69
  237. data/vendor/assets/components/locomotive_sources/moment/locale/lt.js +0 -115
  238. data/vendor/assets/components/locomotive_sources/moment/locale/lv.js +0 -96
  239. data/vendor/assets/components/locomotive_sources/moment/locale/me.js +0 -109
  240. data/vendor/assets/components/locomotive_sources/moment/locale/mk.js +0 -90
  241. data/vendor/assets/components/locomotive_sources/moment/locale/ml.js +0 -71
  242. data/vendor/assets/components/locomotive_sources/moment/locale/mr.js +0 -158
  243. data/vendor/assets/components/locomotive_sources/moment/locale/ms-my.js +0 -82
  244. data/vendor/assets/components/locomotive_sources/moment/locale/ms.js +0 -82
  245. data/vendor/assets/components/locomotive_sources/moment/locale/my.js +0 -93
  246. data/vendor/assets/components/locomotive_sources/moment/locale/nb.js +0 -61
  247. data/vendor/assets/components/locomotive_sources/moment/locale/ne.js +0 -121
  248. data/vendor/assets/components/locomotive_sources/moment/locale/nl.js +0 -71
  249. data/vendor/assets/components/locomotive_sources/moment/locale/nn.js +0 -60
  250. data/vendor/assets/components/locomotive_sources/moment/locale/pl.js +0 -105
  251. data/vendor/assets/components/locomotive_sources/moment/locale/pt-br.js +0 -60
  252. data/vendor/assets/components/locomotive_sources/moment/locale/pt.js +0 -64
  253. data/vendor/assets/components/locomotive_sources/moment/locale/ro.js +0 -74
  254. data/vendor/assets/components/locomotive_sources/moment/locale/ru.js +0 -166
  255. data/vendor/assets/components/locomotive_sources/moment/locale/se.js +0 -61
  256. data/vendor/assets/components/locomotive_sources/moment/locale/si.js +0 -66
  257. data/vendor/assets/components/locomotive_sources/moment/locale/sk.js +0 -150
  258. data/vendor/assets/components/locomotive_sources/moment/locale/sl.js +0 -160
  259. data/vendor/assets/components/locomotive_sources/moment/locale/sq.js +0 -69
  260. data/vendor/assets/components/locomotive_sources/moment/locale/sr-cyrl.js +0 -108
  261. data/vendor/assets/components/locomotive_sources/moment/locale/sr.js +0 -108
  262. data/vendor/assets/components/locomotive_sources/moment/locale/sv.js +0 -67
  263. data/vendor/assets/components/locomotive_sources/moment/locale/sw.js +0 -58
  264. data/vendor/assets/components/locomotive_sources/moment/locale/ta.js +0 -129
  265. data/vendor/assets/components/locomotive_sources/moment/locale/te.js +0 -88
  266. data/vendor/assets/components/locomotive_sources/moment/locale/th.js +0 -65
  267. data/vendor/assets/components/locomotive_sources/moment/locale/tl-ph.js +0 -62
  268. data/vendor/assets/components/locomotive_sources/moment/locale/tlh.js +0 -119
  269. data/vendor/assets/components/locomotive_sources/moment/locale/tr.js +0 -90
  270. data/vendor/assets/components/locomotive_sources/moment/locale/tzl.js +0 -87
  271. data/vendor/assets/components/locomotive_sources/moment/locale/tzm-latn.js +0 -58
  272. data/vendor/assets/components/locomotive_sources/moment/locale/tzm.js +0 -58
  273. data/vendor/assets/components/locomotive_sources/moment/locale/uk.js +0 -146
  274. data/vendor/assets/components/locomotive_sources/moment/locale/uz.js +0 -58
  275. data/vendor/assets/components/locomotive_sources/moment/locale/vi.js +0 -66
  276. data/vendor/assets/components/locomotive_sources/moment/locale/zh-cn.js +0 -127
  277. data/vendor/assets/components/locomotive_sources/moment/locale/zh-tw.js +0 -101
  278. data/vendor/assets/components/locomotive_sources/moment/min/locales.js +0 -7548
  279. data/vendor/assets/components/locomotive_sources/moment/min/locales.min.js +0 -72
  280. data/vendor/assets/components/locomotive_sources/moment/min/moment-with-locales.js +0 -11144
  281. data/vendor/assets/components/locomotive_sources/moment/min/moment-with-locales.min.js +0 -74
  282. data/vendor/assets/components/locomotive_sources/moment/min/moment.min.js +0 -7
  283. data/vendor/assets/components/locomotive_sources/moment/min/tests.js +0 -46196
  284. data/vendor/assets/components/locomotive_sources/moment/moment.js +0 -3606
  285. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/check-overflow.js +0 -34
  286. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/date-from-array.js +0 -21
  287. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-anything.js +0 -101
  288. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-array.js +0 -136
  289. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-object.js +0 -16
  290. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-string-and-array.js +0 -50
  291. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-string-and-format.js +0 -104
  292. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/from-string.js +0 -120
  293. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/local.js +0 -5
  294. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/parsing-flags.js +0 -22
  295. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/utc.js +0 -5
  296. data/vendor/assets/components/locomotive_sources/moment/src/lib/create/valid.js +0 -37
  297. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/abs.js +0 -18
  298. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/add-subtract.js +0 -21
  299. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/as.js +0 -55
  300. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/bubble.js +0 -61
  301. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/constructor.js +0 -41
  302. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/create.js +0 -117
  303. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/duration.js +0 -12
  304. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/get.js +0 -25
  305. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/humanize.js +0 -64
  306. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/iso-string.js +0 -52
  307. data/vendor/assets/components/locomotive_sources/moment/src/lib/duration/prototype.js +0 -48
  308. data/vendor/assets/components/locomotive_sources/moment/src/lib/format/format.js +0 -92
  309. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/calendar.js +0 -15
  310. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/constructor.js +0 -2
  311. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/en.js +0 -15
  312. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/formats.js +0 -23
  313. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/invalid.js +0 -5
  314. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/lists.js +0 -48
  315. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/locale.js +0 -35
  316. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/locales.js +0 -118
  317. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/ordinal.js +0 -7
  318. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/pre-post-format.js +0 -3
  319. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/prototype.js +0 -76
  320. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/relative.js +0 -29
  321. data/vendor/assets/components/locomotive_sources/moment/src/lib/locale/set.js +0 -16
  322. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/add-subtract.js +0 -52
  323. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/calendar.js +0 -21
  324. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/clone.js +0 -5
  325. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/compare.js +0 -57
  326. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/constructor.js +0 -74
  327. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/creation-data.js +0 -9
  328. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/diff.js +0 -61
  329. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/format.js +0 -28
  330. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/from.js +0 -17
  331. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/get-set.js +0 -43
  332. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/locale.js +0 -34
  333. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/min-max.js +0 -63
  334. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/moment.js +0 -28
  335. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/now.js +0 -3
  336. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/prototype.js +0 -149
  337. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/start-end-of.js +0 -52
  338. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/to-type.js +0 -34
  339. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/to.js +0 -17
  340. data/vendor/assets/components/locomotive_sources/moment/src/lib/moment/valid.js +0 -15
  341. data/vendor/assets/components/locomotive_sources/moment/src/lib/parse/regex.js +0 -54
  342. data/vendor/assets/components/locomotive_sources/moment/src/lib/parse/token.js +0 -32
  343. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/aliases.js +0 -29
  344. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/constants.js +0 -9
  345. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/day-of-month.js +0 -32
  346. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/day-of-week.js +0 -162
  347. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/day-of-year.js +0 -32
  348. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/hour.js +0 -129
  349. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/millisecond.js +0 -64
  350. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/minute.js +0 -24
  351. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/month.js +0 -209
  352. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/offset.js +0 -219
  353. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/quarter.js +0 -27
  354. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/second.js +0 -24
  355. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/timestamp.js +0 -20
  356. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/timezone.js +0 -16
  357. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/units.js +0 -20
  358. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/week-calendar-utils.js +0 -65
  359. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/week-year.js +0 -101
  360. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/week.js +0 -61
  361. data/vendor/assets/components/locomotive_sources/moment/src/lib/units/year.js +0 -70
  362. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/abs-ceil.js +0 -7
  363. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/abs-floor.js +0 -7
  364. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/compare-arrays.js +0 -16
  365. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/defaults.js +0 -10
  366. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/deprecate.js +0 -33
  367. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/extend.js +0 -19
  368. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/has-own-prop.js +0 -3
  369. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/hooks.js +0 -13
  370. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-array.js +0 -3
  371. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-date.js +0 -3
  372. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-function.js +0 -3
  373. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/is-undefined.js +0 -3
  374. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/map.js +0 -7
  375. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/to-int.js +0 -12
  376. data/vendor/assets/components/locomotive_sources/moment/src/lib/utils/zero-fill.js +0 -7
  377. data/vendor/assets/components/locomotive_sources/moment/src/locale/af.js +0 -63
  378. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar-ma.js +0 -50
  379. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar-sa.js +0 -94
  380. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar-tn.js +0 -48
  381. data/vendor/assets/components/locomotive_sources/moment/src/locale/ar.js +0 -127
  382. data/vendor/assets/components/locomotive_sources/moment/src/locale/az.js +0 -95
  383. data/vendor/assets/components/locomotive_sources/moment/src/locale/be.js +0 -125
  384. data/vendor/assets/components/locomotive_sources/moment/src/locale/bg.js +0 -81
  385. data/vendor/assets/components/locomotive_sources/moment/src/locale/bn.js +0 -104
  386. data/vendor/assets/components/locomotive_sources/moment/src/locale/bo.js +0 -101
  387. data/vendor/assets/components/locomotive_sources/moment/src/locale/br.js +0 -98
  388. data/vendor/assets/components/locomotive_sources/moment/src/locale/bs.js +0 -132
  389. data/vendor/assets/components/locomotive_sources/moment/src/locale/ca.js +0 -70
  390. data/vendor/assets/components/locomotive_sources/moment/src/locale/cs.js +0 -162
  391. data/vendor/assets/components/locomotive_sources/moment/src/locale/cv.js +0 -53
  392. data/vendor/assets/components/locomotive_sources/moment/src/locale/cy.js +0 -70
  393. data/vendor/assets/components/locomotive_sources/moment/src/locale/da.js +0 -51
  394. data/vendor/assets/components/locomotive_sources/moment/src/locale/de-at.js +0 -67
  395. data/vendor/assets/components/locomotive_sources/moment/src/locale/de.js +0 -66
  396. data/vendor/assets/components/locomotive_sources/moment/src/locale/dv.js +0 -89
  397. data/vendor/assets/components/locomotive_sources/moment/src/locale/el.js +0 -86
  398. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-au.js +0 -57
  399. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-ca.js +0 -54
  400. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-gb.js +0 -58
  401. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-ie.js +0 -58
  402. data/vendor/assets/components/locomotive_sources/moment/src/locale/en-nz.js +0 -56
  403. data/vendor/assets/components/locomotive_sources/moment/src/locale/eo.js +0 -64
  404. data/vendor/assets/components/locomotive_sources/moment/src/locale/es.js +0 -70
  405. data/vendor/assets/components/locomotive_sources/moment/src/locale/et.js +0 -71
  406. data/vendor/assets/components/locomotive_sources/moment/src/locale/eu.js +0 -55
  407. data/vendor/assets/components/locomotive_sources/moment/src/locale/fa.js +0 -96
  408. data/vendor/assets/components/locomotive_sources/moment/src/locale/fi.js +0 -98
  409. data/vendor/assets/components/locomotive_sources/moment/src/locale/fo.js +0 -51
  410. data/vendor/assets/components/locomotive_sources/moment/src/locale/fr-ca.js +0 -49
  411. data/vendor/assets/components/locomotive_sources/moment/src/locale/fr-ch.js +0 -53
  412. data/vendor/assets/components/locomotive_sources/moment/src/locale/fr.js +0 -53
  413. data/vendor/assets/components/locomotive_sources/moment/src/locale/fy.js +0 -62
  414. data/vendor/assets/components/locomotive_sources/moment/src/locale/gd.js +0 -67
  415. data/vendor/assets/components/locomotive_sources/moment/src/locale/gl.js +0 -66
  416. data/vendor/assets/components/locomotive_sources/moment/src/locale/he.js +0 -73
  417. data/vendor/assets/components/locomotive_sources/moment/src/locale/hi.js +0 -114
  418. data/vendor/assets/components/locomotive_sources/moment/src/locale/hr.js +0 -134
  419. data/vendor/assets/components/locomotive_sources/moment/src/locale/hu.js +0 -100
  420. data/vendor/assets/components/locomotive_sources/moment/src/locale/hy-am.js +0 -86
  421. data/vendor/assets/components/locomotive_sources/moment/src/locale/id.js +0 -74
  422. data/vendor/assets/components/locomotive_sources/moment/src/locale/is.js +0 -118
  423. data/vendor/assets/components/locomotive_sources/moment/src/locale/it.js +0 -61
  424. data/vendor/assets/components/locomotive_sources/moment/src/locale/ja.js +0 -56
  425. data/vendor/assets/components/locomotive_sources/moment/src/locale/jv.js +0 -73
  426. data/vendor/assets/components/locomotive_sources/moment/src/locale/ka.js +0 -80
  427. data/vendor/assets/components/locomotive_sources/moment/src/locale/kk.js +0 -77
  428. data/vendor/assets/components/locomotive_sources/moment/src/locale/km.js +0 -49
  429. data/vendor/assets/components/locomotive_sources/moment/src/locale/ko.js +0 -59
  430. data/vendor/assets/components/locomotive_sources/moment/src/locale/lb.js +0 -125
  431. data/vendor/assets/components/locomotive_sources/moment/src/locale/lo.js +0 -60
  432. data/vendor/assets/components/locomotive_sources/moment/src/locale/lt.js +0 -106
  433. data/vendor/assets/components/locomotive_sources/moment/src/locale/lv.js +0 -87
  434. data/vendor/assets/components/locomotive_sources/moment/src/locale/me.js +0 -99
  435. data/vendor/assets/components/locomotive_sources/moment/src/locale/mk.js +0 -81
  436. data/vendor/assets/components/locomotive_sources/moment/src/locale/ml.js +0 -62
  437. data/vendor/assets/components/locomotive_sources/moment/src/locale/mr.js +0 -149
  438. data/vendor/assets/components/locomotive_sources/moment/src/locale/ms-my.js +0 -73
  439. data/vendor/assets/components/locomotive_sources/moment/src/locale/ms.js +0 -73
  440. data/vendor/assets/components/locomotive_sources/moment/src/locale/my.js +0 -84
  441. data/vendor/assets/components/locomotive_sources/moment/src/locale/nb.js +0 -52
  442. data/vendor/assets/components/locomotive_sources/moment/src/locale/ne.js +0 -112
  443. data/vendor/assets/components/locomotive_sources/moment/src/locale/nl.js +0 -62
  444. data/vendor/assets/components/locomotive_sources/moment/src/locale/nn.js +0 -51
  445. data/vendor/assets/components/locomotive_sources/moment/src/locale/pl.js +0 -95
  446. data/vendor/assets/components/locomotive_sources/moment/src/locale/pt-br.js +0 -51
  447. data/vendor/assets/components/locomotive_sources/moment/src/locale/pt.js +0 -55
  448. data/vendor/assets/components/locomotive_sources/moment/src/locale/ro.js +0 -65
  449. data/vendor/assets/components/locomotive_sources/moment/src/locale/ru.js +0 -156
  450. data/vendor/assets/components/locomotive_sources/moment/src/locale/se.js +0 -51
  451. data/vendor/assets/components/locomotive_sources/moment/src/locale/si.js +0 -56
  452. data/vendor/assets/components/locomotive_sources/moment/src/locale/sk.js +0 -141
  453. data/vendor/assets/components/locomotive_sources/moment/src/locale/sl.js +0 -150
  454. data/vendor/assets/components/locomotive_sources/moment/src/locale/sq.js +0 -60
  455. data/vendor/assets/components/locomotive_sources/moment/src/locale/sr-cyrl.js +0 -99
  456. data/vendor/assets/components/locomotive_sources/moment/src/locale/sr.js +0 -99
  457. data/vendor/assets/components/locomotive_sources/moment/src/locale/sv.js +0 -58
  458. data/vendor/assets/components/locomotive_sources/moment/src/locale/sw.js +0 -49
  459. data/vendor/assets/components/locomotive_sources/moment/src/locale/ta.js +0 -120
  460. data/vendor/assets/components/locomotive_sources/moment/src/locale/te.js +0 -78
  461. data/vendor/assets/components/locomotive_sources/moment/src/locale/th.js +0 -56
  462. data/vendor/assets/components/locomotive_sources/moment/src/locale/tl-ph.js +0 -53
  463. data/vendor/assets/components/locomotive_sources/moment/src/locale/tlh.js +0 -109
  464. data/vendor/assets/components/locomotive_sources/moment/src/locale/tr.js +0 -81
  465. data/vendor/assets/components/locomotive_sources/moment/src/locale/tzl.js +0 -78
  466. data/vendor/assets/components/locomotive_sources/moment/src/locale/tzm-latn.js +0 -49
  467. data/vendor/assets/components/locomotive_sources/moment/src/locale/tzm.js +0 -49
  468. data/vendor/assets/components/locomotive_sources/moment/src/locale/uk.js +0 -137
  469. data/vendor/assets/components/locomotive_sources/moment/src/locale/uz.js +0 -49
  470. data/vendor/assets/components/locomotive_sources/moment/src/locale/vi.js +0 -57
  471. data/vendor/assets/components/locomotive_sources/moment/src/locale/zh-cn.js +0 -118
  472. data/vendor/assets/components/locomotive_sources/moment/src/locale/zh-tw.js +0 -91
  473. data/vendor/assets/components/locomotive_sources/moment/src/moment.js +0 -71
  474. data/vendor/assets/components/locomotive_sources/moment/templates/amd-named.js +0 -7
  475. data/vendor/assets/components/locomotive_sources/moment/templates/amd.js +0 -7
  476. data/vendor/assets/components/locomotive_sources/moment/templates/default.js +0 -5
  477. data/vendor/assets/components/locomotive_sources/moment/templates/globals.js +0 -5
  478. data/vendor/assets/components/locomotive_sources/moment/templates/locale-header.js +0 -6
  479. data/vendor/assets/components/locomotive_sources/moment/templates/test-header.js +0 -6
  480. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/Gemfile +0 -3
  481. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/Gruntfile.js +0 -110
  482. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/LICENSE +0 -8
  483. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/README.md +0 -91
  484. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.3.2.html +0 -4
  485. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.1.html +0 -4
  486. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.2.html +0 -4
  487. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.3.html +0 -4
  488. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.4.html +0 -4
  489. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.4.5.html +0 -4
  490. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.5.1.html +0 -4
  491. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/3.5.2.html +0 -4
  492. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_config.yml +0 -13
  493. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/footer-links.html +0 -9
  494. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/footer.html +0 -10
  495. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/head.html +0 -13
  496. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/navbar.html +0 -21
  497. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_includes/select2-select.html +0 -55
  498. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_layouts/default.html +0 -489
  499. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_layouts/minimal.html +0 -7
  500. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_extends.sass +0 -4
  501. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_mixins.sass +0 -9
  502. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_select2-result-repository.sass +0 -40
  503. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/_sass/_variables.sass +0 -1
  504. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/bootstrap.min.css +0 -5
  505. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/gh-pages.sass +0 -103
  506. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/css/select2-bootstrap.css +0 -495
  507. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/favicon.ico +0 -0
  508. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.eot +0 -0
  509. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.svg +0 -288
  510. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.ttf +0 -0
  511. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.woff +0 -0
  512. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/fonts/glyphicons-halflings-regular.woff2 +0 -0
  513. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/index.html +0 -77
  514. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/js/bootstrap.min.js +0 -7
  515. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/js/respond.min.js +0 -5
  516. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/_jekyll/master.html +0 -4
  517. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/bower.json +0 -20
  518. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/compass/stylesheets/select2-bootstrap.scss +0 -1
  519. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.3.2.html +0 -1668
  520. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.1.html +0 -1662
  521. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.2.html +0 -1662
  522. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.3.html +0 -1662
  523. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.4.html +0 -1662
  524. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.4.5.html +0 -1662
  525. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.5.1.html +0 -1662
  526. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/3.5.2.html +0 -1662
  527. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/bootstrap.min.css +0 -5
  528. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/gh-pages.css +0 -142
  529. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/css/select2-bootstrap.css +0 -495
  530. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/favicon.ico +0 -0
  531. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  532. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.svg +0 -288
  533. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  534. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  535. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  536. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/index.html +0 -293
  537. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/js/bootstrap.min.js +0 -7
  538. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/js/respond.min.js +0 -5
  539. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/docs/master.html +0 -1662
  540. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/build.less +0 -3
  541. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/build.scss +0 -3
  542. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap-css.rb +0 -11
  543. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap.less +0 -480
  544. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap.scss +0 -480
  545. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/lib/select2-bootstrap/version.rb +0 -9
  546. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/package.json +0 -48
  547. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap-css.gemspec +0 -22
  548. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap.css +0 -495
  549. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/select2-bootstrap.min.css +0 -1
  550. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/less_test.js +0 -25
  551. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/scss_test.js +0 -25
  552. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/support/less.patch +0 -416
  553. data/vendor/assets/components/locomotive_sources/select2-bootstrap-css/test/support/scss.patch +0 -4
  554. data/vendor/assets/components/locomotive_sources/select2/CONTRIBUTING.md +0 -204
  555. data/vendor/assets/components/locomotive_sources/select2/Gruntfile.js +0 -370
  556. data/vendor/assets/components/locomotive_sources/select2/LICENSE.md +0 -21
  557. data/vendor/assets/components/locomotive_sources/select2/README.md +0 -105
  558. data/vendor/assets/components/locomotive_sources/select2/bower.json +0 -12
  559. data/vendor/assets/components/locomotive_sources/select2/component.json +0 -19
  560. data/vendor/assets/components/locomotive_sources/select2/composer.json +0 -25
  561. data/vendor/assets/components/locomotive_sources/select2/dist/css/select2.css +0 -482
  562. data/vendor/assets/components/locomotive_sources/select2/dist/css/select2.min.css +0 -1
  563. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ar.js +0 -3
  564. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/az.js +0 -3
  565. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/bg.js +0 -3
  566. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ca.js +0 -3
  567. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/cs.js +0 -3
  568. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/da.js +0 -3
  569. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/de.js +0 -3
  570. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/en.js +0 -3
  571. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/es.js +0 -3
  572. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/et.js +0 -3
  573. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/eu.js +0 -3
  574. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fa.js +0 -3
  575. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fi.js +0 -3
  576. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/fr.js +0 -3
  577. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/gl.js +0 -3
  578. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/he.js +0 -3
  579. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hi.js +0 -3
  580. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hr.js +0 -3
  581. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/hu.js +0 -3
  582. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/id.js +0 -3
  583. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/is.js +0 -3
  584. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/it.js +0 -3
  585. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ja.js +0 -3
  586. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ko.js +0 -3
  587. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/lt.js +0 -3
  588. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/lv.js +0 -3
  589. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/mk.js +0 -3
  590. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ms.js +0 -3
  591. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/nb.js +0 -3
  592. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/nl.js +0 -3
  593. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pl.js +0 -3
  594. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pt-BR.js +0 -3
  595. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/pt.js +0 -3
  596. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ro.js +0 -3
  597. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/ru.js +0 -3
  598. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sk.js +0 -3
  599. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sr-Cyrl.js +0 -3
  600. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sr.js +0 -3
  601. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/sv.js +0 -3
  602. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/th.js +0 -3
  603. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/tr.js +0 -3
  604. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/uk.js +0 -3
  605. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/vi.js +0 -3
  606. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/zh-CN.js +0 -3
  607. data/vendor/assets/components/locomotive_sources/select2/dist/js/i18n/zh-TW.js +0 -3
  608. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.full.js +0 -6281
  609. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.full.min.js +0 -3
  610. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.js +0 -5571
  611. data/vendor/assets/components/locomotive_sources/select2/dist/js/select2.min.js +0 -2
  612. data/vendor/assets/components/locomotive_sources/select2/docs/README.md +0 -38
  613. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/basics.html +0 -65
  614. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/data.html +0 -128
  615. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/disabled-mode.html +0 -43
  616. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/disabled-results.html +0 -32
  617. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/hide-search.html +0 -25
  618. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/localization-rtl-diacritics.html +0 -90
  619. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/matcher.html +0 -43
  620. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/multiple-max.html +0 -28
  621. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/placeholders.html +0 -37
  622. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/programmatic-control.html +0 -156
  623. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/tags.html +0 -33
  624. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/themes-templating-responsive-design.html +0 -111
  625. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/examples/tokenizer.html +0 -36
  626. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/footer.html +0 -20
  627. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/ga.html +0 -9
  628. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/head.html +0 -19
  629. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/js-source-states.html +0 -62
  630. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/announcements-4.0.html +0 -26
  631. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/examples.html +0 -96
  632. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/options-old.html +0 -55
  633. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/nav/options.html +0 -77
  634. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/navigation.html +0 -53
  635. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/notice-previous.html +0 -7
  636. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/adapters.html +0 -209
  637. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/backwards-compatibility.html +0 -200
  638. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/core-options.html +0 -790
  639. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/dropdown.html +0 -308
  640. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/events.html +0 -50
  641. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options-old/setting-default-options.html +0 -37
  642. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility.html +0 -10
  643. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/initial-selection.html +0 -50
  644. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/introduction.html +0 -18
  645. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/matcher.html +0 -50
  646. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/query-function.html +0 -50
  647. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/compatibility/text-input.html +0 -32
  648. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core.html +0 -9
  649. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/amd-support.html +0 -38
  650. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/data-attributes.html +0 -72
  651. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/core/options.html +0 -58
  652. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data.html +0 -9
  653. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/ajax.html +0 -109
  654. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/array.html +0 -53
  655. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/data/select.html +0 -57
  656. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown.html +0 -9
  657. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/filtering.html +0 -23
  658. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/placement.html +0 -29
  659. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/dropdown/selections.html +0 -17
  660. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events.html +0 -8
  661. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events/internal.html +0 -9
  662. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/events/jquery.html +0 -29
  663. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/introduction.html +0 -9
  664. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/not-written.html +0 -3
  665. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections.html +0 -10
  666. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/clearing-selections.html +0 -17
  667. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/multiple.html +0 -17
  668. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/placeholder.html +0 -53
  669. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/options/selections/templating.html +0 -23
  670. data/vendor/assets/components/locomotive_sources/select2/docs/_includes/social-buttons.html +0 -10
  671. data/vendor/assets/components/locomotive_sources/select2/docs/_layouts/default.html +0 -57
  672. data/vendor/assets/components/locomotive_sources/select2/docs/_layouts/home.html +0 -23
  673. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_alert.scss +0 -47
  674. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_anchorjs.scss +0 -27
  675. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_buttons.scss +0 -20
  676. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_code.scss +0 -16
  677. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_examples.scss +0 -90
  678. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_featurette.scss +0 -16
  679. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_footer.scss +0 -42
  680. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_hamburger.scss +0 -49
  681. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_home.scss +0 -31
  682. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_jumbotron.scss +0 -24
  683. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_layout.scss +0 -14
  684. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_nav.scss +0 -58
  685. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_prettify.scss +0 -51
  686. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_result-repository.scss +0 -62
  687. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_sidenav.scss +0 -152
  688. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_social.scss +0 -35
  689. data/vendor/assets/components/locomotive_sources/select2/docs/_sass/_typography.scss +0 -6
  690. data/vendor/assets/components/locomotive_sources/select2/docs/announcements-4.0.html +0 -752
  691. data/vendor/assets/components/locomotive_sources/select2/docs/community.html +0 -154
  692. data/vendor/assets/components/locomotive_sources/select2/docs/css/s2-docs.scss +0 -19
  693. data/vendor/assets/components/locomotive_sources/select2/docs/examples.html +0 -254
  694. data/vendor/assets/components/locomotive_sources/select2/docs/images/logo.png +0 -0
  695. data/vendor/assets/components/locomotive_sources/select2/docs/index.html +0 -238
  696. data/vendor/assets/components/locomotive_sources/select2/docs/options-old.html +0 -37
  697. data/vendor/assets/components/locomotive_sources/select2/docs/options.html +0 -37
  698. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/css/bootstrap.min.css +0 -5
  699. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/css/font-awesome.min.css +0 -4
  700. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/FontAwesome.otf +0 -0
  701. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.eot +0 -0
  702. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.svg +0 -655
  703. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.ttf +0 -0
  704. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.woff +0 -0
  705. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/fonts/fontawesome-webfont.woff2 +0 -0
  706. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ak.png +0 -0
  707. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/al.png +0 -0
  708. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ar.png +0 -0
  709. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/az.png +0 -0
  710. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ca.png +0 -0
  711. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/co.png +0 -0
  712. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ct.png +0 -0
  713. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/de.png +0 -0
  714. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/fl.png +0 -0
  715. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ga.png +0 -0
  716. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/hi.png +0 -0
  717. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ia.png +0 -0
  718. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/id.png +0 -0
  719. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/il.png +0 -0
  720. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/in.png +0 -0
  721. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ks.png +0 -0
  722. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ky.png +0 -0
  723. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/la.png +0 -0
  724. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ma.png +0 -0
  725. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/md.png +0 -0
  726. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/me.png +0 -0
  727. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mi.png +0 -0
  728. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mn.png +0 -0
  729. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mo.png +0 -0
  730. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ms.png +0 -0
  731. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/mt.png +0 -0
  732. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nc.png +0 -0
  733. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nd.png +0 -0
  734. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ne.png +0 -0
  735. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nh.png +0 -0
  736. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nj.png +0 -0
  737. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nm.png +0 -0
  738. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/nv.png +0 -0
  739. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ny.png +0 -0
  740. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/oh.png +0 -0
  741. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ok.png +0 -0
  742. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/or.png +0 -0
  743. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/pa.png +0 -0
  744. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ri.png +0 -0
  745. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/sc.png +0 -0
  746. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/sd.png +0 -0
  747. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/tn.png +0 -0
  748. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/tx.png +0 -0
  749. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/ut.png +0 -0
  750. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/va.png +0 -0
  751. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/vt.png +0 -0
  752. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wa.png +0 -0
  753. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wi.png +0 -0
  754. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wv.png +0 -0
  755. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/images/flags/wy.png +0 -0
  756. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/anchor.min.js +0 -6
  757. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/bootstrap.min.js +0 -6
  758. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/jquery.min.js +0 -4
  759. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/placeholders.jquery.min.js +0 -2
  760. data/vendor/assets/components/locomotive_sources/select2/docs/vendor/js/prettify.min.js +0 -28
  761. data/vendor/assets/components/locomotive_sources/select2/package.json +0 -66
  762. data/vendor/assets/components/locomotive_sources/select2/select2.jquery.json +0 -32
  763. data/vendor/assets/components/locomotive_sources/select2/src/js/banner.end.js +0 -6
  764. data/vendor/assets/components/locomotive_sources/select2/src/js/banner.start.js +0 -6
  765. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.mousewheel.shim.js +0 -6
  766. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.select2.js +0 -58
  767. data/vendor/assets/components/locomotive_sources/select2/src/js/jquery.shim.js +0 -14
  768. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/containerCss.js +0 -56
  769. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/dropdownCss.js +0 -56
  770. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/initSelection.js +0 -42
  771. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/inputData.js +0 -127
  772. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/matcher.js +0 -42
  773. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/query.js +0 -26
  774. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/compat/utils.js +0 -43
  775. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/core.js +0 -545
  776. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/ajax.js +0 -101
  777. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/array.js +0 -79
  778. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/base.js +0 -40
  779. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/maximumInputLength.js +0 -31
  780. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/maximumSelectionLength.js +0 -31
  781. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/minimumInputLength.js +0 -30
  782. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/select.js +0 -285
  783. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/tags.js +0 -119
  784. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/data/tokenizer.js +0 -93
  785. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/defaults.js +0 -396
  786. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/diacritics.js +0 -847
  787. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown.js +0 -42
  788. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/attachBody.js +0 -216
  789. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/attachContainer.js +0 -18
  790. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/closeOnSelect.js +0 -32
  791. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/hidePlaceholder.js +0 -42
  792. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/infiniteScroll.js +0 -89
  793. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/minimumResultsForSearch.js +0 -39
  794. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/search.js +0 -95
  795. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/selectOnClose.js +0 -40
  796. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/dropdown/stopPropagation.js +0 -38
  797. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ar.js +0 -36
  798. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/az.js +0 -27
  799. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/bg.js +0 -47
  800. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ca.js +0 -52
  801. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/cs.js +0 -61
  802. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/da.js +0 -40
  803. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/de.js +0 -37
  804. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/en.js +0 -44
  805. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/es.js +0 -52
  806. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/et.js +0 -53
  807. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/eu.js +0 -51
  808. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fa.js +0 -38
  809. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fi.js +0 -27
  810. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/fr.js +0 -46
  811. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/gl.js +0 -51
  812. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/he.js +0 -56
  813. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hi.js +0 -39
  814. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hr.js +0 -44
  815. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/hu.js +0 -27
  816. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/id.js +0 -30
  817. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/is.js +0 -41
  818. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/it.js +0 -48
  819. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ja.js +0 -36
  820. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ko.js +0 -36
  821. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/lt.js +0 -51
  822. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/lv.js +0 -51
  823. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/mk.js +0 -47
  824. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ms.js +0 -30
  825. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/nb.js +0 -35
  826. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/nl.js +0 -43
  827. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pl.js +0 -45
  828. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pt-BR.js +0 -46
  829. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/pt.js +0 -40
  830. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ro.js +0 -48
  831. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/ru.js +0 -58
  832. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sk.js +0 -56
  833. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sr-Cyrl.js +0 -55
  834. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sr.js +0 -55
  835. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/sv.js +0 -37
  836. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/th.js +0 -33
  837. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/tr.js +0 -33
  838. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/uk.js +0 -43
  839. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/vi.js +0 -37
  840. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/zh-CN.js +0 -36
  841. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/i18n/zh-TW.js +0 -33
  842. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/keys.js +0 -25
  843. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/options.js +0 -122
  844. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/results.js +0 -516
  845. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/allowClear.js +0 -97
  846. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/base.js +0 -158
  847. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/clickMask.js +0 -29
  848. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/eventRelay.js +0 -45
  849. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/multiple.js +0 -109
  850. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/placeholder.js +0 -49
  851. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/search.js +0 -222
  852. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/single.js +0 -93
  853. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/selection/stopPropagation.js +0 -38
  854. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/translation.js +0 -36
  855. data/vendor/assets/components/locomotive_sources/select2/src/js/select2/utils.js +0 -262
  856. data/vendor/assets/components/locomotive_sources/select2/src/js/wrapper.end.js +0 -12
  857. data/vendor/assets/components/locomotive_sources/select2/src/js/wrapper.start.js +0 -23
  858. data/vendor/assets/components/locomotive_sources/select2/src/scss/_dropdown.scss +0 -73
  859. data/vendor/assets/components/locomotive_sources/select2/src/scss/_multiple.scss +0 -35
  860. data/vendor/assets/components/locomotive_sources/select2/src/scss/_single.scss +0 -34
  861. data/vendor/assets/components/locomotive_sources/select2/src/scss/core.scss +0 -48
  862. data/vendor/assets/components/locomotive_sources/select2/src/scss/mixins/_gradients.scss +0 -13
  863. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_defaults.scss +0 -34
  864. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_multiple.scss +0 -93
  865. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/_single.scss +0 -124
  866. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/classic/layout.scss +0 -64
  867. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/_multiple.scss +0 -94
  868. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/_single.scss +0 -83
  869. data/vendor/assets/components/locomotive_sources/select2/src/scss/theme/default/layout.scss +0 -97
  870. data/vendor/assets/components/locomotive_sources/select2/tests/a11y/search-tests.js +0 -51
  871. data/vendor/assets/components/locomotive_sources/select2/tests/a11y/selection-tests.js +0 -154
  872. data/vendor/assets/components/locomotive_sources/select2/tests/data/array-tests.js +0 -290
  873. data/vendor/assets/components/locomotive_sources/select2/tests/data/base-tests.js +0 -29
  874. data/vendor/assets/components/locomotive_sources/select2/tests/data/inputData-tests.js +0 -158
  875. data/vendor/assets/components/locomotive_sources/select2/tests/data/maximumInputLength-tests.js +0 -138
  876. data/vendor/assets/components/locomotive_sources/select2/tests/data/maximumSelectionLength-tests.js +0 -202
  877. data/vendor/assets/components/locomotive_sources/select2/tests/data/minimumInputLength-tests.js +0 -138
  878. data/vendor/assets/components/locomotive_sources/select2/tests/data/select-tests.js +0 -457
  879. data/vendor/assets/components/locomotive_sources/select2/tests/data/tags-tests.js +0 -241
  880. data/vendor/assets/components/locomotive_sources/select2/tests/data/tokenizer-tests.js +0 -171
  881. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/dropdownCss-tests.js +0 -104
  882. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/selectOnClose-tests.js +0 -137
  883. data/vendor/assets/components/locomotive_sources/select2/tests/dropdown/stopPropagation-tests.js +0 -33
  884. data/vendor/assets/components/locomotive_sources/select2/tests/helpers.js +0 -46
  885. data/vendor/assets/components/locomotive_sources/select2/tests/integration.html +0 -19
  886. data/vendor/assets/components/locomotive_sources/select2/tests/integration/select2-methods.js +0 -139
  887. data/vendor/assets/components/locomotive_sources/select2/tests/options/data-tests.js +0 -44
  888. data/vendor/assets/components/locomotive_sources/select2/tests/options/deprecated-tests.js +0 -250
  889. data/vendor/assets/components/locomotive_sources/select2/tests/options/translation-tests.js +0 -28
  890. data/vendor/assets/components/locomotive_sources/select2/tests/options/width-tests.js +0 -66
  891. data/vendor/assets/components/locomotive_sources/select2/tests/selection/allowClear-tests.js +0 -218
  892. data/vendor/assets/components/locomotive_sources/select2/tests/selection/containerCss-tests.js +0 -104
  893. data/vendor/assets/components/locomotive_sources/select2/tests/selection/multiple-tests.js +0 -149
  894. data/vendor/assets/components/locomotive_sources/select2/tests/selection/placeholder-tests.js +0 -74
  895. data/vendor/assets/components/locomotive_sources/select2/tests/selection/search-tests.js +0 -139
  896. data/vendor/assets/components/locomotive_sources/select2/tests/selection/single-tests.js +0 -117
  897. data/vendor/assets/components/locomotive_sources/select2/tests/selection/stopPropagation-tests.js +0 -33
  898. data/vendor/assets/components/locomotive_sources/select2/tests/unit.html +0 -91
  899. data/vendor/assets/components/locomotive_sources/select2/tests/utils/decorator-tests.js +0 -189
  900. data/vendor/assets/components/locomotive_sources/select2/tests/utils/escapeMarkup-tests.js +0 -36
  901. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/jquery-1.7.2.js +0 -9404
  902. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/qunit-1.14.0.css +0 -237
  903. data/vendor/assets/components/locomotive_sources/select2/tests/vendor/qunit-1.14.0.js +0 -2288
  904. data/vendor/assets/components/locomotive_sources/select2/vendor/jquery-2.1.0.js +0 -9111
  905. data/vendor/assets/components/locomotive_sources/underscore/LICENSE +0 -23
  906. data/vendor/assets/components/locomotive_sources/underscore/README.md +0 -22
  907. data/vendor/assets/components/locomotive_sources/underscore/bower.json +0 -7
  908. data/vendor/assets/components/locomotive_sources/underscore/underscore-min.js +0 -6
  909. data/vendor/assets/components/locomotive_sources/underscore/underscore-min.map +0 -1
  910. data/vendor/assets/components/locomotive_sources/underscore/underscore.js +0 -1548
@@ -1,237 +0,0 @@
1
- /*!
2
- * QUnit 1.14.0
3
- * http://qunitjs.com/
4
- *
5
- * Copyright 2013 jQuery Foundation and other contributors
6
- * Released under the MIT license
7
- * http://jquery.org/license
8
- *
9
- * Date: 2014-01-31T16:40Z
10
- */
11
-
12
- /** Font Family and Sizes */
13
-
14
- #qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult {
15
- font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
16
- }
17
-
18
- #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }
19
- #qunit-tests { font-size: smaller; }
20
-
21
-
22
- /** Resets */
23
-
24
- #qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
25
- margin: 0;
26
- padding: 0;
27
- }
28
-
29
-
30
- /** Header */
31
-
32
- #qunit-header {
33
- padding: 0.5em 0 0.5em 1em;
34
-
35
- color: #8699A4;
36
- background-color: #0D3349;
37
-
38
- font-size: 1.5em;
39
- line-height: 1em;
40
- font-weight: 400;
41
-
42
- border-radius: 5px 5px 0 0;
43
- }
44
-
45
- #qunit-header a {
46
- text-decoration: none;
47
- color: #C2CCD1;
48
- }
49
-
50
- #qunit-header a:hover,
51
- #qunit-header a:focus {
52
- color: #FFF;
53
- }
54
-
55
- #qunit-testrunner-toolbar label {
56
- display: inline-block;
57
- padding: 0 0.5em 0 0.1em;
58
- }
59
-
60
- #qunit-banner {
61
- height: 5px;
62
- }
63
-
64
- #qunit-testrunner-toolbar {
65
- padding: 0.5em 0 0.5em 2em;
66
- color: #5E740B;
67
- background-color: #EEE;
68
- overflow: hidden;
69
- }
70
-
71
- #qunit-userAgent {
72
- padding: 0.5em 0 0.5em 2.5em;
73
- background-color: #2B81AF;
74
- color: #FFF;
75
- text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
76
- }
77
-
78
- #qunit-modulefilter-container {
79
- float: right;
80
- }
81
-
82
- /** Tests: Pass/Fail */
83
-
84
- #qunit-tests {
85
- list-style-position: inside;
86
- }
87
-
88
- #qunit-tests li {
89
- padding: 0.4em 0.5em 0.4em 2.5em;
90
- border-bottom: 1px solid #FFF;
91
- list-style-position: inside;
92
- }
93
-
94
- #qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running {
95
- display: none;
96
- }
97
-
98
- #qunit-tests li strong {
99
- cursor: pointer;
100
- }
101
-
102
- #qunit-tests li a {
103
- padding: 0.5em;
104
- color: #C2CCD1;
105
- text-decoration: none;
106
- }
107
- #qunit-tests li a:hover,
108
- #qunit-tests li a:focus {
109
- color: #000;
110
- }
111
-
112
- #qunit-tests li .runtime {
113
- float: right;
114
- font-size: smaller;
115
- }
116
-
117
- .qunit-assert-list {
118
- margin-top: 0.5em;
119
- padding: 0.5em;
120
-
121
- background-color: #FFF;
122
-
123
- border-radius: 5px;
124
- }
125
-
126
- .qunit-collapsed {
127
- display: none;
128
- }
129
-
130
- #qunit-tests table {
131
- border-collapse: collapse;
132
- margin-top: 0.2em;
133
- }
134
-
135
- #qunit-tests th {
136
- text-align: right;
137
- vertical-align: top;
138
- padding: 0 0.5em 0 0;
139
- }
140
-
141
- #qunit-tests td {
142
- vertical-align: top;
143
- }
144
-
145
- #qunit-tests pre {
146
- margin: 0;
147
- white-space: pre-wrap;
148
- word-wrap: break-word;
149
- }
150
-
151
- #qunit-tests del {
152
- background-color: #E0F2BE;
153
- color: #374E0C;
154
- text-decoration: none;
155
- }
156
-
157
- #qunit-tests ins {
158
- background-color: #FFCACA;
159
- color: #500;
160
- text-decoration: none;
161
- }
162
-
163
- /*** Test Counts */
164
-
165
- #qunit-tests b.counts { color: #000; }
166
- #qunit-tests b.passed { color: #5E740B; }
167
- #qunit-tests b.failed { color: #710909; }
168
-
169
- #qunit-tests li li {
170
- padding: 5px;
171
- background-color: #FFF;
172
- border-bottom: none;
173
- list-style-position: inside;
174
- }
175
-
176
- /*** Passing Styles */
177
-
178
- #qunit-tests li li.pass {
179
- color: #3C510C;
180
- background-color: #FFF;
181
- border-left: 10px solid #C6E746;
182
- }
183
-
184
- #qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; }
185
- #qunit-tests .pass .test-name { color: #366097; }
186
-
187
- #qunit-tests .pass .test-actual,
188
- #qunit-tests .pass .test-expected { color: #999; }
189
-
190
- #qunit-banner.qunit-pass { background-color: #C6E746; }
191
-
192
- /*** Failing Styles */
193
-
194
- #qunit-tests li li.fail {
195
- color: #710909;
196
- background-color: #FFF;
197
- border-left: 10px solid #EE5757;
198
- white-space: pre;
199
- }
200
-
201
- #qunit-tests > li:last-child {
202
- border-radius: 0 0 5px 5px;
203
- }
204
-
205
- #qunit-tests .fail { color: #000; background-color: #EE5757; }
206
- #qunit-tests .fail .test-name,
207
- #qunit-tests .fail .module-name { color: #000; }
208
-
209
- #qunit-tests .fail .test-actual { color: #EE5757; }
210
- #qunit-tests .fail .test-expected { color: #008000; }
211
-
212
- #qunit-banner.qunit-fail { background-color: #EE5757; }
213
-
214
-
215
- /** Result */
216
-
217
- #qunit-testresult {
218
- padding: 0.5em 0.5em 0.5em 2.5em;
219
-
220
- color: #2B81AF;
221
- background-color: #D2E0E6;
222
-
223
- border-bottom: 1px solid #FFF;
224
- }
225
- #qunit-testresult .module-name {
226
- font-weight: 700;
227
- }
228
-
229
- /** Fixture */
230
-
231
- #qunit-fixture {
232
- position: absolute;
233
- top: -10000px;
234
- left: -10000px;
235
- width: 1000px;
236
- height: 1000px;
237
- }
@@ -1,2288 +0,0 @@
1
- /*!
2
- * QUnit 1.14.0
3
- * http://qunitjs.com/
4
- *
5
- * Copyright 2013 jQuery Foundation and other contributors
6
- * Released under the MIT license
7
- * http://jquery.org/license
8
- *
9
- * Date: 2014-01-31T16:40Z
10
- */
11
-
12
- (function( window ) {
13
-
14
- var QUnit,
15
- assert,
16
- config,
17
- onErrorFnPrev,
18
- testId = 0,
19
- fileName = (sourceFromStacktrace( 0 ) || "" ).replace(/(:\d+)+\)?/, "").replace(/.+\//, ""),
20
- toString = Object.prototype.toString,
21
- hasOwn = Object.prototype.hasOwnProperty,
22
- // Keep a local reference to Date (GH-283)
23
- Date = window.Date,
24
- setTimeout = window.setTimeout,
25
- clearTimeout = window.clearTimeout,
26
- defined = {
27
- document: typeof window.document !== "undefined",
28
- setTimeout: typeof window.setTimeout !== "undefined",
29
- sessionStorage: (function() {
30
- var x = "qunit-test-string";
31
- try {
32
- sessionStorage.setItem( x, x );
33
- sessionStorage.removeItem( x );
34
- return true;
35
- } catch( e ) {
36
- return false;
37
- }
38
- }())
39
- },
40
- /**
41
- * Provides a normalized error string, correcting an issue
42
- * with IE 7 (and prior) where Error.prototype.toString is
43
- * not properly implemented
44
- *
45
- * Based on http://es5.github.com/#x15.11.4.4
46
- *
47
- * @param {String|Error} error
48
- * @return {String} error message
49
- */
50
- errorString = function( error ) {
51
- var name, message,
52
- errorString = error.toString();
53
- if ( errorString.substring( 0, 7 ) === "[object" ) {
54
- name = error.name ? error.name.toString() : "Error";
55
- message = error.message ? error.message.toString() : "";
56
- if ( name && message ) {
57
- return name + ": " + message;
58
- } else if ( name ) {
59
- return name;
60
- } else if ( message ) {
61
- return message;
62
- } else {
63
- return "Error";
64
- }
65
- } else {
66
- return errorString;
67
- }
68
- },
69
- /**
70
- * Makes a clone of an object using only Array or Object as base,
71
- * and copies over the own enumerable properties.
72
- *
73
- * @param {Object} obj
74
- * @return {Object} New object with only the own properties (recursively).
75
- */
76
- objectValues = function( obj ) {
77
- // Grunt 0.3.x uses an older version of jshint that still has jshint/jshint#392.
78
- /*jshint newcap: false */
79
- var key, val,
80
- vals = QUnit.is( "array", obj ) ? [] : {};
81
- for ( key in obj ) {
82
- if ( hasOwn.call( obj, key ) ) {
83
- val = obj[key];
84
- vals[key] = val === Object(val) ? objectValues(val) : val;
85
- }
86
- }
87
- return vals;
88
- };
89
-
90
-
91
- // Root QUnit object.
92
- // `QUnit` initialized at top of scope
93
- QUnit = {
94
-
95
- // call on start of module test to prepend name to all tests
96
- module: function( name, testEnvironment ) {
97
- config.currentModule = name;
98
- config.currentModuleTestEnvironment = testEnvironment;
99
- config.modules[name] = true;
100
- },
101
-
102
- asyncTest: function( testName, expected, callback ) {
103
- if ( arguments.length === 2 ) {
104
- callback = expected;
105
- expected = null;
106
- }
107
-
108
- QUnit.test( testName, expected, callback, true );
109
- },
110
-
111
- test: function( testName, expected, callback, async ) {
112
- var test,
113
- nameHtml = "<span class='test-name'>" + escapeText( testName ) + "</span>";
114
-
115
- if ( arguments.length === 2 ) {
116
- callback = expected;
117
- expected = null;
118
- }
119
-
120
- if ( config.currentModule ) {
121
- nameHtml = "<span class='module-name'>" + escapeText( config.currentModule ) + "</span>: " + nameHtml;
122
- }
123
-
124
- test = new Test({
125
- nameHtml: nameHtml,
126
- testName: testName,
127
- expected: expected,
128
- async: async,
129
- callback: callback,
130
- module: config.currentModule,
131
- moduleTestEnvironment: config.currentModuleTestEnvironment,
132
- stack: sourceFromStacktrace( 2 )
133
- });
134
-
135
- if ( !validTest( test ) ) {
136
- return;
137
- }
138
-
139
- test.queue();
140
- },
141
-
142
- // Specify the number of expected assertions to guarantee that failed test (no assertions are run at all) don't slip through.
143
- expect: function( asserts ) {
144
- if (arguments.length === 1) {
145
- config.current.expected = asserts;
146
- } else {
147
- return config.current.expected;
148
- }
149
- },
150
-
151
- start: function( count ) {
152
- // QUnit hasn't been initialized yet.
153
- // Note: RequireJS (et al) may delay onLoad
154
- if ( config.semaphore === undefined ) {
155
- QUnit.begin(function() {
156
- // This is triggered at the top of QUnit.load, push start() to the event loop, to allow QUnit.load to finish first
157
- setTimeout(function() {
158
- QUnit.start( count );
159
- });
160
- });
161
- return;
162
- }
163
-
164
- config.semaphore -= count || 1;
165
- // don't start until equal number of stop-calls
166
- if ( config.semaphore > 0 ) {
167
- return;
168
- }
169
- // ignore if start is called more often then stop
170
- if ( config.semaphore < 0 ) {
171
- config.semaphore = 0;
172
- QUnit.pushFailure( "Called start() while already started (QUnit.config.semaphore was 0 already)", null, sourceFromStacktrace(2) );
173
- return;
174
- }
175
- // A slight delay, to avoid any current callbacks
176
- if ( defined.setTimeout ) {
177
- setTimeout(function() {
178
- if ( config.semaphore > 0 ) {
179
- return;
180
- }
181
- if ( config.timeout ) {
182
- clearTimeout( config.timeout );
183
- }
184
-
185
- config.blocking = false;
186
- process( true );
187
- }, 13);
188
- } else {
189
- config.blocking = false;
190
- process( true );
191
- }
192
- },
193
-
194
- stop: function( count ) {
195
- config.semaphore += count || 1;
196
- config.blocking = true;
197
-
198
- if ( config.testTimeout && defined.setTimeout ) {
199
- clearTimeout( config.timeout );
200
- config.timeout = setTimeout(function() {
201
- QUnit.ok( false, "Test timed out" );
202
- config.semaphore = 1;
203
- QUnit.start();
204
- }, config.testTimeout );
205
- }
206
- }
207
- };
208
-
209
- // We use the prototype to distinguish between properties that should
210
- // be exposed as globals (and in exports) and those that shouldn't
211
- (function() {
212
- function F() {}
213
- F.prototype = QUnit;
214
- QUnit = new F();
215
- // Make F QUnit's constructor so that we can add to the prototype later
216
- QUnit.constructor = F;
217
- }());
218
-
219
- /**
220
- * Config object: Maintain internal state
221
- * Later exposed as QUnit.config
222
- * `config` initialized at top of scope
223
- */
224
- config = {
225
- // The queue of tests to run
226
- queue: [],
227
-
228
- // block until document ready
229
- blocking: true,
230
-
231
- // when enabled, show only failing tests
232
- // gets persisted through sessionStorage and can be changed in UI via checkbox
233
- hidepassed: false,
234
-
235
- // by default, run previously failed tests first
236
- // very useful in combination with "Hide passed tests" checked
237
- reorder: true,
238
-
239
- // by default, modify document.title when suite is done
240
- altertitle: true,
241
-
242
- // by default, scroll to top of the page when suite is done
243
- scrolltop: true,
244
-
245
- // when enabled, all tests must call expect()
246
- requireExpects: false,
247
-
248
- // add checkboxes that are persisted in the query-string
249
- // when enabled, the id is set to `true` as a `QUnit.config` property
250
- urlConfig: [
251
- {
252
- id: "noglobals",
253
- label: "Check for Globals",
254
- tooltip: "Enabling this will test if any test introduces new properties on the `window` object. Stored as query-strings."
255
- },
256
- {
257
- id: "notrycatch",
258
- label: "No try-catch",
259
- tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging exceptions in IE reasonable. Stored as query-strings."
260
- }
261
- ],
262
-
263
- // Set of all modules.
264
- modules: {},
265
-
266
- // logging callback queues
267
- begin: [],
268
- done: [],
269
- log: [],
270
- testStart: [],
271
- testDone: [],
272
- moduleStart: [],
273
- moduleDone: []
274
- };
275
-
276
- // Initialize more QUnit.config and QUnit.urlParams
277
- (function() {
278
- var i, current,
279
- location = window.location || { search: "", protocol: "file:" },
280
- params = location.search.slice( 1 ).split( "&" ),
281
- length = params.length,
282
- urlParams = {};
283
-
284
- if ( params[ 0 ] ) {
285
- for ( i = 0; i < length; i++ ) {
286
- current = params[ i ].split( "=" );
287
- current[ 0 ] = decodeURIComponent( current[ 0 ] );
288
-
289
- // allow just a key to turn on a flag, e.g., test.html?noglobals
290
- current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true;
291
- if ( urlParams[ current[ 0 ] ] ) {
292
- urlParams[ current[ 0 ] ] = [].concat( urlParams[ current[ 0 ] ], current[ 1 ] );
293
- } else {
294
- urlParams[ current[ 0 ] ] = current[ 1 ];
295
- }
296
- }
297
- }
298
-
299
- QUnit.urlParams = urlParams;
300
-
301
- // String search anywhere in moduleName+testName
302
- config.filter = urlParams.filter;
303
-
304
- // Exact match of the module name
305
- config.module = urlParams.module;
306
-
307
- config.testNumber = [];
308
- if ( urlParams.testNumber ) {
309
-
310
- // Ensure that urlParams.testNumber is an array
311
- urlParams.testNumber = [].concat( urlParams.testNumber );
312
- for ( i = 0; i < urlParams.testNumber.length; i++ ) {
313
- current = urlParams.testNumber[ i ];
314
- config.testNumber.push( parseInt( current, 10 ) );
315
- }
316
- }
317
-
318
- // Figure out if we're running the tests from a server or not
319
- QUnit.isLocal = location.protocol === "file:";
320
- }());
321
-
322
- extend( QUnit, {
323
-
324
- config: config,
325
-
326
- // Initialize the configuration options
327
- init: function() {
328
- extend( config, {
329
- stats: { all: 0, bad: 0 },
330
- moduleStats: { all: 0, bad: 0 },
331
- started: +new Date(),
332
- updateRate: 1000,
333
- blocking: false,
334
- autostart: true,
335
- autorun: false,
336
- filter: "",
337
- queue: [],
338
- semaphore: 1
339
- });
340
-
341
- var tests, banner, result,
342
- qunit = id( "qunit" );
343
-
344
- if ( qunit ) {
345
- qunit.innerHTML =
346
- "<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
347
- "<h2 id='qunit-banner'></h2>" +
348
- "<div id='qunit-testrunner-toolbar'></div>" +
349
- "<h2 id='qunit-userAgent'></h2>" +
350
- "<ol id='qunit-tests'></ol>";
351
- }
352
-
353
- tests = id( "qunit-tests" );
354
- banner = id( "qunit-banner" );
355
- result = id( "qunit-testresult" );
356
-
357
- if ( tests ) {
358
- tests.innerHTML = "";
359
- }
360
-
361
- if ( banner ) {
362
- banner.className = "";
363
- }
364
-
365
- if ( result ) {
366
- result.parentNode.removeChild( result );
367
- }
368
-
369
- if ( tests ) {
370
- result = document.createElement( "p" );
371
- result.id = "qunit-testresult";
372
- result.className = "result";
373
- tests.parentNode.insertBefore( result, tests );
374
- result.innerHTML = "Running...<br/>&nbsp;";
375
- }
376
- },
377
-
378
- // Resets the test setup. Useful for tests that modify the DOM.
379
- /*
380
- DEPRECATED: Use multiple tests instead of resetting inside a test.
381
- Use testStart or testDone for custom cleanup.
382
- This method will throw an error in 2.0, and will be removed in 2.1
383
- */
384
- reset: function() {
385
- var fixture = id( "qunit-fixture" );
386
- if ( fixture ) {
387
- fixture.innerHTML = config.fixture;
388
- }
389
- },
390
-
391
- // Safe object type checking
392
- is: function( type, obj ) {
393
- return QUnit.objectType( obj ) === type;
394
- },
395
-
396
- objectType: function( obj ) {
397
- if ( typeof obj === "undefined" ) {
398
- return "undefined";
399
- }
400
-
401
- // Consider: typeof null === object
402
- if ( obj === null ) {
403
- return "null";
404
- }
405
-
406
- var match = toString.call( obj ).match(/^\[object\s(.*)\]$/),
407
- type = match && match[1] || "";
408
-
409
- switch ( type ) {
410
- case "Number":
411
- if ( isNaN(obj) ) {
412
- return "nan";
413
- }
414
- return "number";
415
- case "String":
416
- case "Boolean":
417
- case "Array":
418
- case "Date":
419
- case "RegExp":
420
- case "Function":
421
- return type.toLowerCase();
422
- }
423
- if ( typeof obj === "object" ) {
424
- return "object";
425
- }
426
- return undefined;
427
- },
428
-
429
- push: function( result, actual, expected, message ) {
430
- if ( !config.current ) {
431
- throw new Error( "assertion outside test context, was " + sourceFromStacktrace() );
432
- }
433
-
434
- var output, source,
435
- details = {
436
- module: config.current.module,
437
- name: config.current.testName,
438
- result: result,
439
- message: message,
440
- actual: actual,
441
- expected: expected
442
- };
443
-
444
- message = escapeText( message ) || ( result ? "okay" : "failed" );
445
- message = "<span class='test-message'>" + message + "</span>";
446
- output = message;
447
-
448
- if ( !result ) {
449
- expected = escapeText( QUnit.jsDump.parse(expected) );
450
- actual = escapeText( QUnit.jsDump.parse(actual) );
451
- output += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" + expected + "</pre></td></tr>";
452
-
453
- if ( actual !== expected ) {
454
- output += "<tr class='test-actual'><th>Result: </th><td><pre>" + actual + "</pre></td></tr>";
455
- output += "<tr class='test-diff'><th>Diff: </th><td><pre>" + QUnit.diff( expected, actual ) + "</pre></td></tr>";
456
- }
457
-
458
- source = sourceFromStacktrace();
459
-
460
- if ( source ) {
461
- details.source = source;
462
- output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeText( source ) + "</pre></td></tr>";
463
- }
464
-
465
- output += "</table>";
466
- }
467
-
468
- runLoggingCallbacks( "log", QUnit, details );
469
-
470
- config.current.assertions.push({
471
- result: !!result,
472
- message: output
473
- });
474
- },
475
-
476
- pushFailure: function( message, source, actual ) {
477
- if ( !config.current ) {
478
- throw new Error( "pushFailure() assertion outside test context, was " + sourceFromStacktrace(2) );
479
- }
480
-
481
- var output,
482
- details = {
483
- module: config.current.module,
484
- name: config.current.testName,
485
- result: false,
486
- message: message
487
- };
488
-
489
- message = escapeText( message ) || "error";
490
- message = "<span class='test-message'>" + message + "</span>";
491
- output = message;
492
-
493
- output += "<table>";
494
-
495
- if ( actual ) {
496
- output += "<tr class='test-actual'><th>Result: </th><td><pre>" + escapeText( actual ) + "</pre></td></tr>";
497
- }
498
-
499
- if ( source ) {
500
- details.source = source;
501
- output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeText( source ) + "</pre></td></tr>";
502
- }
503
-
504
- output += "</table>";
505
-
506
- runLoggingCallbacks( "log", QUnit, details );
507
-
508
- config.current.assertions.push({
509
- result: false,
510
- message: output
511
- });
512
- },
513
-
514
- url: function( params ) {
515
- params = extend( extend( {}, QUnit.urlParams ), params );
516
- var key,
517
- querystring = "?";
518
-
519
- for ( key in params ) {
520
- if ( hasOwn.call( params, key ) ) {
521
- querystring += encodeURIComponent( key ) + "=" +
522
- encodeURIComponent( params[ key ] ) + "&";
523
- }
524
- }
525
- return window.location.protocol + "//" + window.location.host +
526
- window.location.pathname + querystring.slice( 0, -1 );
527
- },
528
-
529
- extend: extend,
530
- id: id,
531
- addEvent: addEvent,
532
- addClass: addClass,
533
- hasClass: hasClass,
534
- removeClass: removeClass
535
- // load, equiv, jsDump, diff: Attached later
536
- });
537
-
538
- /**
539
- * @deprecated: Created for backwards compatibility with test runner that set the hook function
540
- * into QUnit.{hook}, instead of invoking it and passing the hook function.
541
- * QUnit.constructor is set to the empty F() above so that we can add to it's prototype here.
542
- * Doing this allows us to tell if the following methods have been overwritten on the actual
543
- * QUnit object.
544
- */
545
- extend( QUnit.constructor.prototype, {
546
-
547
- // Logging callbacks; all receive a single argument with the listed properties
548
- // run test/logs.html for any related changes
549
- begin: registerLoggingCallback( "begin" ),
550
-
551
- // done: { failed, passed, total, runtime }
552
- done: registerLoggingCallback( "done" ),
553
-
554
- // log: { result, actual, expected, message }
555
- log: registerLoggingCallback( "log" ),
556
-
557
- // testStart: { name }
558
- testStart: registerLoggingCallback( "testStart" ),
559
-
560
- // testDone: { name, failed, passed, total, runtime }
561
- testDone: registerLoggingCallback( "testDone" ),
562
-
563
- // moduleStart: { name }
564
- moduleStart: registerLoggingCallback( "moduleStart" ),
565
-
566
- // moduleDone: { name, failed, passed, total }
567
- moduleDone: registerLoggingCallback( "moduleDone" )
568
- });
569
-
570
- if ( !defined.document || document.readyState === "complete" ) {
571
- config.autorun = true;
572
- }
573
-
574
- QUnit.load = function() {
575
- runLoggingCallbacks( "begin", QUnit, {} );
576
-
577
- // Initialize the config, saving the execution queue
578
- var banner, filter, i, j, label, len, main, ol, toolbar, val, selection,
579
- urlConfigContainer, moduleFilter, userAgent,
580
- numModules = 0,
581
- moduleNames = [],
582
- moduleFilterHtml = "",
583
- urlConfigHtml = "",
584
- oldconfig = extend( {}, config );
585
-
586
- QUnit.init();
587
- extend(config, oldconfig);
588
-
589
- config.blocking = false;
590
-
591
- len = config.urlConfig.length;
592
-
593
- for ( i = 0; i < len; i++ ) {
594
- val = config.urlConfig[i];
595
- if ( typeof val === "string" ) {
596
- val = {
597
- id: val,
598
- label: val
599
- };
600
- }
601
- config[ val.id ] = QUnit.urlParams[ val.id ];
602
- if ( !val.value || typeof val.value === "string" ) {
603
- urlConfigHtml += "<input id='qunit-urlconfig-" + escapeText( val.id ) +
604
- "' name='" + escapeText( val.id ) +
605
- "' type='checkbox'" +
606
- ( val.value ? " value='" + escapeText( val.value ) + "'" : "" ) +
607
- ( config[ val.id ] ? " checked='checked'" : "" ) +
608
- " title='" + escapeText( val.tooltip ) +
609
- "'><label for='qunit-urlconfig-" + escapeText( val.id ) +
610
- "' title='" + escapeText( val.tooltip ) + "'>" + val.label + "</label>";
611
- } else {
612
- urlConfigHtml += "<label for='qunit-urlconfig-" + escapeText( val.id ) +
613
- "' title='" + escapeText( val.tooltip ) +
614
- "'>" + val.label +
615
- ": </label><select id='qunit-urlconfig-" + escapeText( val.id ) +
616
- "' name='" + escapeText( val.id ) +
617
- "' title='" + escapeText( val.tooltip ) +
618
- "'><option></option>";
619
- selection = false;
620
- if ( QUnit.is( "array", val.value ) ) {
621
- for ( j = 0; j < val.value.length; j++ ) {
622
- urlConfigHtml += "<option value='" + escapeText( val.value[j] ) + "'" +
623
- ( config[ val.id ] === val.value[j] ?
624
- (selection = true) && " selected='selected'" :
625
- "" ) +
626
- ">" + escapeText( val.value[j] ) + "</option>";
627
- }
628
- } else {
629
- for ( j in val.value ) {
630
- if ( hasOwn.call( val.value, j ) ) {
631
- urlConfigHtml += "<option value='" + escapeText( j ) + "'" +
632
- ( config[ val.id ] === j ?
633
- (selection = true) && " selected='selected'" :
634
- "" ) +
635
- ">" + escapeText( val.value[j] ) + "</option>";
636
- }
637
- }
638
- }
639
- if ( config[ val.id ] && !selection ) {
640
- urlConfigHtml += "<option value='" + escapeText( config[ val.id ] ) +
641
- "' selected='selected' disabled='disabled'>" +
642
- escapeText( config[ val.id ] ) +
643
- "</option>";
644
- }
645
- urlConfigHtml += "</select>";
646
- }
647
- }
648
- for ( i in config.modules ) {
649
- if ( config.modules.hasOwnProperty( i ) ) {
650
- moduleNames.push(i);
651
- }
652
- }
653
- numModules = moduleNames.length;
654
- moduleNames.sort( function( a, b ) {
655
- return a.localeCompare( b );
656
- });
657
- moduleFilterHtml += "<label for='qunit-modulefilter'>Module: </label><select id='qunit-modulefilter' name='modulefilter'><option value='' " +
658
- ( config.module === undefined ? "selected='selected'" : "" ) +
659
- ">< All Modules ></option>";
660
-
661
-
662
- for ( i = 0; i < numModules; i++) {
663
- moduleFilterHtml += "<option value='" + escapeText( encodeURIComponent(moduleNames[i]) ) + "' " +
664
- ( config.module === moduleNames[i] ? "selected='selected'" : "" ) +
665
- ">" + escapeText(moduleNames[i]) + "</option>";
666
- }
667
- moduleFilterHtml += "</select>";
668
-
669
- // `userAgent` initialized at top of scope
670
- userAgent = id( "qunit-userAgent" );
671
- if ( userAgent ) {
672
- userAgent.innerHTML = navigator.userAgent;
673
- }
674
-
675
- // `banner` initialized at top of scope
676
- banner = id( "qunit-header" );
677
- if ( banner ) {
678
- banner.innerHTML = "<a href='" + QUnit.url({ filter: undefined, module: undefined, testNumber: undefined }) + "'>" + banner.innerHTML + "</a> ";
679
- }
680
-
681
- // `toolbar` initialized at top of scope
682
- toolbar = id( "qunit-testrunner-toolbar" );
683
- if ( toolbar ) {
684
- // `filter` initialized at top of scope
685
- filter = document.createElement( "input" );
686
- filter.type = "checkbox";
687
- filter.id = "qunit-filter-pass";
688
-
689
- addEvent( filter, "click", function() {
690
- var tmp,
691
- ol = id( "qunit-tests" );
692
-
693
- if ( filter.checked ) {
694
- ol.className = ol.className + " hidepass";
695
- } else {
696
- tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
697
- ol.className = tmp.replace( / hidepass /, " " );
698
- }
699
- if ( defined.sessionStorage ) {
700
- if (filter.checked) {
701
- sessionStorage.setItem( "qunit-filter-passed-tests", "true" );
702
- } else {
703
- sessionStorage.removeItem( "qunit-filter-passed-tests" );
704
- }
705
- }
706
- });
707
-
708
- if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem( "qunit-filter-passed-tests" ) ) {
709
- filter.checked = true;
710
- // `ol` initialized at top of scope
711
- ol = id( "qunit-tests" );
712
- ol.className = ol.className + " hidepass";
713
- }
714
- toolbar.appendChild( filter );
715
-
716
- // `label` initialized at top of scope
717
- label = document.createElement( "label" );
718
- label.setAttribute( "for", "qunit-filter-pass" );
719
- label.setAttribute( "title", "Only show tests and assertions that fail. Stored in sessionStorage." );
720
- label.innerHTML = "Hide passed tests";
721
- toolbar.appendChild( label );
722
-
723
- urlConfigContainer = document.createElement("span");
724
- urlConfigContainer.innerHTML = urlConfigHtml;
725
- // For oldIE support:
726
- // * Add handlers to the individual elements instead of the container
727
- // * Use "click" instead of "change" for checkboxes
728
- // * Fallback from event.target to event.srcElement
729
- addEvents( urlConfigContainer.getElementsByTagName("input"), "click", function( event ) {
730
- var params = {},
731
- target = event.target || event.srcElement;
732
- params[ target.name ] = target.checked ?
733
- target.defaultValue || true :
734
- undefined;
735
- window.location = QUnit.url( params );
736
- });
737
- addEvents( urlConfigContainer.getElementsByTagName("select"), "change", function( event ) {
738
- var params = {},
739
- target = event.target || event.srcElement;
740
- params[ target.name ] = target.options[ target.selectedIndex ].value || undefined;
741
- window.location = QUnit.url( params );
742
- });
743
- toolbar.appendChild( urlConfigContainer );
744
-
745
- if (numModules > 1) {
746
- moduleFilter = document.createElement( "span" );
747
- moduleFilter.setAttribute( "id", "qunit-modulefilter-container" );
748
- moduleFilter.innerHTML = moduleFilterHtml;
749
- addEvent( moduleFilter.lastChild, "change", function() {
750
- var selectBox = moduleFilter.getElementsByTagName("select")[0],
751
- selectedModule = decodeURIComponent(selectBox.options[selectBox.selectedIndex].value);
752
-
753
- window.location = QUnit.url({
754
- module: ( selectedModule === "" ) ? undefined : selectedModule,
755
- // Remove any existing filters
756
- filter: undefined,
757
- testNumber: undefined
758
- });
759
- });
760
- toolbar.appendChild(moduleFilter);
761
- }
762
- }
763
-
764
- // `main` initialized at top of scope
765
- main = id( "qunit-fixture" );
766
- if ( main ) {
767
- config.fixture = main.innerHTML;
768
- }
769
-
770
- if ( config.autostart ) {
771
- QUnit.start();
772
- }
773
- };
774
-
775
- if ( defined.document ) {
776
- addEvent( window, "load", QUnit.load );
777
- }
778
-
779
- // `onErrorFnPrev` initialized at top of scope
780
- // Preserve other handlers
781
- onErrorFnPrev = window.onerror;
782
-
783
- // Cover uncaught exceptions
784
- // Returning true will suppress the default browser handler,
785
- // returning false will let it run.
786
- window.onerror = function ( error, filePath, linerNr ) {
787
- var ret = false;
788
- if ( onErrorFnPrev ) {
789
- ret = onErrorFnPrev( error, filePath, linerNr );
790
- }
791
-
792
- // Treat return value as window.onerror itself does,
793
- // Only do our handling if not suppressed.
794
- if ( ret !== true ) {
795
- if ( QUnit.config.current ) {
796
- if ( QUnit.config.current.ignoreGlobalErrors ) {
797
- return true;
798
- }
799
- QUnit.pushFailure( error, filePath + ":" + linerNr );
800
- } else {
801
- QUnit.test( "global failure", extend( function() {
802
- QUnit.pushFailure( error, filePath + ":" + linerNr );
803
- }, { validTest: validTest } ) );
804
- }
805
- return false;
806
- }
807
-
808
- return ret;
809
- };
810
-
811
- function done() {
812
- config.autorun = true;
813
-
814
- // Log the last module results
815
- if ( config.previousModule ) {
816
- runLoggingCallbacks( "moduleDone", QUnit, {
817
- name: config.previousModule,
818
- failed: config.moduleStats.bad,
819
- passed: config.moduleStats.all - config.moduleStats.bad,
820
- total: config.moduleStats.all
821
- });
822
- }
823
- delete config.previousModule;
824
-
825
- var i, key,
826
- banner = id( "qunit-banner" ),
827
- tests = id( "qunit-tests" ),
828
- runtime = +new Date() - config.started,
829
- passed = config.stats.all - config.stats.bad,
830
- html = [
831
- "Tests completed in ",
832
- runtime,
833
- " milliseconds.<br/>",
834
- "<span class='passed'>",
835
- passed,
836
- "</span> assertions of <span class='total'>",
837
- config.stats.all,
838
- "</span> passed, <span class='failed'>",
839
- config.stats.bad,
840
- "</span> failed."
841
- ].join( "" );
842
-
843
- if ( banner ) {
844
- banner.className = ( config.stats.bad ? "qunit-fail" : "qunit-pass" );
845
- }
846
-
847
- if ( tests ) {
848
- id( "qunit-testresult" ).innerHTML = html;
849
- }
850
-
851
- if ( config.altertitle && defined.document && document.title ) {
852
- // show ✖ for good, ✔ for bad suite result in title
853
- // use escape sequences in case file gets loaded with non-utf-8-charset
854
- document.title = [
855
- ( config.stats.bad ? "\u2716" : "\u2714" ),
856
- document.title.replace( /^[\u2714\u2716] /i, "" )
857
- ].join( " " );
858
- }
859
-
860
- // clear own sessionStorage items if all tests passed
861
- if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) {
862
- // `key` & `i` initialized at top of scope
863
- for ( i = 0; i < sessionStorage.length; i++ ) {
864
- key = sessionStorage.key( i++ );
865
- if ( key.indexOf( "qunit-test-" ) === 0 ) {
866
- sessionStorage.removeItem( key );
867
- }
868
- }
869
- }
870
-
871
- // scroll back to top to show results
872
- if ( config.scrolltop && window.scrollTo ) {
873
- window.scrollTo(0, 0);
874
- }
875
-
876
- runLoggingCallbacks( "done", QUnit, {
877
- failed: config.stats.bad,
878
- passed: passed,
879
- total: config.stats.all,
880
- runtime: runtime
881
- });
882
- }
883
-
884
- /** @return Boolean: true if this test should be ran */
885
- function validTest( test ) {
886
- var include,
887
- filter = config.filter && config.filter.toLowerCase(),
888
- module = config.module && config.module.toLowerCase(),
889
- fullName = ( test.module + ": " + test.testName ).toLowerCase();
890
-
891
- // Internally-generated tests are always valid
892
- if ( test.callback && test.callback.validTest === validTest ) {
893
- delete test.callback.validTest;
894
- return true;
895
- }
896
-
897
- if ( config.testNumber.length > 0 ) {
898
- if ( inArray( test.testNumber, config.testNumber ) < 0 ) {
899
- return false;
900
- }
901
- }
902
-
903
- if ( module && ( !test.module || test.module.toLowerCase() !== module ) ) {
904
- return false;
905
- }
906
-
907
- if ( !filter ) {
908
- return true;
909
- }
910
-
911
- include = filter.charAt( 0 ) !== "!";
912
- if ( !include ) {
913
- filter = filter.slice( 1 );
914
- }
915
-
916
- // If the filter matches, we need to honour include
917
- if ( fullName.indexOf( filter ) !== -1 ) {
918
- return include;
919
- }
920
-
921
- // Otherwise, do the opposite
922
- return !include;
923
- }
924
-
925
- // so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions)
926
- // Later Safari and IE10 are supposed to support error.stack as well
927
- // See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
928
- function extractStacktrace( e, offset ) {
929
- offset = offset === undefined ? 3 : offset;
930
-
931
- var stack, include, i;
932
-
933
- if ( e.stacktrace ) {
934
- // Opera
935
- return e.stacktrace.split( "\n" )[ offset + 3 ];
936
- } else if ( e.stack ) {
937
- // Firefox, Chrome
938
- stack = e.stack.split( "\n" );
939
- if (/^error$/i.test( stack[0] ) ) {
940
- stack.shift();
941
- }
942
- if ( fileName ) {
943
- include = [];
944
- for ( i = offset; i < stack.length; i++ ) {
945
- if ( stack[ i ].indexOf( fileName ) !== -1 ) {
946
- break;
947
- }
948
- include.push( stack[ i ] );
949
- }
950
- if ( include.length ) {
951
- return include.join( "\n" );
952
- }
953
- }
954
- return stack[ offset ];
955
- } else if ( e.sourceURL ) {
956
- // Safari, PhantomJS
957
- // hopefully one day Safari provides actual stacktraces
958
- // exclude useless self-reference for generated Error objects
959
- if ( /qunit.js$/.test( e.sourceURL ) ) {
960
- return;
961
- }
962
- // for actual exceptions, this is useful
963
- return e.sourceURL + ":" + e.line;
964
- }
965
- }
966
- function sourceFromStacktrace( offset ) {
967
- try {
968
- throw new Error();
969
- } catch ( e ) {
970
- return extractStacktrace( e, offset );
971
- }
972
- }
973
-
974
- /**
975
- * Escape text for attribute or text content.
976
- */
977
- function escapeText( s ) {
978
- if ( !s ) {
979
- return "";
980
- }
981
- s = s + "";
982
- // Both single quotes and double quotes (for attributes)
983
- return s.replace( /['"<>&]/g, function( s ) {
984
- switch( s ) {
985
- case "'":
986
- return "&#039;";
987
- case "\"":
988
- return "&quot;";
989
- case "<":
990
- return "&lt;";
991
- case ">":
992
- return "&gt;";
993
- case "&":
994
- return "&amp;";
995
- }
996
- });
997
- }
998
-
999
- function synchronize( callback, last ) {
1000
- config.queue.push( callback );
1001
-
1002
- if ( config.autorun && !config.blocking ) {
1003
- process( last );
1004
- }
1005
- }
1006
-
1007
- function process( last ) {
1008
- function next() {
1009
- process( last );
1010
- }
1011
- var start = new Date().getTime();
1012
- config.depth = config.depth ? config.depth + 1 : 1;
1013
-
1014
- while ( config.queue.length && !config.blocking ) {
1015
- if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) {
1016
- config.queue.shift()();
1017
- } else {
1018
- setTimeout( next, 13 );
1019
- break;
1020
- }
1021
- }
1022
- config.depth--;
1023
- if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) {
1024
- done();
1025
- }
1026
- }
1027
-
1028
- function saveGlobal() {
1029
- config.pollution = [];
1030
-
1031
- if ( config.noglobals ) {
1032
- for ( var key in window ) {
1033
- if ( hasOwn.call( window, key ) ) {
1034
- // in Opera sometimes DOM element ids show up here, ignore them
1035
- if ( /^qunit-test-output/.test( key ) ) {
1036
- continue;
1037
- }
1038
- config.pollution.push( key );
1039
- }
1040
- }
1041
- }
1042
- }
1043
-
1044
- function checkPollution() {
1045
- var newGlobals,
1046
- deletedGlobals,
1047
- old = config.pollution;
1048
-
1049
- saveGlobal();
1050
-
1051
- newGlobals = diff( config.pollution, old );
1052
- if ( newGlobals.length > 0 ) {
1053
- QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") );
1054
- }
1055
-
1056
- deletedGlobals = diff( old, config.pollution );
1057
- if ( deletedGlobals.length > 0 ) {
1058
- QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") );
1059
- }
1060
- }
1061
-
1062
- // returns a new Array with the elements that are in a but not in b
1063
- function diff( a, b ) {
1064
- var i, j,
1065
- result = a.slice();
1066
-
1067
- for ( i = 0; i < result.length; i++ ) {
1068
- for ( j = 0; j < b.length; j++ ) {
1069
- if ( result[i] === b[j] ) {
1070
- result.splice( i, 1 );
1071
- i--;
1072
- break;
1073
- }
1074
- }
1075
- }
1076
- return result;
1077
- }
1078
-
1079
- function extend( a, b ) {
1080
- for ( var prop in b ) {
1081
- if ( hasOwn.call( b, prop ) ) {
1082
- // Avoid "Member not found" error in IE8 caused by messing with window.constructor
1083
- if ( !( prop === "constructor" && a === window ) ) {
1084
- if ( b[ prop ] === undefined ) {
1085
- delete a[ prop ];
1086
- } else {
1087
- a[ prop ] = b[ prop ];
1088
- }
1089
- }
1090
- }
1091
- }
1092
-
1093
- return a;
1094
- }
1095
-
1096
- /**
1097
- * @param {HTMLElement} elem
1098
- * @param {string} type
1099
- * @param {Function} fn
1100
- */
1101
- function addEvent( elem, type, fn ) {
1102
- if ( elem.addEventListener ) {
1103
-
1104
- // Standards-based browsers
1105
- elem.addEventListener( type, fn, false );
1106
- } else if ( elem.attachEvent ) {
1107
-
1108
- // support: IE <9
1109
- elem.attachEvent( "on" + type, fn );
1110
- } else {
1111
-
1112
- // Caller must ensure support for event listeners is present
1113
- throw new Error( "addEvent() was called in a context without event listener support" );
1114
- }
1115
- }
1116
-
1117
- /**
1118
- * @param {Array|NodeList} elems
1119
- * @param {string} type
1120
- * @param {Function} fn
1121
- */
1122
- function addEvents( elems, type, fn ) {
1123
- var i = elems.length;
1124
- while ( i-- ) {
1125
- addEvent( elems[i], type, fn );
1126
- }
1127
- }
1128
-
1129
- function hasClass( elem, name ) {
1130
- return (" " + elem.className + " ").indexOf(" " + name + " ") > -1;
1131
- }
1132
-
1133
- function addClass( elem, name ) {
1134
- if ( !hasClass( elem, name ) ) {
1135
- elem.className += (elem.className ? " " : "") + name;
1136
- }
1137
- }
1138
-
1139
- function removeClass( elem, name ) {
1140
- var set = " " + elem.className + " ";
1141
- // Class name may appear multiple times
1142
- while ( set.indexOf(" " + name + " ") > -1 ) {
1143
- set = set.replace(" " + name + " " , " ");
1144
- }
1145
- // If possible, trim it for prettiness, but not necessarily
1146
- elem.className = typeof set.trim === "function" ? set.trim() : set.replace(/^\s+|\s+$/g, "");
1147
- }
1148
-
1149
- function id( name ) {
1150
- return defined.document && document.getElementById && document.getElementById( name );
1151
- }
1152
-
1153
- function registerLoggingCallback( key ) {
1154
- return function( callback ) {
1155
- config[key].push( callback );
1156
- };
1157
- }
1158
-
1159
- // Supports deprecated method of completely overwriting logging callbacks
1160
- function runLoggingCallbacks( key, scope, args ) {
1161
- var i, callbacks;
1162
- if ( QUnit.hasOwnProperty( key ) ) {
1163
- QUnit[ key ].call(scope, args );
1164
- } else {
1165
- callbacks = config[ key ];
1166
- for ( i = 0; i < callbacks.length; i++ ) {
1167
- callbacks[ i ].call( scope, args );
1168
- }
1169
- }
1170
- }
1171
-
1172
- // from jquery.js
1173
- function inArray( elem, array ) {
1174
- if ( array.indexOf ) {
1175
- return array.indexOf( elem );
1176
- }
1177
-
1178
- for ( var i = 0, length = array.length; i < length; i++ ) {
1179
- if ( array[ i ] === elem ) {
1180
- return i;
1181
- }
1182
- }
1183
-
1184
- return -1;
1185
- }
1186
-
1187
- function Test( settings ) {
1188
- extend( this, settings );
1189
- this.assertions = [];
1190
- this.testNumber = ++Test.count;
1191
- }
1192
-
1193
- Test.count = 0;
1194
-
1195
- Test.prototype = {
1196
- init: function() {
1197
- var a, b, li,
1198
- tests = id( "qunit-tests" );
1199
-
1200
- if ( tests ) {
1201
- b = document.createElement( "strong" );
1202
- b.innerHTML = this.nameHtml;
1203
-
1204
- // `a` initialized at top of scope
1205
- a = document.createElement( "a" );
1206
- a.innerHTML = "Rerun";
1207
- a.href = QUnit.url({ testNumber: this.testNumber });
1208
-
1209
- li = document.createElement( "li" );
1210
- li.appendChild( b );
1211
- li.appendChild( a );
1212
- li.className = "running";
1213
- li.id = this.id = "qunit-test-output" + testId++;
1214
-
1215
- tests.appendChild( li );
1216
- }
1217
- },
1218
- setup: function() {
1219
- if (
1220
- // Emit moduleStart when we're switching from one module to another
1221
- this.module !== config.previousModule ||
1222
- // They could be equal (both undefined) but if the previousModule property doesn't
1223
- // yet exist it means this is the first test in a suite that isn't wrapped in a
1224
- // module, in which case we'll just emit a moduleStart event for 'undefined'.
1225
- // Without this, reporters can get testStart before moduleStart which is a problem.
1226
- !hasOwn.call( config, "previousModule" )
1227
- ) {
1228
- if ( hasOwn.call( config, "previousModule" ) ) {
1229
- runLoggingCallbacks( "moduleDone", QUnit, {
1230
- name: config.previousModule,
1231
- failed: config.moduleStats.bad,
1232
- passed: config.moduleStats.all - config.moduleStats.bad,
1233
- total: config.moduleStats.all
1234
- });
1235
- }
1236
- config.previousModule = this.module;
1237
- config.moduleStats = { all: 0, bad: 0 };
1238
- runLoggingCallbacks( "moduleStart", QUnit, {
1239
- name: this.module
1240
- });
1241
- }
1242
-
1243
- config.current = this;
1244
-
1245
- this.testEnvironment = extend({
1246
- setup: function() {},
1247
- teardown: function() {}
1248
- }, this.moduleTestEnvironment );
1249
-
1250
- this.started = +new Date();
1251
- runLoggingCallbacks( "testStart", QUnit, {
1252
- name: this.testName,
1253
- module: this.module
1254
- });
1255
-
1256
- /*jshint camelcase:false */
1257
-
1258
-
1259
- /**
1260
- * Expose the current test environment.
1261
- *
1262
- * @deprecated since 1.12.0: Use QUnit.config.current.testEnvironment instead.
1263
- */
1264
- QUnit.current_testEnvironment = this.testEnvironment;
1265
-
1266
- /*jshint camelcase:true */
1267
-
1268
- if ( !config.pollution ) {
1269
- saveGlobal();
1270
- }
1271
- if ( config.notrycatch ) {
1272
- this.testEnvironment.setup.call( this.testEnvironment, QUnit.assert );
1273
- return;
1274
- }
1275
- try {
1276
- this.testEnvironment.setup.call( this.testEnvironment, QUnit.assert );
1277
- } catch( e ) {
1278
- QUnit.pushFailure( "Setup failed on " + this.testName + ": " + ( e.message || e ), extractStacktrace( e, 1 ) );
1279
- }
1280
- },
1281
- run: function() {
1282
- config.current = this;
1283
-
1284
- var running = id( "qunit-testresult" );
1285
-
1286
- if ( running ) {
1287
- running.innerHTML = "Running: <br/>" + this.nameHtml;
1288
- }
1289
-
1290
- if ( this.async ) {
1291
- QUnit.stop();
1292
- }
1293
-
1294
- this.callbackStarted = +new Date();
1295
-
1296
- if ( config.notrycatch ) {
1297
- this.callback.call( this.testEnvironment, QUnit.assert );
1298
- this.callbackRuntime = +new Date() - this.callbackStarted;
1299
- return;
1300
- }
1301
-
1302
- try {
1303
- this.callback.call( this.testEnvironment, QUnit.assert );
1304
- this.callbackRuntime = +new Date() - this.callbackStarted;
1305
- } catch( e ) {
1306
- this.callbackRuntime = +new Date() - this.callbackStarted;
1307
-
1308
- QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) );
1309
- // else next test will carry the responsibility
1310
- saveGlobal();
1311
-
1312
- // Restart the tests if they're blocking
1313
- if ( config.blocking ) {
1314
- QUnit.start();
1315
- }
1316
- }
1317
- },
1318
- teardown: function() {
1319
- config.current = this;
1320
- if ( config.notrycatch ) {
1321
- if ( typeof this.callbackRuntime === "undefined" ) {
1322
- this.callbackRuntime = +new Date() - this.callbackStarted;
1323
- }
1324
- this.testEnvironment.teardown.call( this.testEnvironment, QUnit.assert );
1325
- return;
1326
- } else {
1327
- try {
1328
- this.testEnvironment.teardown.call( this.testEnvironment, QUnit.assert );
1329
- } catch( e ) {
1330
- QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + ( e.message || e ), extractStacktrace( e, 1 ) );
1331
- }
1332
- }
1333
- checkPollution();
1334
- },
1335
- finish: function() {
1336
- config.current = this;
1337
- if ( config.requireExpects && this.expected === null ) {
1338
- QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack );
1339
- } else if ( this.expected !== null && this.expected !== this.assertions.length ) {
1340
- QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack );
1341
- } else if ( this.expected === null && !this.assertions.length ) {
1342
- QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack );
1343
- }
1344
-
1345
- var i, assertion, a, b, time, li, ol,
1346
- test = this,
1347
- good = 0,
1348
- bad = 0,
1349
- tests = id( "qunit-tests" );
1350
-
1351
- this.runtime = +new Date() - this.started;
1352
- config.stats.all += this.assertions.length;
1353
- config.moduleStats.all += this.assertions.length;
1354
-
1355
- if ( tests ) {
1356
- ol = document.createElement( "ol" );
1357
- ol.className = "qunit-assert-list";
1358
-
1359
- for ( i = 0; i < this.assertions.length; i++ ) {
1360
- assertion = this.assertions[i];
1361
-
1362
- li = document.createElement( "li" );
1363
- li.className = assertion.result ? "pass" : "fail";
1364
- li.innerHTML = assertion.message || ( assertion.result ? "okay" : "failed" );
1365
- ol.appendChild( li );
1366
-
1367
- if ( assertion.result ) {
1368
- good++;
1369
- } else {
1370
- bad++;
1371
- config.stats.bad++;
1372
- config.moduleStats.bad++;
1373
- }
1374
- }
1375
-
1376
- // store result when possible
1377
- if ( QUnit.config.reorder && defined.sessionStorage ) {
1378
- if ( bad ) {
1379
- sessionStorage.setItem( "qunit-test-" + this.module + "-" + this.testName, bad );
1380
- } else {
1381
- sessionStorage.removeItem( "qunit-test-" + this.module + "-" + this.testName );
1382
- }
1383
- }
1384
-
1385
- if ( bad === 0 ) {
1386
- addClass( ol, "qunit-collapsed" );
1387
- }
1388
-
1389
- // `b` initialized at top of scope
1390
- b = document.createElement( "strong" );
1391
- b.innerHTML = this.nameHtml + " <b class='counts'>(<b class='failed'>" + bad + "</b>, <b class='passed'>" + good + "</b>, " + this.assertions.length + ")</b>";
1392
-
1393
- addEvent(b, "click", function() {
1394
- var next = b.parentNode.lastChild,
1395
- collapsed = hasClass( next, "qunit-collapsed" );
1396
- ( collapsed ? removeClass : addClass )( next, "qunit-collapsed" );
1397
- });
1398
-
1399
- addEvent(b, "dblclick", function( e ) {
1400
- var target = e && e.target ? e.target : window.event.srcElement;
1401
- if ( target.nodeName.toLowerCase() === "span" || target.nodeName.toLowerCase() === "b" ) {
1402
- target = target.parentNode;
1403
- }
1404
- if ( window.location && target.nodeName.toLowerCase() === "strong" ) {
1405
- window.location = QUnit.url({ testNumber: test.testNumber });
1406
- }
1407
- });
1408
-
1409
- // `time` initialized at top of scope
1410
- time = document.createElement( "span" );
1411
- time.className = "runtime";
1412
- time.innerHTML = this.runtime + " ms";
1413
-
1414
- // `li` initialized at top of scope
1415
- li = id( this.id );
1416
- li.className = bad ? "fail" : "pass";
1417
- li.removeChild( li.firstChild );
1418
- a = li.firstChild;
1419
- li.appendChild( b );
1420
- li.appendChild( a );
1421
- li.appendChild( time );
1422
- li.appendChild( ol );
1423
-
1424
- } else {
1425
- for ( i = 0; i < this.assertions.length; i++ ) {
1426
- if ( !this.assertions[i].result ) {
1427
- bad++;
1428
- config.stats.bad++;
1429
- config.moduleStats.bad++;
1430
- }
1431
- }
1432
- }
1433
-
1434
- runLoggingCallbacks( "testDone", QUnit, {
1435
- name: this.testName,
1436
- module: this.module,
1437
- failed: bad,
1438
- passed: this.assertions.length - bad,
1439
- total: this.assertions.length,
1440
- runtime: this.runtime,
1441
- // DEPRECATED: this property will be removed in 2.0.0, use runtime instead
1442
- duration: this.runtime
1443
- });
1444
-
1445
- QUnit.reset();
1446
-
1447
- config.current = undefined;
1448
- },
1449
-
1450
- queue: function() {
1451
- var bad,
1452
- test = this;
1453
-
1454
- synchronize(function() {
1455
- test.init();
1456
- });
1457
- function run() {
1458
- // each of these can by async
1459
- synchronize(function() {
1460
- test.setup();
1461
- });
1462
- synchronize(function() {
1463
- test.run();
1464
- });
1465
- synchronize(function() {
1466
- test.teardown();
1467
- });
1468
- synchronize(function() {
1469
- test.finish();
1470
- });
1471
- }
1472
-
1473
- // `bad` initialized at top of scope
1474
- // defer when previous test run passed, if storage is available
1475
- bad = QUnit.config.reorder && defined.sessionStorage &&
1476
- +sessionStorage.getItem( "qunit-test-" + this.module + "-" + this.testName );
1477
-
1478
- if ( bad ) {
1479
- run();
1480
- } else {
1481
- synchronize( run, true );
1482
- }
1483
- }
1484
- };
1485
-
1486
- // `assert` initialized at top of scope
1487
- // Assert helpers
1488
- // All of these must either call QUnit.push() or manually do:
1489
- // - runLoggingCallbacks( "log", .. );
1490
- // - config.current.assertions.push({ .. });
1491
- assert = QUnit.assert = {
1492
- /**
1493
- * Asserts rough true-ish result.
1494
- * @name ok
1495
- * @function
1496
- * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
1497
- */
1498
- ok: function( result, msg ) {
1499
- if ( !config.current ) {
1500
- throw new Error( "ok() assertion outside test context, was " + sourceFromStacktrace(2) );
1501
- }
1502
- result = !!result;
1503
- msg = msg || ( result ? "okay" : "failed" );
1504
-
1505
- var source,
1506
- details = {
1507
- module: config.current.module,
1508
- name: config.current.testName,
1509
- result: result,
1510
- message: msg
1511
- };
1512
-
1513
- msg = "<span class='test-message'>" + escapeText( msg ) + "</span>";
1514
-
1515
- if ( !result ) {
1516
- source = sourceFromStacktrace( 2 );
1517
- if ( source ) {
1518
- details.source = source;
1519
- msg += "<table><tr class='test-source'><th>Source: </th><td><pre>" +
1520
- escapeText( source ) +
1521
- "</pre></td></tr></table>";
1522
- }
1523
- }
1524
- runLoggingCallbacks( "log", QUnit, details );
1525
- config.current.assertions.push({
1526
- result: result,
1527
- message: msg
1528
- });
1529
- },
1530
-
1531
- /**
1532
- * Assert that the first two arguments are equal, with an optional message.
1533
- * Prints out both actual and expected values.
1534
- * @name equal
1535
- * @function
1536
- * @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" );
1537
- */
1538
- equal: function( actual, expected, message ) {
1539
- /*jshint eqeqeq:false */
1540
- QUnit.push( expected == actual, actual, expected, message );
1541
- },
1542
-
1543
- /**
1544
- * @name notEqual
1545
- * @function
1546
- */
1547
- notEqual: function( actual, expected, message ) {
1548
- /*jshint eqeqeq:false */
1549
- QUnit.push( expected != actual, actual, expected, message );
1550
- },
1551
-
1552
- /**
1553
- * @name propEqual
1554
- * @function
1555
- */
1556
- propEqual: function( actual, expected, message ) {
1557
- actual = objectValues(actual);
1558
- expected = objectValues(expected);
1559
- QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
1560
- },
1561
-
1562
- /**
1563
- * @name notPropEqual
1564
- * @function
1565
- */
1566
- notPropEqual: function( actual, expected, message ) {
1567
- actual = objectValues(actual);
1568
- expected = objectValues(expected);
1569
- QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
1570
- },
1571
-
1572
- /**
1573
- * @name deepEqual
1574
- * @function
1575
- */
1576
- deepEqual: function( actual, expected, message ) {
1577
- QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
1578
- },
1579
-
1580
- /**
1581
- * @name notDeepEqual
1582
- * @function
1583
- */
1584
- notDeepEqual: function( actual, expected, message ) {
1585
- QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
1586
- },
1587
-
1588
- /**
1589
- * @name strictEqual
1590
- * @function
1591
- */
1592
- strictEqual: function( actual, expected, message ) {
1593
- QUnit.push( expected === actual, actual, expected, message );
1594
- },
1595
-
1596
- /**
1597
- * @name notStrictEqual
1598
- * @function
1599
- */
1600
- notStrictEqual: function( actual, expected, message ) {
1601
- QUnit.push( expected !== actual, actual, expected, message );
1602
- },
1603
-
1604
- "throws": function( block, expected, message ) {
1605
- var actual,
1606
- expectedOutput = expected,
1607
- ok = false;
1608
-
1609
- // 'expected' is optional
1610
- if ( !message && typeof expected === "string" ) {
1611
- message = expected;
1612
- expected = null;
1613
- }
1614
-
1615
- config.current.ignoreGlobalErrors = true;
1616
- try {
1617
- block.call( config.current.testEnvironment );
1618
- } catch (e) {
1619
- actual = e;
1620
- }
1621
- config.current.ignoreGlobalErrors = false;
1622
-
1623
- if ( actual ) {
1624
-
1625
- // we don't want to validate thrown error
1626
- if ( !expected ) {
1627
- ok = true;
1628
- expectedOutput = null;
1629
-
1630
- // expected is an Error object
1631
- } else if ( expected instanceof Error ) {
1632
- ok = actual instanceof Error &&
1633
- actual.name === expected.name &&
1634
- actual.message === expected.message;
1635
-
1636
- // expected is a regexp
1637
- } else if ( QUnit.objectType( expected ) === "regexp" ) {
1638
- ok = expected.test( errorString( actual ) );
1639
-
1640
- // expected is a string
1641
- } else if ( QUnit.objectType( expected ) === "string" ) {
1642
- ok = expected === errorString( actual );
1643
-
1644
- // expected is a constructor
1645
- } else if ( actual instanceof expected ) {
1646
- ok = true;
1647
-
1648
- // expected is a validation function which returns true is validation passed
1649
- } else if ( expected.call( {}, actual ) === true ) {
1650
- expectedOutput = null;
1651
- ok = true;
1652
- }
1653
-
1654
- QUnit.push( ok, actual, expectedOutput, message );
1655
- } else {
1656
- QUnit.pushFailure( message, null, "No exception was thrown." );
1657
- }
1658
- }
1659
- };
1660
-
1661
- /**
1662
- * @deprecated since 1.8.0
1663
- * Kept assertion helpers in root for backwards compatibility.
1664
- */
1665
- extend( QUnit.constructor.prototype, assert );
1666
-
1667
- /**
1668
- * @deprecated since 1.9.0
1669
- * Kept to avoid TypeErrors for undefined methods.
1670
- */
1671
- QUnit.constructor.prototype.raises = function() {
1672
- QUnit.push( false, false, false, "QUnit.raises has been deprecated since 2012 (fad3c1ea), use QUnit.throws instead" );
1673
- };
1674
-
1675
- /**
1676
- * @deprecated since 1.0.0, replaced with error pushes since 1.3.0
1677
- * Kept to avoid TypeErrors for undefined methods.
1678
- */
1679
- QUnit.constructor.prototype.equals = function() {
1680
- QUnit.push( false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead" );
1681
- };
1682
- QUnit.constructor.prototype.same = function() {
1683
- QUnit.push( false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead" );
1684
- };
1685
-
1686
- // Test for equality any JavaScript type.
1687
- // Author: Philippe Rathé <prathe@gmail.com>
1688
- QUnit.equiv = (function() {
1689
-
1690
- // Call the o related callback with the given arguments.
1691
- function bindCallbacks( o, callbacks, args ) {
1692
- var prop = QUnit.objectType( o );
1693
- if ( prop ) {
1694
- if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) {
1695
- return callbacks[ prop ].apply( callbacks, args );
1696
- } else {
1697
- return callbacks[ prop ]; // or undefined
1698
- }
1699
- }
1700
- }
1701
-
1702
- // the real equiv function
1703
- var innerEquiv,
1704
- // stack to decide between skip/abort functions
1705
- callers = [],
1706
- // stack to avoiding loops from circular referencing
1707
- parents = [],
1708
- parentsB = [],
1709
-
1710
- getProto = Object.getPrototypeOf || function ( obj ) {
1711
- /*jshint camelcase:false */
1712
- return obj.__proto__;
1713
- },
1714
- callbacks = (function () {
1715
-
1716
- // for string, boolean, number and null
1717
- function useStrictEquality( b, a ) {
1718
- /*jshint eqeqeq:false */
1719
- if ( b instanceof a.constructor || a instanceof b.constructor ) {
1720
- // to catch short annotation VS 'new' annotation of a
1721
- // declaration
1722
- // e.g. var i = 1;
1723
- // var j = new Number(1);
1724
- return a == b;
1725
- } else {
1726
- return a === b;
1727
- }
1728
- }
1729
-
1730
- return {
1731
- "string": useStrictEquality,
1732
- "boolean": useStrictEquality,
1733
- "number": useStrictEquality,
1734
- "null": useStrictEquality,
1735
- "undefined": useStrictEquality,
1736
-
1737
- "nan": function( b ) {
1738
- return isNaN( b );
1739
- },
1740
-
1741
- "date": function( b, a ) {
1742
- return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
1743
- },
1744
-
1745
- "regexp": function( b, a ) {
1746
- return QUnit.objectType( b ) === "regexp" &&
1747
- // the regex itself
1748
- a.source === b.source &&
1749
- // and its modifiers
1750
- a.global === b.global &&
1751
- // (gmi) ...
1752
- a.ignoreCase === b.ignoreCase &&
1753
- a.multiline === b.multiline &&
1754
- a.sticky === b.sticky;
1755
- },
1756
-
1757
- // - skip when the property is a method of an instance (OOP)
1758
- // - abort otherwise,
1759
- // initial === would have catch identical references anyway
1760
- "function": function() {
1761
- var caller = callers[callers.length - 1];
1762
- return caller !== Object && typeof caller !== "undefined";
1763
- },
1764
-
1765
- "array": function( b, a ) {
1766
- var i, j, len, loop, aCircular, bCircular;
1767
-
1768
- // b could be an object literal here
1769
- if ( QUnit.objectType( b ) !== "array" ) {
1770
- return false;
1771
- }
1772
-
1773
- len = a.length;
1774
- if ( len !== b.length ) {
1775
- // safe and faster
1776
- return false;
1777
- }
1778
-
1779
- // track reference to avoid circular references
1780
- parents.push( a );
1781
- parentsB.push( b );
1782
- for ( i = 0; i < len; i++ ) {
1783
- loop = false;
1784
- for ( j = 0; j < parents.length; j++ ) {
1785
- aCircular = parents[j] === a[i];
1786
- bCircular = parentsB[j] === b[i];
1787
- if ( aCircular || bCircular ) {
1788
- if ( a[i] === b[i] || aCircular && bCircular ) {
1789
- loop = true;
1790
- } else {
1791
- parents.pop();
1792
- parentsB.pop();
1793
- return false;
1794
- }
1795
- }
1796
- }
1797
- if ( !loop && !innerEquiv(a[i], b[i]) ) {
1798
- parents.pop();
1799
- parentsB.pop();
1800
- return false;
1801
- }
1802
- }
1803
- parents.pop();
1804
- parentsB.pop();
1805
- return true;
1806
- },
1807
-
1808
- "object": function( b, a ) {
1809
- /*jshint forin:false */
1810
- var i, j, loop, aCircular, bCircular,
1811
- // Default to true
1812
- eq = true,
1813
- aProperties = [],
1814
- bProperties = [];
1815
-
1816
- // comparing constructors is more strict than using
1817
- // instanceof
1818
- if ( a.constructor !== b.constructor ) {
1819
- // Allow objects with no prototype to be equivalent to
1820
- // objects with Object as their constructor.
1821
- if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) ||
1822
- ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) {
1823
- return false;
1824
- }
1825
- }
1826
-
1827
- // stack constructor before traversing properties
1828
- callers.push( a.constructor );
1829
-
1830
- // track reference to avoid circular references
1831
- parents.push( a );
1832
- parentsB.push( b );
1833
-
1834
- // be strict: don't ensure hasOwnProperty and go deep
1835
- for ( i in a ) {
1836
- loop = false;
1837
- for ( j = 0; j < parents.length; j++ ) {
1838
- aCircular = parents[j] === a[i];
1839
- bCircular = parentsB[j] === b[i];
1840
- if ( aCircular || bCircular ) {
1841
- if ( a[i] === b[i] || aCircular && bCircular ) {
1842
- loop = true;
1843
- } else {
1844
- eq = false;
1845
- break;
1846
- }
1847
- }
1848
- }
1849
- aProperties.push(i);
1850
- if ( !loop && !innerEquiv(a[i], b[i]) ) {
1851
- eq = false;
1852
- break;
1853
- }
1854
- }
1855
-
1856
- parents.pop();
1857
- parentsB.pop();
1858
- callers.pop(); // unstack, we are done
1859
-
1860
- for ( i in b ) {
1861
- bProperties.push( i ); // collect b's properties
1862
- }
1863
-
1864
- // Ensures identical properties name
1865
- return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
1866
- }
1867
- };
1868
- }());
1869
-
1870
- innerEquiv = function() { // can take multiple arguments
1871
- var args = [].slice.apply( arguments );
1872
- if ( args.length < 2 ) {
1873
- return true; // end transition
1874
- }
1875
-
1876
- return (function( a, b ) {
1877
- if ( a === b ) {
1878
- return true; // catch the most you can
1879
- } else if ( a === null || b === null || typeof a === "undefined" ||
1880
- typeof b === "undefined" ||
1881
- QUnit.objectType(a) !== QUnit.objectType(b) ) {
1882
- return false; // don't lose time with error prone cases
1883
- } else {
1884
- return bindCallbacks(a, callbacks, [ b, a ]);
1885
- }
1886
-
1887
- // apply transition with (1..n) arguments
1888
- }( args[0], args[1] ) && innerEquiv.apply( this, args.splice(1, args.length - 1 )) );
1889
- };
1890
-
1891
- return innerEquiv;
1892
- }());
1893
-
1894
- /**
1895
- * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com |
1896
- * http://flesler.blogspot.com Licensed under BSD
1897
- * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008
1898
- *
1899
- * @projectDescription Advanced and extensible data dumping for Javascript.
1900
- * @version 1.0.0
1901
- * @author Ariel Flesler
1902
- * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html}
1903
- */
1904
- QUnit.jsDump = (function() {
1905
- function quote( str ) {
1906
- return "\"" + str.toString().replace( /"/g, "\\\"" ) + "\"";
1907
- }
1908
- function literal( o ) {
1909
- return o + "";
1910
- }
1911
- function join( pre, arr, post ) {
1912
- var s = jsDump.separator(),
1913
- base = jsDump.indent(),
1914
- inner = jsDump.indent(1);
1915
- if ( arr.join ) {
1916
- arr = arr.join( "," + s + inner );
1917
- }
1918
- if ( !arr ) {
1919
- return pre + post;
1920
- }
1921
- return [ pre, inner + arr, base + post ].join(s);
1922
- }
1923
- function array( arr, stack ) {
1924
- var i = arr.length, ret = new Array(i);
1925
- this.up();
1926
- while ( i-- ) {
1927
- ret[i] = this.parse( arr[i] , undefined , stack);
1928
- }
1929
- this.down();
1930
- return join( "[", ret, "]" );
1931
- }
1932
-
1933
- var reName = /^function (\w+)/,
1934
- jsDump = {
1935
- // type is used mostly internally, you can fix a (custom)type in advance
1936
- parse: function( obj, type, stack ) {
1937
- stack = stack || [ ];
1938
- var inStack, res,
1939
- parser = this.parsers[ type || this.typeOf(obj) ];
1940
-
1941
- type = typeof parser;
1942
- inStack = inArray( obj, stack );
1943
-
1944
- if ( inStack !== -1 ) {
1945
- return "recursion(" + (inStack - stack.length) + ")";
1946
- }
1947
- if ( type === "function" ) {
1948
- stack.push( obj );
1949
- res = parser.call( this, obj, stack );
1950
- stack.pop();
1951
- return res;
1952
- }
1953
- return ( type === "string" ) ? parser : this.parsers.error;
1954
- },
1955
- typeOf: function( obj ) {
1956
- var type;
1957
- if ( obj === null ) {
1958
- type = "null";
1959
- } else if ( typeof obj === "undefined" ) {
1960
- type = "undefined";
1961
- } else if ( QUnit.is( "regexp", obj) ) {
1962
- type = "regexp";
1963
- } else if ( QUnit.is( "date", obj) ) {
1964
- type = "date";
1965
- } else if ( QUnit.is( "function", obj) ) {
1966
- type = "function";
1967
- } else if ( typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined" ) {
1968
- type = "window";
1969
- } else if ( obj.nodeType === 9 ) {
1970
- type = "document";
1971
- } else if ( obj.nodeType ) {
1972
- type = "node";
1973
- } else if (
1974
- // native arrays
1975
- toString.call( obj ) === "[object Array]" ||
1976
- // NodeList objects
1977
- ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
1978
- ) {
1979
- type = "array";
1980
- } else if ( obj.constructor === Error.prototype.constructor ) {
1981
- type = "error";
1982
- } else {
1983
- type = typeof obj;
1984
- }
1985
- return type;
1986
- },
1987
- separator: function() {
1988
- return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&nbsp;" : " ";
1989
- },
1990
- // extra can be a number, shortcut for increasing-calling-decreasing
1991
- indent: function( extra ) {
1992
- if ( !this.multiline ) {
1993
- return "";
1994
- }
1995
- var chr = this.indentChar;
1996
- if ( this.HTML ) {
1997
- chr = chr.replace( /\t/g, " " ).replace( / /g, "&nbsp;" );
1998
- }
1999
- return new Array( this.depth + ( extra || 0 ) ).join(chr);
2000
- },
2001
- up: function( a ) {
2002
- this.depth += a || 1;
2003
- },
2004
- down: function( a ) {
2005
- this.depth -= a || 1;
2006
- },
2007
- setParser: function( name, parser ) {
2008
- this.parsers[name] = parser;
2009
- },
2010
- // The next 3 are exposed so you can use them
2011
- quote: quote,
2012
- literal: literal,
2013
- join: join,
2014
- //
2015
- depth: 1,
2016
- // This is the list of parsers, to modify them, use jsDump.setParser
2017
- parsers: {
2018
- window: "[Window]",
2019
- document: "[Document]",
2020
- error: function(error) {
2021
- return "Error(\"" + error.message + "\")";
2022
- },
2023
- unknown: "[Unknown]",
2024
- "null": "null",
2025
- "undefined": "undefined",
2026
- "function": function( fn ) {
2027
- var ret = "function",
2028
- // functions never have name in IE
2029
- name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1];
2030
-
2031
- if ( name ) {
2032
- ret += " " + name;
2033
- }
2034
- ret += "( ";
2035
-
2036
- ret = [ ret, QUnit.jsDump.parse( fn, "functionArgs" ), "){" ].join( "" );
2037
- return join( ret, QUnit.jsDump.parse(fn,"functionCode" ), "}" );
2038
- },
2039
- array: array,
2040
- nodelist: array,
2041
- "arguments": array,
2042
- object: function( map, stack ) {
2043
- /*jshint forin:false */
2044
- var ret = [ ], keys, key, val, i;
2045
- QUnit.jsDump.up();
2046
- keys = [];
2047
- for ( key in map ) {
2048
- keys.push( key );
2049
- }
2050
- keys.sort();
2051
- for ( i = 0; i < keys.length; i++ ) {
2052
- key = keys[ i ];
2053
- val = map[ key ];
2054
- ret.push( QUnit.jsDump.parse( key, "key" ) + ": " + QUnit.jsDump.parse( val, undefined, stack ) );
2055
- }
2056
- QUnit.jsDump.down();
2057
- return join( "{", ret, "}" );
2058
- },
2059
- node: function( node ) {
2060
- var len, i, val,
2061
- open = QUnit.jsDump.HTML ? "&lt;" : "<",
2062
- close = QUnit.jsDump.HTML ? "&gt;" : ">",
2063
- tag = node.nodeName.toLowerCase(),
2064
- ret = open + tag,
2065
- attrs = node.attributes;
2066
-
2067
- if ( attrs ) {
2068
- for ( i = 0, len = attrs.length; i < len; i++ ) {
2069
- val = attrs[i].nodeValue;
2070
- // IE6 includes all attributes in .attributes, even ones not explicitly set.
2071
- // Those have values like undefined, null, 0, false, "" or "inherit".
2072
- if ( val && val !== "inherit" ) {
2073
- ret += " " + attrs[i].nodeName + "=" + QUnit.jsDump.parse( val, "attribute" );
2074
- }
2075
- }
2076
- }
2077
- ret += close;
2078
-
2079
- // Show content of TextNode or CDATASection
2080
- if ( node.nodeType === 3 || node.nodeType === 4 ) {
2081
- ret += node.nodeValue;
2082
- }
2083
-
2084
- return ret + open + "/" + tag + close;
2085
- },
2086
- // function calls it internally, it's the arguments part of the function
2087
- functionArgs: function( fn ) {
2088
- var args,
2089
- l = fn.length;
2090
-
2091
- if ( !l ) {
2092
- return "";
2093
- }
2094
-
2095
- args = new Array(l);
2096
- while ( l-- ) {
2097
- // 97 is 'a'
2098
- args[l] = String.fromCharCode(97+l);
2099
- }
2100
- return " " + args.join( ", " ) + " ";
2101
- },
2102
- // object calls it internally, the key part of an item in a map
2103
- key: quote,
2104
- // function calls it internally, it's the content of the function
2105
- functionCode: "[code]",
2106
- // node calls it internally, it's an html attribute value
2107
- attribute: quote,
2108
- string: quote,
2109
- date: quote,
2110
- regexp: literal,
2111
- number: literal,
2112
- "boolean": literal
2113
- },
2114
- // if true, entities are escaped ( <, >, \t, space and \n )
2115
- HTML: false,
2116
- // indentation unit
2117
- indentChar: " ",
2118
- // if true, items in a collection, are separated by a \n, else just a space.
2119
- multiline: true
2120
- };
2121
-
2122
- return jsDump;
2123
- }());
2124
-
2125
- /*
2126
- * Javascript Diff Algorithm
2127
- * By John Resig (http://ejohn.org/)
2128
- * Modified by Chu Alan "sprite"
2129
- *
2130
- * Released under the MIT license.
2131
- *
2132
- * More Info:
2133
- * http://ejohn.org/projects/javascript-diff-algorithm/
2134
- *
2135
- * Usage: QUnit.diff(expected, actual)
2136
- *
2137
- * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over"
2138
- */
2139
- QUnit.diff = (function() {
2140
- /*jshint eqeqeq:false, eqnull:true */
2141
- function diff( o, n ) {
2142
- var i,
2143
- ns = {},
2144
- os = {};
2145
-
2146
- for ( i = 0; i < n.length; i++ ) {
2147
- if ( !hasOwn.call( ns, n[i] ) ) {
2148
- ns[ n[i] ] = {
2149
- rows: [],
2150
- o: null
2151
- };
2152
- }
2153
- ns[ n[i] ].rows.push( i );
2154
- }
2155
-
2156
- for ( i = 0; i < o.length; i++ ) {
2157
- if ( !hasOwn.call( os, o[i] ) ) {
2158
- os[ o[i] ] = {
2159
- rows: [],
2160
- n: null
2161
- };
2162
- }
2163
- os[ o[i] ].rows.push( i );
2164
- }
2165
-
2166
- for ( i in ns ) {
2167
- if ( hasOwn.call( ns, i ) ) {
2168
- if ( ns[i].rows.length === 1 && hasOwn.call( os, i ) && os[i].rows.length === 1 ) {
2169
- n[ ns[i].rows[0] ] = {
2170
- text: n[ ns[i].rows[0] ],
2171
- row: os[i].rows[0]
2172
- };
2173
- o[ os[i].rows[0] ] = {
2174
- text: o[ os[i].rows[0] ],
2175
- row: ns[i].rows[0]
2176
- };
2177
- }
2178
- }
2179
- }
2180
-
2181
- for ( i = 0; i < n.length - 1; i++ ) {
2182
- if ( n[i].text != null && n[ i + 1 ].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null &&
2183
- n[ i + 1 ] == o[ n[i].row + 1 ] ) {
2184
-
2185
- n[ i + 1 ] = {
2186
- text: n[ i + 1 ],
2187
- row: n[i].row + 1
2188
- };
2189
- o[ n[i].row + 1 ] = {
2190
- text: o[ n[i].row + 1 ],
2191
- row: i + 1
2192
- };
2193
- }
2194
- }
2195
-
2196
- for ( i = n.length - 1; i > 0; i-- ) {
2197
- if ( n[i].text != null && n[ i - 1 ].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null &&
2198
- n[ i - 1 ] == o[ n[i].row - 1 ]) {
2199
-
2200
- n[ i - 1 ] = {
2201
- text: n[ i - 1 ],
2202
- row: n[i].row - 1
2203
- };
2204
- o[ n[i].row - 1 ] = {
2205
- text: o[ n[i].row - 1 ],
2206
- row: i - 1
2207
- };
2208
- }
2209
- }
2210
-
2211
- return {
2212
- o: o,
2213
- n: n
2214
- };
2215
- }
2216
-
2217
- return function( o, n ) {
2218
- o = o.replace( /\s+$/, "" );
2219
- n = n.replace( /\s+$/, "" );
2220
-
2221
- var i, pre,
2222
- str = "",
2223
- out = diff( o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/) ),
2224
- oSpace = o.match(/\s+/g),
2225
- nSpace = n.match(/\s+/g);
2226
-
2227
- if ( oSpace == null ) {
2228
- oSpace = [ " " ];
2229
- }
2230
- else {
2231
- oSpace.push( " " );
2232
- }
2233
-
2234
- if ( nSpace == null ) {
2235
- nSpace = [ " " ];
2236
- }
2237
- else {
2238
- nSpace.push( " " );
2239
- }
2240
-
2241
- if ( out.n.length === 0 ) {
2242
- for ( i = 0; i < out.o.length; i++ ) {
2243
- str += "<del>" + out.o[i] + oSpace[i] + "</del>";
2244
- }
2245
- }
2246
- else {
2247
- if ( out.n[0].text == null ) {
2248
- for ( n = 0; n < out.o.length && out.o[n].text == null; n++ ) {
2249
- str += "<del>" + out.o[n] + oSpace[n] + "</del>";
2250
- }
2251
- }
2252
-
2253
- for ( i = 0; i < out.n.length; i++ ) {
2254
- if (out.n[i].text == null) {
2255
- str += "<ins>" + out.n[i] + nSpace[i] + "</ins>";
2256
- }
2257
- else {
2258
- // `pre` initialized at top of scope
2259
- pre = "";
2260
-
2261
- for ( n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) {
2262
- pre += "<del>" + out.o[n] + oSpace[n] + "</del>";
2263
- }
2264
- str += " " + out.n[i].text + nSpace[i] + pre;
2265
- }
2266
- }
2267
- }
2268
-
2269
- return str;
2270
- };
2271
- }());
2272
-
2273
- // For browser, export only select globals
2274
- if ( typeof window !== "undefined" ) {
2275
- extend( window, QUnit.constructor.prototype );
2276
- window.QUnit = QUnit;
2277
- }
2278
-
2279
- // For CommonJS environments, export everything
2280
- if ( typeof module !== "undefined" && module.exports ) {
2281
- module.exports = QUnit;
2282
- }
2283
-
2284
-
2285
- // Get a reference to the global object, like window in browsers
2286
- }( (function() {
2287
- return this;
2288
- })() ));