select_all-rails 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1873) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/README.md +8 -7
  4. data/lib/select_all/rails/version.rb +1 -1
  5. data/node_modules/.bin/acorn +71 -0
  6. data/node_modules/.bin/escodegen +77 -0
  7. data/node_modules/.bin/esgenerate +64 -0
  8. data/node_modules/.bin/esparse +126 -0
  9. data/node_modules/.bin/esvalidate +199 -0
  10. data/node_modules/.bin/har-validator +56 -0
  11. data/node_modules/.bin/sshpk-conv +201 -0
  12. data/node_modules/.bin/sshpk-sign +191 -0
  13. data/node_modules/.bin/sshpk-verify +166 -0
  14. data/node_modules/.bin/uuid +26 -0
  15. data/node_modules/abab/CHANGELOG.md +11 -0
  16. data/node_modules/abab/README.md +52 -0
  17. data/node_modules/abab/index.js +9 -0
  18. data/node_modules/abab/lib/atob.js +109 -0
  19. data/node_modules/abab/lib/btoa.js +65 -0
  20. data/node_modules/abab/package.json +106 -0
  21. data/node_modules/acorn-globals/LICENSE +19 -0
  22. data/node_modules/acorn-globals/README.md +76 -0
  23. data/node_modules/acorn-globals/index.js +180 -0
  24. data/node_modules/acorn-globals/package.json +100 -0
  25. data/node_modules/acorn/.editorconfig +7 -0
  26. data/node_modules/acorn/.gitattributes +1 -0
  27. data/node_modules/acorn/.npmignore +3 -0
  28. data/node_modules/acorn/.tern-project +6 -0
  29. data/node_modules/acorn/.travis.yml +6 -0
  30. data/node_modules/acorn/AUTHORS +43 -0
  31. data/node_modules/acorn/LICENSE +19 -0
  32. data/node_modules/acorn/README.md +396 -0
  33. data/node_modules/acorn/bin/acorn +71 -0
  34. data/node_modules/acorn/bin/build-acorn.js +82 -0
  35. data/node_modules/acorn/bin/generate-identifier-regex.js +47 -0
  36. data/node_modules/acorn/bin/update_authors.sh +6 -0
  37. data/node_modules/acorn/dist/.keep +0 -0
  38. data/node_modules/acorn/dist/acorn.js +3340 -0
  39. data/node_modules/acorn/dist/acorn_loose.js +1300 -0
  40. data/node_modules/acorn/dist/walk.js +377 -0
  41. data/node_modules/acorn/package.json +222 -0
  42. data/node_modules/acorn/src/bin/acorn.js +59 -0
  43. data/node_modules/acorn/src/expression.js +707 -0
  44. data/node_modules/acorn/src/identifier.js +90 -0
  45. data/node_modules/acorn/src/index.js +67 -0
  46. data/node_modules/acorn/src/location.js +24 -0
  47. data/node_modules/acorn/src/locutil.js +42 -0
  48. data/node_modules/acorn/src/loose/acorn_loose.js +0 -0
  49. data/node_modules/acorn/src/loose/expression.js +501 -0
  50. data/node_modules/acorn/src/loose/index.js +50 -0
  51. data/node_modules/acorn/src/loose/parseutil.js +1 -0
  52. data/node_modules/acorn/src/loose/state.js +160 -0
  53. data/node_modules/acorn/src/loose/statement.js +420 -0
  54. data/node_modules/acorn/src/loose/tokenize.js +108 -0
  55. data/node_modules/acorn/src/lval.js +215 -0
  56. data/node_modules/acorn/src/node.js +50 -0
  57. data/node_modules/acorn/src/options.js +121 -0
  58. data/node_modules/acorn/src/parseutil.js +102 -0
  59. data/node_modules/acorn/src/state.js +104 -0
  60. data/node_modules/acorn/src/statement.js +626 -0
  61. data/node_modules/acorn/src/tokencontext.js +109 -0
  62. data/node_modules/acorn/src/tokenize.js +682 -0
  63. data/node_modules/acorn/src/tokentype.js +147 -0
  64. data/node_modules/acorn/src/util.js +9 -0
  65. data/node_modules/acorn/src/walk/index.js +340 -0
  66. data/node_modules/acorn/src/whitespace.js +12 -0
  67. data/node_modules/amdefine/LICENSE +58 -0
  68. data/node_modules/amdefine/README.md +171 -0
  69. data/node_modules/amdefine/amdefine.js +301 -0
  70. data/node_modules/amdefine/intercept.js +36 -0
  71. data/node_modules/amdefine/package.json +86 -0
  72. data/node_modules/ansi-regex/index.js +4 -0
  73. data/node_modules/ansi-regex/license +21 -0
  74. data/node_modules/ansi-regex/package.json +121 -0
  75. data/node_modules/ansi-regex/readme.md +31 -0
  76. data/node_modules/ansi-styles/index.js +65 -0
  77. data/node_modules/ansi-styles/license +21 -0
  78. data/node_modules/ansi-styles/package.json +114 -0
  79. data/node_modules/ansi-styles/readme.md +86 -0
  80. data/node_modules/array-equal/.npmignore +1 -0
  81. data/node_modules/array-equal/LICENSE +22 -0
  82. data/node_modules/array-equal/README.md +11 -0
  83. data/node_modules/array-equal/component.json +10 -0
  84. data/node_modules/array-equal/index.js +9 -0
  85. data/node_modules/array-equal/package.json +75 -0
  86. data/node_modules/asn1/.npmignore +2 -0
  87. data/node_modules/asn1/.travis.yml +4 -0
  88. data/node_modules/asn1/LICENSE +19 -0
  89. data/node_modules/asn1/README.md +50 -0
  90. data/node_modules/asn1/lib/ber/errors.js +13 -0
  91. data/node_modules/asn1/lib/ber/index.js +27 -0
  92. data/node_modules/asn1/lib/ber/reader.js +261 -0
  93. data/node_modules/asn1/lib/ber/types.js +36 -0
  94. data/node_modules/asn1/lib/ber/writer.js +316 -0
  95. data/node_modules/asn1/lib/index.js +20 -0
  96. data/node_modules/asn1/package.json +98 -0
  97. data/node_modules/asn1/tst/ber/reader.test.js +208 -0
  98. data/node_modules/asn1/tst/ber/writer.test.js +370 -0
  99. data/node_modules/assert-plus/AUTHORS +6 -0
  100. data/node_modules/assert-plus/CHANGES.md +8 -0
  101. data/node_modules/assert-plus/README.md +155 -0
  102. data/node_modules/assert-plus/assert.js +206 -0
  103. data/node_modules/assert-plus/package.json +115 -0
  104. data/node_modules/assertion-error/.npmignore +11 -0
  105. data/node_modules/assertion-error/History.md +19 -0
  106. data/node_modules/assertion-error/README.md +41 -0
  107. data/node_modules/assertion-error/index.js +116 -0
  108. data/node_modules/assertion-error/package.json +95 -0
  109. data/node_modules/asynckit/LICENSE +21 -0
  110. data/node_modules/asynckit/README.md +233 -0
  111. data/node_modules/asynckit/bench.js +76 -0
  112. data/node_modules/asynckit/index.js +6 -0
  113. data/node_modules/asynckit/lib/abort.js +29 -0
  114. data/node_modules/asynckit/lib/async.js +34 -0
  115. data/node_modules/asynckit/lib/defer.js +26 -0
  116. data/node_modules/asynckit/lib/iterate.js +75 -0
  117. data/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  118. data/node_modules/asynckit/lib/readable_parallel.js +25 -0
  119. data/node_modules/asynckit/lib/readable_serial.js +25 -0
  120. data/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  121. data/node_modules/asynckit/lib/state.js +37 -0
  122. data/node_modules/asynckit/lib/streamify.js +141 -0
  123. data/node_modules/asynckit/lib/terminator.js +29 -0
  124. data/node_modules/asynckit/package.json +126 -0
  125. data/node_modules/asynckit/parallel.js +43 -0
  126. data/node_modules/asynckit/serial.js +17 -0
  127. data/node_modules/asynckit/serialOrdered.js +75 -0
  128. data/node_modules/asynckit/stream.js +21 -0
  129. data/node_modules/aws-sign2/LICENSE +55 -0
  130. data/node_modules/aws-sign2/README.md +4 -0
  131. data/node_modules/aws-sign2/index.js +212 -0
  132. data/node_modules/aws-sign2/package.json +81 -0
  133. data/node_modules/aws4/.npmignore +4 -0
  134. data/node_modules/aws4/.tern-port +1 -0
  135. data/node_modules/aws4/.travis.yml +5 -0
  136. data/node_modules/aws4/LICENSE +19 -0
  137. data/node_modules/aws4/README.md +523 -0
  138. data/node_modules/aws4/aws4.js +323 -0
  139. data/node_modules/aws4/lru.js +96 -0
  140. data/node_modules/aws4/package.json +140 -0
  141. data/node_modules/bcrypt-pbkdf/README.md +39 -0
  142. data/node_modules/bcrypt-pbkdf/index.js +559 -0
  143. data/node_modules/bcrypt-pbkdf/package.json +72 -0
  144. data/node_modules/boom/.npmignore +18 -0
  145. data/node_modules/boom/.travis.yml +8 -0
  146. data/node_modules/boom/CONTRIBUTING.md +1 -0
  147. data/node_modules/boom/LICENSE +28 -0
  148. data/node_modules/boom/README.md +652 -0
  149. data/node_modules/boom/images/boom.png +0 -0
  150. data/node_modules/boom/lib/index.js +318 -0
  151. data/node_modules/boom/package.json +98 -0
  152. data/node_modules/boom/test/index.js +654 -0
  153. data/node_modules/caseless/LICENSE +28 -0
  154. data/node_modules/caseless/README.md +45 -0
  155. data/node_modules/caseless/index.js +66 -0
  156. data/node_modules/caseless/package.json +96 -0
  157. data/node_modules/caseless/test.js +40 -0
  158. data/node_modules/chai/.npmignore +14 -0
  159. data/node_modules/chai/CODE_OF_CONDUCT.md +58 -0
  160. data/node_modules/chai/CONTRIBUTING.md +214 -0
  161. data/node_modules/chai/History.md +1059 -0
  162. data/node_modules/chai/README.md +83 -0
  163. data/node_modules/chai/ReleaseNotes.md +737 -0
  164. data/node_modules/chai/bower.json +26 -0
  165. data/node_modules/chai/chai.js +6142 -0
  166. data/node_modules/chai/index.js +1 -0
  167. data/node_modules/chai/karma.conf.js +28 -0
  168. data/node_modules/chai/karma.sauce.js +41 -0
  169. data/node_modules/chai/lib/chai.js +93 -0
  170. data/node_modules/chai/lib/chai/assertion.js +131 -0
  171. data/node_modules/chai/lib/chai/config.js +55 -0
  172. data/node_modules/chai/lib/chai/core/assertions.js +1860 -0
  173. data/node_modules/chai/lib/chai/interface/assert.js +1645 -0
  174. data/node_modules/chai/lib/chai/interface/expect.js +34 -0
  175. data/node_modules/chai/lib/chai/interface/should.js +201 -0
  176. data/node_modules/chai/lib/chai/utils/addChainableMethod.js +112 -0
  177. data/node_modules/chai/lib/chai/utils/addMethod.js +44 -0
  178. data/node_modules/chai/lib/chai/utils/addProperty.js +48 -0
  179. data/node_modules/chai/lib/chai/utils/expectTypes.js +42 -0
  180. data/node_modules/chai/lib/chai/utils/flag.js +33 -0
  181. data/node_modules/chai/lib/chai/utils/getActual.js +20 -0
  182. data/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +26 -0
  183. data/node_modules/chai/lib/chai/utils/getMessage.js +51 -0
  184. data/node_modules/chai/lib/chai/utils/getName.js +22 -0
  185. data/node_modules/chai/lib/chai/utils/getPathInfo.js +111 -0
  186. data/node_modules/chai/lib/chai/utils/getPathValue.js +43 -0
  187. data/node_modules/chai/lib/chai/utils/getProperties.js +36 -0
  188. data/node_modules/chai/lib/chai/utils/hasProperty.js +64 -0
  189. data/node_modules/chai/lib/chai/utils/index.js +130 -0
  190. data/node_modules/chai/lib/chai/utils/inspect.js +335 -0
  191. data/node_modules/chai/lib/chai/utils/objDisplay.js +50 -0
  192. data/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +54 -0
  193. data/node_modules/chai/lib/chai/utils/overwriteMethod.js +52 -0
  194. data/node_modules/chai/lib/chai/utils/overwriteProperty.js +55 -0
  195. data/node_modules/chai/lib/chai/utils/test.js +28 -0
  196. data/node_modules/chai/lib/chai/utils/transferFlags.js +45 -0
  197. data/node_modules/chai/package.json +128 -0
  198. data/node_modules/chai/sauce.browsers.js +128 -0
  199. data/node_modules/chalk/index.js +116 -0
  200. data/node_modules/chalk/license +21 -0
  201. data/node_modules/chalk/package.json +140 -0
  202. data/node_modules/chalk/readme.md +213 -0
  203. data/node_modules/combined-stream/License +19 -0
  204. data/node_modules/combined-stream/Readme.md +138 -0
  205. data/node_modules/combined-stream/lib/combined_stream.js +188 -0
  206. data/node_modules/combined-stream/package.json +101 -0
  207. data/node_modules/commander/History.md +261 -0
  208. data/node_modules/commander/LICENSE +22 -0
  209. data/node_modules/commander/Readme.md +351 -0
  210. data/node_modules/commander/index.js +1110 -0
  211. data/node_modules/commander/package.json +104 -0
  212. data/node_modules/content-type-parser/LICENSE.txt +19 -0
  213. data/node_modules/content-type-parser/README.md +60 -0
  214. data/node_modules/content-type-parser/lib/content-type-parser.js +103 -0
  215. data/node_modules/content-type-parser/package.json +96 -0
  216. data/node_modules/cryptiles/.npmignore +18 -0
  217. data/node_modules/cryptiles/.travis.yml +8 -0
  218. data/node_modules/cryptiles/LICENSE +28 -0
  219. data/node_modules/cryptiles/README.md +16 -0
  220. data/node_modules/cryptiles/lib/index.js +68 -0
  221. data/node_modules/cryptiles/package.json +94 -0
  222. data/node_modules/cryptiles/test/index.js +102 -0
  223. data/node_modules/cssom/LICENSE.txt +20 -0
  224. data/node_modules/cssom/README.mdown +69 -0
  225. data/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
  226. data/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
  227. data/node_modules/cssom/lib/CSSImportRule.js +132 -0
  228. data/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
  229. data/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
  230. data/node_modules/cssom/lib/CSSMediaRule.js +41 -0
  231. data/node_modules/cssom/lib/CSSRule.js +43 -0
  232. data/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
  233. data/node_modules/cssom/lib/CSSStyleRule.js +190 -0
  234. data/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
  235. data/node_modules/cssom/lib/CSSValue.js +43 -0
  236. data/node_modules/cssom/lib/CSSValueExpression.js +344 -0
  237. data/node_modules/cssom/lib/MatcherList.js +62 -0
  238. data/node_modules/cssom/lib/MediaList.js +61 -0
  239. data/node_modules/cssom/lib/StyleSheet.js +17 -0
  240. data/node_modules/cssom/lib/clone.js +76 -0
  241. data/node_modules/cssom/lib/index.js +19 -0
  242. data/node_modules/cssom/lib/parse.js +381 -0
  243. data/node_modules/cssom/package.json +96 -0
  244. data/node_modules/cssstyle/.npmignore +1 -0
  245. data/node_modules/cssstyle/MIT-LICENSE.txt +20 -0
  246. data/node_modules/cssstyle/README.md +27 -0
  247. data/node_modules/cssstyle/lib/CSSStyleDeclaration.js +233 -0
  248. data/node_modules/cssstyle/lib/parsers.js +670 -0
  249. data/node_modules/cssstyle/lib/properties.js +5858 -0
  250. data/node_modules/cssstyle/lib/properties/alignmentBaseline.js +12 -0
  251. data/node_modules/cssstyle/lib/properties/azimuth.js +65 -0
  252. data/node_modules/cssstyle/lib/properties/background.js +24 -0
  253. data/node_modules/cssstyle/lib/properties/backgroundAttachment.js +22 -0
  254. data/node_modules/cssstyle/lib/properties/backgroundClip.js +12 -0
  255. data/node_modules/cssstyle/lib/properties/backgroundColor.js +33 -0
  256. data/node_modules/cssstyle/lib/properties/backgroundImage.js +29 -0
  257. data/node_modules/cssstyle/lib/properties/backgroundOrigin.js +12 -0
  258. data/node_modules/cssstyle/lib/properties/backgroundPosition.js +56 -0
  259. data/node_modules/cssstyle/lib/properties/backgroundPositionX.js +12 -0
  260. data/node_modules/cssstyle/lib/properties/backgroundPositionY.js +12 -0
  261. data/node_modules/cssstyle/lib/properties/backgroundRepeat.js +25 -0
  262. data/node_modules/cssstyle/lib/properties/backgroundRepeatX.js +12 -0
  263. data/node_modules/cssstyle/lib/properties/backgroundRepeatY.js +12 -0
  264. data/node_modules/cssstyle/lib/properties/backgroundSize.js +12 -0
  265. data/node_modules/cssstyle/lib/properties/baselineShift.js +12 -0
  266. data/node_modules/cssstyle/lib/properties/border.js +49 -0
  267. data/node_modules/cssstyle/lib/properties/borderBottom.js +23 -0
  268. data/node_modules/cssstyle/lib/properties/borderBottomColor.js +16 -0
  269. data/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js +12 -0
  270. data/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js +12 -0
  271. data/node_modules/cssstyle/lib/properties/borderBottomStyle.js +21 -0
  272. data/node_modules/cssstyle/lib/properties/borderBottomWidth.js +16 -0
  273. data/node_modules/cssstyle/lib/properties/borderCollapse.js +25 -0
  274. data/node_modules/cssstyle/lib/properties/borderColor.js +28 -0
  275. data/node_modules/cssstyle/lib/properties/borderImage.js +12 -0
  276. data/node_modules/cssstyle/lib/properties/borderImageOutset.js +12 -0
  277. data/node_modules/cssstyle/lib/properties/borderImageRepeat.js +12 -0
  278. data/node_modules/cssstyle/lib/properties/borderImageSlice.js +12 -0
  279. data/node_modules/cssstyle/lib/properties/borderImageSource.js +12 -0
  280. data/node_modules/cssstyle/lib/properties/borderImageWidth.js +12 -0
  281. data/node_modules/cssstyle/lib/properties/borderLeft.js +23 -0
  282. data/node_modules/cssstyle/lib/properties/borderLeftColor.js +16 -0
  283. data/node_modules/cssstyle/lib/properties/borderLeftStyle.js +21 -0
  284. data/node_modules/cssstyle/lib/properties/borderLeftWidth.js +16 -0
  285. data/node_modules/cssstyle/lib/properties/borderRadius.js +12 -0
  286. data/node_modules/cssstyle/lib/properties/borderRight.js +23 -0
  287. data/node_modules/cssstyle/lib/properties/borderRightColor.js +16 -0
  288. data/node_modules/cssstyle/lib/properties/borderRightStyle.js +21 -0
  289. data/node_modules/cssstyle/lib/properties/borderRightWidth.js +16 -0
  290. data/node_modules/cssstyle/lib/properties/borderSpacing.js +42 -0
  291. data/node_modules/cssstyle/lib/properties/borderStyle.js +27 -0
  292. data/node_modules/cssstyle/lib/properties/borderTop.js +22 -0
  293. data/node_modules/cssstyle/lib/properties/borderTopColor.js +16 -0
  294. data/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js +12 -0
  295. data/node_modules/cssstyle/lib/properties/borderTopRightRadius.js +12 -0
  296. data/node_modules/cssstyle/lib/properties/borderTopStyle.js +21 -0
  297. data/node_modules/cssstyle/lib/properties/borderTopWidth.js +17 -0
  298. data/node_modules/cssstyle/lib/properties/borderWidth.js +47 -0
  299. data/node_modules/cssstyle/lib/properties/bottom.js +14 -0
  300. data/node_modules/cssstyle/lib/properties/boxShadow.js +12 -0
  301. data/node_modules/cssstyle/lib/properties/boxSizing.js +12 -0
  302. data/node_modules/cssstyle/lib/properties/captionSide.js +12 -0
  303. data/node_modules/cssstyle/lib/properties/clear.js +16 -0
  304. data/node_modules/cssstyle/lib/properties/clip.js +49 -0
  305. data/node_modules/cssstyle/lib/properties/color.js +14 -0
  306. data/node_modules/cssstyle/lib/properties/colorInterpolation.js +12 -0
  307. data/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js +12 -0
  308. data/node_modules/cssstyle/lib/properties/colorProfile.js +12 -0
  309. data/node_modules/cssstyle/lib/properties/colorRendering.js +12 -0
  310. data/node_modules/cssstyle/lib/properties/content.js +12 -0
  311. data/node_modules/cssstyle/lib/properties/counterIncrement.js +12 -0
  312. data/node_modules/cssstyle/lib/properties/counterReset.js +12 -0
  313. data/node_modules/cssstyle/lib/properties/cssFloat.js +12 -0
  314. data/node_modules/cssstyle/lib/properties/cue.js +12 -0
  315. data/node_modules/cssstyle/lib/properties/cueAfter.js +12 -0
  316. data/node_modules/cssstyle/lib/properties/cueBefore.js +12 -0
  317. data/node_modules/cssstyle/lib/properties/cursor.js +12 -0
  318. data/node_modules/cssstyle/lib/properties/direction.js +12 -0
  319. data/node_modules/cssstyle/lib/properties/display.js +12 -0
  320. data/node_modules/cssstyle/lib/properties/dominantBaseline.js +12 -0
  321. data/node_modules/cssstyle/lib/properties/elevation.js +12 -0
  322. data/node_modules/cssstyle/lib/properties/emptyCells.js +12 -0
  323. data/node_modules/cssstyle/lib/properties/enableBackground.js +12 -0
  324. data/node_modules/cssstyle/lib/properties/fill.js +12 -0
  325. data/node_modules/cssstyle/lib/properties/fillOpacity.js +12 -0
  326. data/node_modules/cssstyle/lib/properties/fillRule.js +12 -0
  327. data/node_modules/cssstyle/lib/properties/filter.js +12 -0
  328. data/node_modules/cssstyle/lib/properties/floodColor.js +14 -0
  329. data/node_modules/cssstyle/lib/properties/floodOpacity.js +12 -0
  330. data/node_modules/cssstyle/lib/properties/font.js +40 -0
  331. data/node_modules/cssstyle/lib/properties/fontFamily.js +33 -0
  332. data/node_modules/cssstyle/lib/properties/fontSize.js +25 -0
  333. data/node_modules/cssstyle/lib/properties/fontSizeAdjust.js +12 -0
  334. data/node_modules/cssstyle/lib/properties/fontStretch.js +12 -0
  335. data/node_modules/cssstyle/lib/properties/fontStyle.js +18 -0
  336. data/node_modules/cssstyle/lib/properties/fontVariant.js +18 -0
  337. data/node_modules/cssstyle/lib/properties/fontWeight.js +18 -0
  338. data/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js +12 -0
  339. data/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js +12 -0
  340. data/node_modules/cssstyle/lib/properties/height.js +24 -0
  341. data/node_modules/cssstyle/lib/properties/imageRendering.js +12 -0
  342. data/node_modules/cssstyle/lib/properties/kerning.js +12 -0
  343. data/node_modules/cssstyle/lib/properties/left.js +14 -0
  344. data/node_modules/cssstyle/lib/properties/letterSpacing.js +12 -0
  345. data/node_modules/cssstyle/lib/properties/lightingColor.js +14 -0
  346. data/node_modules/cssstyle/lib/properties/lineHeight.js +21 -0
  347. data/node_modules/cssstyle/lib/properties/listStyle.js +12 -0
  348. data/node_modules/cssstyle/lib/properties/listStyleImage.js +12 -0
  349. data/node_modules/cssstyle/lib/properties/listStylePosition.js +12 -0
  350. data/node_modules/cssstyle/lib/properties/listStyleType.js +12 -0
  351. data/node_modules/cssstyle/lib/properties/margin.js +59 -0
  352. data/node_modules/cssstyle/lib/properties/marginBottom.js +13 -0
  353. data/node_modules/cssstyle/lib/properties/marginLeft.js +13 -0
  354. data/node_modules/cssstyle/lib/properties/marginRight.js +13 -0
  355. data/node_modules/cssstyle/lib/properties/marginTop.js +13 -0
  356. data/node_modules/cssstyle/lib/properties/marker.js +12 -0
  357. data/node_modules/cssstyle/lib/properties/markerEnd.js +12 -0
  358. data/node_modules/cssstyle/lib/properties/markerMid.js +12 -0
  359. data/node_modules/cssstyle/lib/properties/markerOffset.js +12 -0
  360. data/node_modules/cssstyle/lib/properties/markerStart.js +12 -0
  361. data/node_modules/cssstyle/lib/properties/marks.js +12 -0
  362. data/node_modules/cssstyle/lib/properties/mask.js +12 -0
  363. data/node_modules/cssstyle/lib/properties/maxHeight.js +12 -0
  364. data/node_modules/cssstyle/lib/properties/maxWidth.js +12 -0
  365. data/node_modules/cssstyle/lib/properties/minHeight.js +12 -0
  366. data/node_modules/cssstyle/lib/properties/minWidth.js +12 -0
  367. data/node_modules/cssstyle/lib/properties/opacity.js +14 -0
  368. data/node_modules/cssstyle/lib/properties/orphans.js +12 -0
  369. data/node_modules/cssstyle/lib/properties/outline.js +12 -0
  370. data/node_modules/cssstyle/lib/properties/outlineColor.js +14 -0
  371. data/node_modules/cssstyle/lib/properties/outlineOffset.js +12 -0
  372. data/node_modules/cssstyle/lib/properties/outlineStyle.js +12 -0
  373. data/node_modules/cssstyle/lib/properties/outlineWidth.js +12 -0
  374. data/node_modules/cssstyle/lib/properties/overflow.js +12 -0
  375. data/node_modules/cssstyle/lib/properties/overflowX.js +12 -0
  376. data/node_modules/cssstyle/lib/properties/overflowY.js +12 -0
  377. data/node_modules/cssstyle/lib/properties/padding.js +52 -0
  378. data/node_modules/cssstyle/lib/properties/paddingBottom.js +13 -0
  379. data/node_modules/cssstyle/lib/properties/paddingLeft.js +13 -0
  380. data/node_modules/cssstyle/lib/properties/paddingRight.js +13 -0
  381. data/node_modules/cssstyle/lib/properties/paddingTop.js +13 -0
  382. data/node_modules/cssstyle/lib/properties/page.js +12 -0
  383. data/node_modules/cssstyle/lib/properties/pageBreakAfter.js +12 -0
  384. data/node_modules/cssstyle/lib/properties/pageBreakBefore.js +12 -0
  385. data/node_modules/cssstyle/lib/properties/pageBreakInside.js +12 -0
  386. data/node_modules/cssstyle/lib/properties/pause.js +12 -0
  387. data/node_modules/cssstyle/lib/properties/pauseAfter.js +12 -0
  388. data/node_modules/cssstyle/lib/properties/pauseBefore.js +12 -0
  389. data/node_modules/cssstyle/lib/properties/pitch.js +12 -0
  390. data/node_modules/cssstyle/lib/properties/pitchRange.js +12 -0
  391. data/node_modules/cssstyle/lib/properties/playDuring.js +12 -0
  392. data/node_modules/cssstyle/lib/properties/pointerEvents.js +12 -0
  393. data/node_modules/cssstyle/lib/properties/position.js +12 -0
  394. data/node_modules/cssstyle/lib/properties/quotes.js +12 -0
  395. data/node_modules/cssstyle/lib/properties/resize.js +12 -0
  396. data/node_modules/cssstyle/lib/properties/richness.js +12 -0
  397. data/node_modules/cssstyle/lib/properties/right.js +14 -0
  398. data/node_modules/cssstyle/lib/properties/shapeRendering.js +12 -0
  399. data/node_modules/cssstyle/lib/properties/size.js +12 -0
  400. data/node_modules/cssstyle/lib/properties/speak.js +12 -0
  401. data/node_modules/cssstyle/lib/properties/speakHeader.js +12 -0
  402. data/node_modules/cssstyle/lib/properties/speakNumeral.js +12 -0
  403. data/node_modules/cssstyle/lib/properties/speakPunctuation.js +12 -0
  404. data/node_modules/cssstyle/lib/properties/speechRate.js +12 -0
  405. data/node_modules/cssstyle/lib/properties/src.js +12 -0
  406. data/node_modules/cssstyle/lib/properties/stopColor.js +14 -0
  407. data/node_modules/cssstyle/lib/properties/stopOpacity.js +12 -0
  408. data/node_modules/cssstyle/lib/properties/stress.js +12 -0
  409. data/node_modules/cssstyle/lib/properties/stroke.js +12 -0
  410. data/node_modules/cssstyle/lib/properties/strokeDasharray.js +12 -0
  411. data/node_modules/cssstyle/lib/properties/strokeDashoffset.js +12 -0
  412. data/node_modules/cssstyle/lib/properties/strokeLinecap.js +12 -0
  413. data/node_modules/cssstyle/lib/properties/strokeLinejoin.js +12 -0
  414. data/node_modules/cssstyle/lib/properties/strokeMiterlimit.js +12 -0
  415. data/node_modules/cssstyle/lib/properties/strokeOpacity.js +12 -0
  416. data/node_modules/cssstyle/lib/properties/strokeWidth.js +12 -0
  417. data/node_modules/cssstyle/lib/properties/tableLayout.js +12 -0
  418. data/node_modules/cssstyle/lib/properties/textAlign.js +12 -0
  419. data/node_modules/cssstyle/lib/properties/textAnchor.js +12 -0
  420. data/node_modules/cssstyle/lib/properties/textDecoration.js +12 -0
  421. data/node_modules/cssstyle/lib/properties/textIndent.js +12 -0
  422. data/node_modules/cssstyle/lib/properties/textLineThrough.js +12 -0
  423. data/node_modules/cssstyle/lib/properties/textLineThroughColor.js +14 -0
  424. data/node_modules/cssstyle/lib/properties/textLineThroughMode.js +12 -0
  425. data/node_modules/cssstyle/lib/properties/textLineThroughStyle.js +12 -0
  426. data/node_modules/cssstyle/lib/properties/textLineThroughWidth.js +12 -0
  427. data/node_modules/cssstyle/lib/properties/textOverflow.js +12 -0
  428. data/node_modules/cssstyle/lib/properties/textOverline.js +12 -0
  429. data/node_modules/cssstyle/lib/properties/textOverlineColor.js +14 -0
  430. data/node_modules/cssstyle/lib/properties/textOverlineMode.js +12 -0
  431. data/node_modules/cssstyle/lib/properties/textOverlineStyle.js +12 -0
  432. data/node_modules/cssstyle/lib/properties/textOverlineWidth.js +12 -0
  433. data/node_modules/cssstyle/lib/properties/textRendering.js +12 -0
  434. data/node_modules/cssstyle/lib/properties/textShadow.js +12 -0
  435. data/node_modules/cssstyle/lib/properties/textTransform.js +12 -0
  436. data/node_modules/cssstyle/lib/properties/textUnderline.js +12 -0
  437. data/node_modules/cssstyle/lib/properties/textUnderlineColor.js +14 -0
  438. data/node_modules/cssstyle/lib/properties/textUnderlineMode.js +12 -0
  439. data/node_modules/cssstyle/lib/properties/textUnderlineStyle.js +12 -0
  440. data/node_modules/cssstyle/lib/properties/textUnderlineWidth.js +12 -0
  441. data/node_modules/cssstyle/lib/properties/top.js +14 -0
  442. data/node_modules/cssstyle/lib/properties/unicodeBidi.js +12 -0
  443. data/node_modules/cssstyle/lib/properties/unicodeRange.js +12 -0
  444. data/node_modules/cssstyle/lib/properties/vectorEffect.js +12 -0
  445. data/node_modules/cssstyle/lib/properties/verticalAlign.js +12 -0
  446. data/node_modules/cssstyle/lib/properties/visibility.js +12 -0
  447. data/node_modules/cssstyle/lib/properties/voiceFamily.js +12 -0
  448. data/node_modules/cssstyle/lib/properties/volume.js +12 -0
  449. data/node_modules/cssstyle/lib/properties/webkitAnimation.js +12 -0
  450. data/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js +12 -0
  451. data/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js +12 -0
  452. data/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js +12 -0
  453. data/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js +12 -0
  454. data/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js +12 -0
  455. data/node_modules/cssstyle/lib/properties/webkitAnimationName.js +12 -0
  456. data/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js +12 -0
  457. data/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js +12 -0
  458. data/node_modules/cssstyle/lib/properties/webkitAppearance.js +12 -0
  459. data/node_modules/cssstyle/lib/properties/webkitAspectRatio.js +12 -0
  460. data/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js +12 -0
  461. data/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js +12 -0
  462. data/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js +12 -0
  463. data/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js +12 -0
  464. data/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js +12 -0
  465. data/node_modules/cssstyle/lib/properties/webkitBorderAfter.js +12 -0
  466. data/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js +14 -0
  467. data/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js +12 -0
  468. data/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js +12 -0
  469. data/node_modules/cssstyle/lib/properties/webkitBorderBefore.js +12 -0
  470. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js +14 -0
  471. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js +12 -0
  472. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js +12 -0
  473. data/node_modules/cssstyle/lib/properties/webkitBorderEnd.js +12 -0
  474. data/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js +14 -0
  475. data/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js +12 -0
  476. data/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js +12 -0
  477. data/node_modules/cssstyle/lib/properties/webkitBorderFit.js +12 -0
  478. data/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js +12 -0
  479. data/node_modules/cssstyle/lib/properties/webkitBorderImage.js +12 -0
  480. data/node_modules/cssstyle/lib/properties/webkitBorderRadius.js +12 -0
  481. data/node_modules/cssstyle/lib/properties/webkitBorderStart.js +12 -0
  482. data/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js +14 -0
  483. data/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js +12 -0
  484. data/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js +12 -0
  485. data/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js +12 -0
  486. data/node_modules/cssstyle/lib/properties/webkitBoxAlign.js +12 -0
  487. data/node_modules/cssstyle/lib/properties/webkitBoxDirection.js +12 -0
  488. data/node_modules/cssstyle/lib/properties/webkitBoxFlex.js +12 -0
  489. data/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js +12 -0
  490. data/node_modules/cssstyle/lib/properties/webkitBoxLines.js +12 -0
  491. data/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js +12 -0
  492. data/node_modules/cssstyle/lib/properties/webkitBoxOrient.js +12 -0
  493. data/node_modules/cssstyle/lib/properties/webkitBoxPack.js +12 -0
  494. data/node_modules/cssstyle/lib/properties/webkitBoxReflect.js +12 -0
  495. data/node_modules/cssstyle/lib/properties/webkitBoxShadow.js +12 -0
  496. data/node_modules/cssstyle/lib/properties/webkitColorCorrection.js +12 -0
  497. data/node_modules/cssstyle/lib/properties/webkitColumnAxis.js +12 -0
  498. data/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js +12 -0
  499. data/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js +12 -0
  500. data/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js +12 -0
  501. data/node_modules/cssstyle/lib/properties/webkitColumnCount.js +12 -0
  502. data/node_modules/cssstyle/lib/properties/webkitColumnGap.js +12 -0
  503. data/node_modules/cssstyle/lib/properties/webkitColumnRule.js +12 -0
  504. data/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js +14 -0
  505. data/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js +12 -0
  506. data/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js +12 -0
  507. data/node_modules/cssstyle/lib/properties/webkitColumnSpan.js +12 -0
  508. data/node_modules/cssstyle/lib/properties/webkitColumnWidth.js +12 -0
  509. data/node_modules/cssstyle/lib/properties/webkitColumns.js +12 -0
  510. data/node_modules/cssstyle/lib/properties/webkitFilter.js +12 -0
  511. data/node_modules/cssstyle/lib/properties/webkitFlexAlign.js +12 -0
  512. data/node_modules/cssstyle/lib/properties/webkitFlexDirection.js +12 -0
  513. data/node_modules/cssstyle/lib/properties/webkitFlexFlow.js +12 -0
  514. data/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js +12 -0
  515. data/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js +12 -0
  516. data/node_modules/cssstyle/lib/properties/webkitFlexOrder.js +12 -0
  517. data/node_modules/cssstyle/lib/properties/webkitFlexPack.js +12 -0
  518. data/node_modules/cssstyle/lib/properties/webkitFlexWrap.js +12 -0
  519. data/node_modules/cssstyle/lib/properties/webkitFlowFrom.js +12 -0
  520. data/node_modules/cssstyle/lib/properties/webkitFlowInto.js +12 -0
  521. data/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js +12 -0
  522. data/node_modules/cssstyle/lib/properties/webkitFontKerning.js +12 -0
  523. data/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js +12 -0
  524. data/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js +12 -0
  525. data/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js +12 -0
  526. data/node_modules/cssstyle/lib/properties/webkitHighlight.js +12 -0
  527. data/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js +12 -0
  528. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js +12 -0
  529. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js +12 -0
  530. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js +12 -0
  531. data/node_modules/cssstyle/lib/properties/webkitHyphens.js +12 -0
  532. data/node_modules/cssstyle/lib/properties/webkitLineAlign.js +12 -0
  533. data/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js +12 -0
  534. data/node_modules/cssstyle/lib/properties/webkitLineBreak.js +12 -0
  535. data/node_modules/cssstyle/lib/properties/webkitLineClamp.js +12 -0
  536. data/node_modules/cssstyle/lib/properties/webkitLineGrid.js +12 -0
  537. data/node_modules/cssstyle/lib/properties/webkitLineSnap.js +12 -0
  538. data/node_modules/cssstyle/lib/properties/webkitLocale.js +12 -0
  539. data/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js +12 -0
  540. data/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js +12 -0
  541. data/node_modules/cssstyle/lib/properties/webkitMarginAfter.js +12 -0
  542. data/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js +12 -0
  543. data/node_modules/cssstyle/lib/properties/webkitMarginBefore.js +12 -0
  544. data/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js +12 -0
  545. data/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js +12 -0
  546. data/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js +12 -0
  547. data/node_modules/cssstyle/lib/properties/webkitMarginEnd.js +12 -0
  548. data/node_modules/cssstyle/lib/properties/webkitMarginStart.js +12 -0
  549. data/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js +12 -0
  550. data/node_modules/cssstyle/lib/properties/webkitMarquee.js +12 -0
  551. data/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js +12 -0
  552. data/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js +12 -0
  553. data/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js +12 -0
  554. data/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js +12 -0
  555. data/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js +12 -0
  556. data/node_modules/cssstyle/lib/properties/webkitMask.js +12 -0
  557. data/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js +12 -0
  558. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js +12 -0
  559. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js +12 -0
  560. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js +12 -0
  561. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js +12 -0
  562. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js +12 -0
  563. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js +12 -0
  564. data/node_modules/cssstyle/lib/properties/webkitMaskClip.js +12 -0
  565. data/node_modules/cssstyle/lib/properties/webkitMaskComposite.js +12 -0
  566. data/node_modules/cssstyle/lib/properties/webkitMaskImage.js +12 -0
  567. data/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js +12 -0
  568. data/node_modules/cssstyle/lib/properties/webkitMaskPosition.js +12 -0
  569. data/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js +12 -0
  570. data/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js +12 -0
  571. data/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js +12 -0
  572. data/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js +12 -0
  573. data/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js +12 -0
  574. data/node_modules/cssstyle/lib/properties/webkitMaskSize.js +12 -0
  575. data/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js +14 -0
  576. data/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js +12 -0
  577. data/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js +12 -0
  578. data/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js +12 -0
  579. data/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js +12 -0
  580. data/node_modules/cssstyle/lib/properties/webkitNbspMode.js +12 -0
  581. data/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js +12 -0
  582. data/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js +12 -0
  583. data/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js +12 -0
  584. data/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js +12 -0
  585. data/node_modules/cssstyle/lib/properties/webkitPaddingStart.js +12 -0
  586. data/node_modules/cssstyle/lib/properties/webkitPerspective.js +12 -0
  587. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js +12 -0
  588. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js +12 -0
  589. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js +12 -0
  590. data/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js +12 -0
  591. data/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js +12 -0
  592. data/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js +12 -0
  593. data/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js +12 -0
  594. data/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js +12 -0
  595. data/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js +12 -0
  596. data/node_modules/cssstyle/lib/properties/webkitSvgShadow.js +12 -0
  597. data/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js +14 -0
  598. data/node_modules/cssstyle/lib/properties/webkitTextCombine.js +12 -0
  599. data/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js +12 -0
  600. data/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js +12 -0
  601. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js +14 -0
  602. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js +12 -0
  603. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js +12 -0
  604. data/node_modules/cssstyle/lib/properties/webkitTextFillColor.js +14 -0
  605. data/node_modules/cssstyle/lib/properties/webkitTextOrientation.js +12 -0
  606. data/node_modules/cssstyle/lib/properties/webkitTextSecurity.js +12 -0
  607. data/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js +12 -0
  608. data/node_modules/cssstyle/lib/properties/webkitTextStroke.js +12 -0
  609. data/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js +14 -0
  610. data/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js +12 -0
  611. data/node_modules/cssstyle/lib/properties/webkitTransform.js +12 -0
  612. data/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js +12 -0
  613. data/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js +12 -0
  614. data/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js +12 -0
  615. data/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js +12 -0
  616. data/node_modules/cssstyle/lib/properties/webkitTransformStyle.js +12 -0
  617. data/node_modules/cssstyle/lib/properties/webkitTransition.js +12 -0
  618. data/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js +12 -0
  619. data/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js +12 -0
  620. data/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js +12 -0
  621. data/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js +12 -0
  622. data/node_modules/cssstyle/lib/properties/webkitUserDrag.js +12 -0
  623. data/node_modules/cssstyle/lib/properties/webkitUserModify.js +12 -0
  624. data/node_modules/cssstyle/lib/properties/webkitUserSelect.js +12 -0
  625. data/node_modules/cssstyle/lib/properties/webkitWrap.js +12 -0
  626. data/node_modules/cssstyle/lib/properties/webkitWrapFlow.js +12 -0
  627. data/node_modules/cssstyle/lib/properties/webkitWrapMargin.js +12 -0
  628. data/node_modules/cssstyle/lib/properties/webkitWrapPadding.js +12 -0
  629. data/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js +12 -0
  630. data/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js +12 -0
  631. data/node_modules/cssstyle/lib/properties/webkitWrapThrough.js +12 -0
  632. data/node_modules/cssstyle/lib/properties/webkitWritingMode.js +12 -0
  633. data/node_modules/cssstyle/lib/properties/whiteSpace.js +12 -0
  634. data/node_modules/cssstyle/lib/properties/widows.js +12 -0
  635. data/node_modules/cssstyle/lib/properties/width.js +24 -0
  636. data/node_modules/cssstyle/lib/properties/wordBreak.js +12 -0
  637. data/node_modules/cssstyle/lib/properties/wordSpacing.js +12 -0
  638. data/node_modules/cssstyle/lib/properties/wordWrap.js +12 -0
  639. data/node_modules/cssstyle/lib/properties/writingMode.js +12 -0
  640. data/node_modules/cssstyle/lib/properties/zIndex.js +12 -0
  641. data/node_modules/cssstyle/lib/properties/zoom.js +12 -0
  642. data/node_modules/cssstyle/package.json +109 -0
  643. data/node_modules/cssstyle/scripts/generate_properties.js +302 -0
  644. data/node_modules/cssstyle/scripts/run_tests.sh +4 -0
  645. data/node_modules/cssstyle/tests/tests.js +405 -0
  646. data/node_modules/dashdash/CHANGES.md +364 -0
  647. data/node_modules/dashdash/LICENSE.txt +24 -0
  648. data/node_modules/dashdash/README.md +574 -0
  649. data/node_modules/dashdash/etc/dashdash.bash_completion.in +389 -0
  650. data/node_modules/dashdash/lib/dashdash.js +1055 -0
  651. data/node_modules/dashdash/node_modules/assert-plus/AUTHORS +6 -0
  652. data/node_modules/dashdash/node_modules/assert-plus/CHANGES.md +14 -0
  653. data/node_modules/dashdash/node_modules/assert-plus/README.md +162 -0
  654. data/node_modules/dashdash/node_modules/assert-plus/assert.js +211 -0
  655. data/node_modules/dashdash/node_modules/assert-plus/package.json +115 -0
  656. data/node_modules/dashdash/package.json +125 -0
  657. data/node_modules/deep-eql/.npmignore +11 -0
  658. data/node_modules/deep-eql/History.md +28 -0
  659. data/node_modules/deep-eql/README.md +52 -0
  660. data/node_modules/deep-eql/index.js +1 -0
  661. data/node_modules/deep-eql/karma.conf.js +20 -0
  662. data/node_modules/deep-eql/lib/eql.js +257 -0
  663. data/node_modules/deep-eql/node_modules/type-detect/.npmignore +11 -0
  664. data/node_modules/deep-eql/node_modules/type-detect/History.md +18 -0
  665. data/node_modules/deep-eql/node_modules/type-detect/README.md +193 -0
  666. data/node_modules/deep-eql/node_modules/type-detect/index.js +1 -0
  667. data/node_modules/deep-eql/node_modules/type-detect/lib/type.js +142 -0
  668. data/node_modules/deep-eql/node_modules/type-detect/package.json +91 -0
  669. data/node_modules/deep-eql/package.json +98 -0
  670. data/node_modules/deep-is/.npmignore +1 -0
  671. data/node_modules/deep-is/.travis.yml +6 -0
  672. data/node_modules/deep-is/LICENSE +22 -0
  673. data/node_modules/deep-is/README.markdown +70 -0
  674. data/node_modules/deep-is/example/cmp.js +11 -0
  675. data/node_modules/deep-is/index.js +102 -0
  676. data/node_modules/deep-is/package.json +120 -0
  677. data/node_modules/deep-is/test/NaN.js +16 -0
  678. data/node_modules/deep-is/test/cmp.js +23 -0
  679. data/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  680. data/node_modules/delayed-stream/.npmignore +1 -0
  681. data/node_modules/delayed-stream/License +19 -0
  682. data/node_modules/delayed-stream/Makefile +7 -0
  683. data/node_modules/delayed-stream/Readme.md +141 -0
  684. data/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  685. data/node_modules/delayed-stream/package.json +97 -0
  686. data/node_modules/ecc-jsbn/.npmignore +15 -0
  687. data/node_modules/ecc-jsbn/LICENSE +21 -0
  688. data/node_modules/ecc-jsbn/README.md +8 -0
  689. data/node_modules/ecc-jsbn/index.js +57 -0
  690. data/node_modules/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  691. data/node_modules/ecc-jsbn/lib/ec.js +561 -0
  692. data/node_modules/ecc-jsbn/lib/sec.js +170 -0
  693. data/node_modules/ecc-jsbn/package.json +90 -0
  694. data/node_modules/ecc-jsbn/test.js +14 -0
  695. data/node_modules/escape-string-regexp/index.js +11 -0
  696. data/node_modules/escape-string-regexp/license +21 -0
  697. data/node_modules/escape-string-regexp/package.json +109 -0
  698. data/node_modules/escape-string-regexp/readme.md +27 -0
  699. data/node_modules/escodegen/LICENSE.BSD +19 -0
  700. data/node_modules/escodegen/LICENSE.source-map +27 -0
  701. data/node_modules/escodegen/README.md +116 -0
  702. data/node_modules/escodegen/bin/escodegen.js +77 -0
  703. data/node_modules/escodegen/bin/esgenerate.js +64 -0
  704. data/node_modules/escodegen/escodegen.js +2607 -0
  705. data/node_modules/escodegen/package.json +122 -0
  706. data/node_modules/esprima/ChangeLog +174 -0
  707. data/node_modules/esprima/LICENSE.BSD +21 -0
  708. data/node_modules/esprima/README.md +27 -0
  709. data/node_modules/esprima/bin/esparse.js +126 -0
  710. data/node_modules/esprima/bin/esvalidate.js +199 -0
  711. data/node_modules/esprima/esprima.js +5740 -0
  712. data/node_modules/esprima/package.json +153 -0
  713. data/node_modules/estraverse/.editorconfig +10 -0
  714. data/node_modules/estraverse/.jshintrc +16 -0
  715. data/node_modules/estraverse/LICENSE.BSD +19 -0
  716. data/node_modules/estraverse/README.md +124 -0
  717. data/node_modules/estraverse/estraverse.js +845 -0
  718. data/node_modules/estraverse/gulpfile.js +70 -0
  719. data/node_modules/estraverse/package.json +95 -0
  720. data/node_modules/esutils/LICENSE.BSD +19 -0
  721. data/node_modules/esutils/README.md +169 -0
  722. data/node_modules/esutils/lib/ast.js +144 -0
  723. data/node_modules/esutils/lib/code.js +135 -0
  724. data/node_modules/esutils/lib/keyword.js +165 -0
  725. data/node_modules/esutils/lib/utils.js +33 -0
  726. data/node_modules/esutils/package.json +105 -0
  727. data/node_modules/extend/.eslintrc +192 -0
  728. data/node_modules/extend/.jscs.json +104 -0
  729. data/node_modules/extend/.npmignore +1 -0
  730. data/node_modules/extend/.travis.yml +44 -0
  731. data/node_modules/extend/CHANGELOG.md +69 -0
  732. data/node_modules/extend/LICENSE +23 -0
  733. data/node_modules/extend/README.md +62 -0
  734. data/node_modules/extend/component.json +32 -0
  735. data/node_modules/extend/index.js +86 -0
  736. data/node_modules/extend/package.json +106 -0
  737. data/node_modules/extsprintf/.gitmodules +6 -0
  738. data/node_modules/extsprintf/LICENSE +19 -0
  739. data/node_modules/extsprintf/Makefile +23 -0
  740. data/node_modules/extsprintf/Makefile.deps +39 -0
  741. data/node_modules/extsprintf/Makefile.targ +285 -0
  742. data/node_modules/extsprintf/README.md +39 -0
  743. data/node_modules/extsprintf/examples/simple.js +2 -0
  744. data/node_modules/extsprintf/jsl.node.conf +137 -0
  745. data/node_modules/extsprintf/lib/extsprintf.js +166 -0
  746. data/node_modules/extsprintf/package.json +74 -0
  747. data/node_modules/fast-levenshtein/LICENSE.md +25 -0
  748. data/node_modules/fast-levenshtein/README.md +104 -0
  749. data/node_modules/fast-levenshtein/levenshtein.js +102 -0
  750. data/node_modules/fast-levenshtein/package.json +108 -0
  751. data/node_modules/forever-agent/LICENSE +55 -0
  752. data/node_modules/forever-agent/README.md +4 -0
  753. data/node_modules/forever-agent/index.js +138 -0
  754. data/node_modules/forever-agent/package.json +88 -0
  755. data/node_modules/form-data/License +19 -0
  756. data/node_modules/form-data/README.md +217 -0
  757. data/node_modules/form-data/lib/browser.js +2 -0
  758. data/node_modules/form-data/lib/form_data.js +440 -0
  759. data/node_modules/form-data/lib/populate.js +10 -0
  760. data/node_modules/form-data/package.json +145 -0
  761. data/node_modules/generate-function/.npmignore +1 -0
  762. data/node_modules/generate-function/.travis.yml +3 -0
  763. data/node_modules/generate-function/README.md +72 -0
  764. data/node_modules/generate-function/example.js +27 -0
  765. data/node_modules/generate-function/index.js +61 -0
  766. data/node_modules/generate-function/package.json +87 -0
  767. data/node_modules/generate-function/test.js +33 -0
  768. data/node_modules/generate-object-property/.npmignore +1 -0
  769. data/node_modules/generate-object-property/.travis.yml +3 -0
  770. data/node_modules/generate-object-property/LICENSE +21 -0
  771. data/node_modules/generate-object-property/README.md +19 -0
  772. data/node_modules/generate-object-property/index.js +12 -0
  773. data/node_modules/generate-object-property/package.json +84 -0
  774. data/node_modules/generate-object-property/test.js +12 -0
  775. data/node_modules/getpass/.npmignore +8 -0
  776. data/node_modules/getpass/.travis.yml +9 -0
  777. data/node_modules/getpass/LICENSE +18 -0
  778. data/node_modules/getpass/README.md +32 -0
  779. data/node_modules/getpass/lib/index.js +123 -0
  780. data/node_modules/getpass/node_modules/assert-plus/AUTHORS +6 -0
  781. data/node_modules/getpass/node_modules/assert-plus/CHANGES.md +14 -0
  782. data/node_modules/getpass/node_modules/assert-plus/README.md +162 -0
  783. data/node_modules/getpass/node_modules/assert-plus/assert.js +211 -0
  784. data/node_modules/getpass/node_modules/assert-plus/package.json +115 -0
  785. data/node_modules/getpass/package.json +90 -0
  786. data/node_modules/graceful-readlink/.npmignore +3 -0
  787. data/node_modules/graceful-readlink/.travis.yml +5 -0
  788. data/node_modules/graceful-readlink/LICENSE +22 -0
  789. data/node_modules/graceful-readlink/README.md +17 -0
  790. data/node_modules/graceful-readlink/index.js +12 -0
  791. data/node_modules/graceful-readlink/package.json +83 -0
  792. data/node_modules/har-validator/LICENSE +13 -0
  793. data/node_modules/har-validator/README.md +309 -0
  794. data/node_modules/har-validator/bin/har-validator +56 -0
  795. data/node_modules/har-validator/lib/async.js +14 -0
  796. data/node_modules/har-validator/lib/error.js +10 -0
  797. data/node_modules/har-validator/lib/index.js +22 -0
  798. data/node_modules/har-validator/lib/runner.js +29 -0
  799. data/node_modules/har-validator/lib/schemas/cache.json +13 -0
  800. data/node_modules/har-validator/lib/schemas/cacheEntry.json +31 -0
  801. data/node_modules/har-validator/lib/schemas/content.json +27 -0
  802. data/node_modules/har-validator/lib/schemas/cookie.json +34 -0
  803. data/node_modules/har-validator/lib/schemas/creator.json +18 -0
  804. data/node_modules/har-validator/lib/schemas/entry.json +51 -0
  805. data/node_modules/har-validator/lib/schemas/har.json +11 -0
  806. data/node_modules/har-validator/lib/schemas/index.js +49 -0
  807. data/node_modules/har-validator/lib/schemas/log.json +34 -0
  808. data/node_modules/har-validator/lib/schemas/page.json +30 -0
  809. data/node_modules/har-validator/lib/schemas/pageTimings.json +16 -0
  810. data/node_modules/har-validator/lib/schemas/postData.json +41 -0
  811. data/node_modules/har-validator/lib/schemas/record.json +18 -0
  812. data/node_modules/har-validator/lib/schemas/request.json +55 -0
  813. data/node_modules/har-validator/lib/schemas/response.json +52 -0
  814. data/node_modules/har-validator/lib/schemas/timings.json +40 -0
  815. data/node_modules/har-validator/package.json +120 -0
  816. data/node_modules/has-ansi/index.js +4 -0
  817. data/node_modules/has-ansi/license +21 -0
  818. data/node_modules/has-ansi/package.json +118 -0
  819. data/node_modules/has-ansi/readme.md +36 -0
  820. data/node_modules/hawk/.npmignore +20 -0
  821. data/node_modules/hawk/.travis.yml +5 -0
  822. data/node_modules/hawk/LICENSE +28 -0
  823. data/node_modules/hawk/README.md +634 -0
  824. data/node_modules/hawk/bower.json +24 -0
  825. data/node_modules/hawk/component.json +19 -0
  826. data/node_modules/hawk/dist/client.js +343 -0
  827. data/node_modules/hawk/example/usage.js +78 -0
  828. data/node_modules/hawk/images/hawk.png +0 -0
  829. data/node_modules/hawk/images/logo.png +0 -0
  830. data/node_modules/hawk/lib/browser.js +637 -0
  831. data/node_modules/hawk/lib/client.js +369 -0
  832. data/node_modules/hawk/lib/crypto.js +126 -0
  833. data/node_modules/hawk/lib/index.js +15 -0
  834. data/node_modules/hawk/lib/server.js +548 -0
  835. data/node_modules/hawk/lib/utils.js +184 -0
  836. data/node_modules/hawk/package.json +101 -0
  837. data/node_modules/hawk/test/browser.js +1492 -0
  838. data/node_modules/hawk/test/client.js +440 -0
  839. data/node_modules/hawk/test/crypto.js +70 -0
  840. data/node_modules/hawk/test/index.js +378 -0
  841. data/node_modules/hawk/test/readme.js +95 -0
  842. data/node_modules/hawk/test/server.js +1329 -0
  843. data/node_modules/hawk/test/uri.js +838 -0
  844. data/node_modules/hawk/test/utils.js +149 -0
  845. data/node_modules/hoek/.npmignore +18 -0
  846. data/node_modules/hoek/.travis.yml +7 -0
  847. data/node_modules/hoek/CONTRIBUTING.md +1 -0
  848. data/node_modules/hoek/LICENSE +31 -0
  849. data/node_modules/hoek/README.md +584 -0
  850. data/node_modules/hoek/images/hoek.png +0 -0
  851. data/node_modules/hoek/lib/escape.js +132 -0
  852. data/node_modules/hoek/lib/index.js +993 -0
  853. data/node_modules/hoek/package.json +96 -0
  854. data/node_modules/hoek/test/escaper.js +88 -0
  855. data/node_modules/hoek/test/index.js +2513 -0
  856. data/node_modules/hoek/test/modules/ignore.txt +0 -0
  857. data/node_modules/hoek/test/modules/test1.js +1 -0
  858. data/node_modules/hoek/test/modules/test2.js +1 -0
  859. data/node_modules/hoek/test/modules/test3.js +1 -0
  860. data/node_modules/html-encoding-sniffer/LICENSE.txt +19 -0
  861. data/node_modules/html-encoding-sniffer/README.md +38 -0
  862. data/node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js +302 -0
  863. data/node_modules/html-encoding-sniffer/package.json +98 -0
  864. data/node_modules/http-signature/.dir-locals.el +6 -0
  865. data/node_modules/http-signature/.npmignore +7 -0
  866. data/node_modules/http-signature/CHANGES.md +46 -0
  867. data/node_modules/http-signature/LICENSE +18 -0
  868. data/node_modules/http-signature/README.md +79 -0
  869. data/node_modules/http-signature/http_signing.md +363 -0
  870. data/node_modules/http-signature/lib/index.js +29 -0
  871. data/node_modules/http-signature/lib/parser.js +318 -0
  872. data/node_modules/http-signature/lib/signer.js +399 -0
  873. data/node_modules/http-signature/lib/utils.js +112 -0
  874. data/node_modules/http-signature/lib/verify.js +88 -0
  875. data/node_modules/http-signature/package.json +116 -0
  876. data/node_modules/iconv-lite/.npmignore +6 -0
  877. data/node_modules/iconv-lite/.travis.yml +22 -0
  878. data/node_modules/iconv-lite/Changelog.md +108 -0
  879. data/node_modules/iconv-lite/LICENSE +21 -0
  880. data/node_modules/iconv-lite/README.md +159 -0
  881. data/node_modules/iconv-lite/encodings/dbcs-codec.js +554 -0
  882. data/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  883. data/node_modules/iconv-lite/encodings/index.js +22 -0
  884. data/node_modules/iconv-lite/encodings/internal.js +187 -0
  885. data/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  886. data/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  887. data/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  888. data/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  889. data/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  890. data/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  891. data/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  892. data/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  893. data/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  894. data/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  895. data/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  896. data/node_modules/iconv-lite/encodings/utf16.js +176 -0
  897. data/node_modules/iconv-lite/encodings/utf7.js +289 -0
  898. data/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  899. data/node_modules/iconv-lite/lib/extend-node.js +214 -0
  900. data/node_modules/iconv-lite/lib/index.d.ts +31 -0
  901. data/node_modules/iconv-lite/lib/index.js +141 -0
  902. data/node_modules/iconv-lite/lib/streams.js +120 -0
  903. data/node_modules/iconv-lite/package.json +158 -0
  904. data/node_modules/is-my-json-valid/.npmignore +2 -0
  905. data/node_modules/is-my-json-valid/.travis.yml +3 -0
  906. data/node_modules/is-my-json-valid/LICENSE +21 -0
  907. data/node_modules/is-my-json-valid/README.md +173 -0
  908. data/node_modules/is-my-json-valid/example.js +18 -0
  909. data/node_modules/is-my-json-valid/formats.js +14 -0
  910. data/node_modules/is-my-json-valid/index.js +594 -0
  911. data/node_modules/is-my-json-valid/package.json +116 -0
  912. data/node_modules/is-my-json-valid/require.js +12 -0
  913. data/node_modules/is-my-json-valid/test/fixtures/cosmic.js +84 -0
  914. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +82 -0
  915. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +88 -0
  916. data/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +112 -0
  917. data/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +68 -0
  918. data/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +107 -0
  919. data/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +49 -0
  920. data/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +32 -0
  921. data/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +113 -0
  922. data/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +72 -0
  923. data/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +143 -0
  924. data/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +46 -0
  925. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +28 -0
  926. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +28 -0
  927. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +28 -0
  928. data/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +42 -0
  929. data/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +28 -0
  930. data/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +28 -0
  931. data/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +28 -0
  932. data/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +42 -0
  933. data/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +96 -0
  934. data/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +96 -0
  935. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +18 -0
  936. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +18 -0
  937. data/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +68 -0
  938. data/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +23 -0
  939. data/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +110 -0
  940. data/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +92 -0
  941. data/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +128 -0
  942. data/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +74 -0
  943. data/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +39 -0
  944. data/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +330 -0
  945. data/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +79 -0
  946. data/node_modules/is-my-json-valid/test/json-schema.js +23 -0
  947. data/node_modules/is-my-json-valid/test/misc.js +471 -0
  948. data/node_modules/is-property/.npmignore +17 -0
  949. data/node_modules/is-property/LICENSE +22 -0
  950. data/node_modules/is-property/README.md +28 -0
  951. data/node_modules/is-property/is-property.js +5 -0
  952. data/node_modules/is-property/package.json +92 -0
  953. data/node_modules/is-typedarray/LICENSE.md +18 -0
  954. data/node_modules/is-typedarray/README.md +16 -0
  955. data/node_modules/is-typedarray/index.js +41 -0
  956. data/node_modules/is-typedarray/package.json +90 -0
  957. data/node_modules/is-typedarray/test.js +34 -0
  958. data/node_modules/isstream/.jshintrc +59 -0
  959. data/node_modules/isstream/.npmignore +1 -0
  960. data/node_modules/isstream/.travis.yml +12 -0
  961. data/node_modules/isstream/LICENSE.md +11 -0
  962. data/node_modules/isstream/README.md +66 -0
  963. data/node_modules/isstream/isstream.js +27 -0
  964. data/node_modules/isstream/package.json +93 -0
  965. data/node_modules/isstream/test.js +168 -0
  966. data/node_modules/jodid25519/.npmignore +11 -0
  967. data/node_modules/jodid25519/.travis.yml +7 -0
  968. data/node_modules/jodid25519/AUTHORS.md +3 -0
  969. data/node_modules/jodid25519/LICENSE +23 -0
  970. data/node_modules/jodid25519/README.md +51 -0
  971. data/node_modules/jodid25519/almond.0 +42 -0
  972. data/node_modules/jodid25519/almond.1 +13 -0
  973. data/node_modules/jodid25519/index.js +35 -0
  974. data/node_modules/jodid25519/jsdoc.json +19 -0
  975. data/node_modules/jodid25519/lib/core.js +481 -0
  976. data/node_modules/jodid25519/lib/curve255.js +221 -0
  977. data/node_modules/jodid25519/lib/dh.js +111 -0
  978. data/node_modules/jodid25519/lib/eddsa.js +573 -0
  979. data/node_modules/jodid25519/lib/utils.js +198 -0
  980. data/node_modules/jodid25519/package.json +104 -0
  981. data/node_modules/jquery/AUTHORS.txt +295 -0
  982. data/node_modules/jquery/LICENSE.txt +36 -0
  983. data/node_modules/jquery/README.md +65 -0
  984. data/node_modules/jquery/bower.json +14 -0
  985. data/node_modules/jquery/dist/core.js +482 -0
  986. data/node_modules/jquery/dist/jquery.js +10220 -0
  987. data/node_modules/jquery/dist/jquery.min.js +4 -0
  988. data/node_modules/jquery/dist/jquery.min.map +1 -0
  989. data/node_modules/jquery/dist/jquery.slim.js +8107 -0
  990. data/node_modules/jquery/dist/jquery.slim.min.js +4 -0
  991. data/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  992. data/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  993. data/node_modules/jquery/external/sizzle/dist/sizzle.js +2272 -0
  994. data/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  995. data/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  996. data/node_modules/jquery/package.json +169 -0
  997. data/node_modules/jquery/src/.eslintrc.json +18 -0
  998. data/node_modules/jquery/src/ajax.js +855 -0
  999. data/node_modules/jquery/src/ajax/jsonp.js +102 -0
  1000. data/node_modules/jquery/src/ajax/load.js +76 -0
  1001. data/node_modules/jquery/src/ajax/parseXML.js +30 -0
  1002. data/node_modules/jquery/src/ajax/script.js +77 -0
  1003. data/node_modules/jquery/src/ajax/var/location.js +5 -0
  1004. data/node_modules/jquery/src/ajax/var/nonce.js +7 -0
  1005. data/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  1006. data/node_modules/jquery/src/ajax/xhr.js +169 -0
  1007. data/node_modules/jquery/src/attributes.js +13 -0
  1008. data/node_modules/jquery/src/attributes/attr.js +140 -0
  1009. data/node_modules/jquery/src/attributes/classes.js +174 -0
  1010. data/node_modules/jquery/src/attributes/prop.js +143 -0
  1011. data/node_modules/jquery/src/attributes/support.js +33 -0
  1012. data/node_modules/jquery/src/attributes/val.js +188 -0
  1013. data/node_modules/jquery/src/callbacks.js +234 -0
  1014. data/node_modules/jquery/src/core.js +482 -0
  1015. data/node_modules/jquery/src/core/DOMEval.js +16 -0
  1016. data/node_modules/jquery/src/core/access.js +70 -0
  1017. data/node_modules/jquery/src/core/init.js +127 -0
  1018. data/node_modules/jquery/src/core/parseHTML.js +65 -0
  1019. data/node_modules/jquery/src/core/ready-no-deferred.js +105 -0
  1020. data/node_modules/jquery/src/core/ready.js +95 -0
  1021. data/node_modules/jquery/src/core/readyException.js +13 -0
  1022. data/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  1023. data/node_modules/jquery/src/core/support.js +20 -0
  1024. data/node_modules/jquery/src/core/var/rsingleTag.js +6 -0
  1025. data/node_modules/jquery/src/css.js +426 -0
  1026. data/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  1027. data/node_modules/jquery/src/css/adjustCSS.js +71 -0
  1028. data/node_modules/jquery/src/css/curCSS.js +59 -0
  1029. data/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  1030. data/node_modules/jquery/src/css/showHide.js +105 -0
  1031. data/node_modules/jquery/src/css/support.js +89 -0
  1032. data/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  1033. data/node_modules/jquery/src/css/var/getStyles.js +17 -0
  1034. data/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  1035. data/node_modules/jquery/src/css/var/rmargin.js +5 -0
  1036. data/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  1037. data/node_modules/jquery/src/css/var/swap.js +26 -0
  1038. data/node_modules/jquery/src/data.js +179 -0
  1039. data/node_modules/jquery/src/data/Data.js +161 -0
  1040. data/node_modules/jquery/src/data/var/acceptData.js +19 -0
  1041. data/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  1042. data/node_modules/jquery/src/data/var/dataUser.js +7 -0
  1043. data/node_modules/jquery/src/deferred.js +389 -0
  1044. data/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  1045. data/node_modules/jquery/src/deprecated.js +30 -0
  1046. data/node_modules/jquery/src/dimensions.js +56 -0
  1047. data/node_modules/jquery/src/effects.js +693 -0
  1048. data/node_modules/jquery/src/effects/Tween.js +123 -0
  1049. data/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  1050. data/node_modules/jquery/src/event.js +745 -0
  1051. data/node_modules/jquery/src/event/ajax.js +22 -0
  1052. data/node_modules/jquery/src/event/alias.js +29 -0
  1053. data/node_modules/jquery/src/event/focusin.js +55 -0
  1054. data/node_modules/jquery/src/event/support.js +11 -0
  1055. data/node_modules/jquery/src/event/trigger.js +185 -0
  1056. data/node_modules/jquery/src/exports/amd.js +26 -0
  1057. data/node_modules/jquery/src/exports/global.js +34 -0
  1058. data/node_modules/jquery/src/jquery.js +41 -0
  1059. data/node_modules/jquery/src/manipulation.js +486 -0
  1060. data/node_modules/jquery/src/manipulation/_evalUrl.js +23 -0
  1061. data/node_modules/jquery/src/manipulation/buildFragment.js +104 -0
  1062. data/node_modules/jquery/src/manipulation/getAll.js +31 -0
  1063. data/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  1064. data/node_modules/jquery/src/manipulation/support.js +35 -0
  1065. data/node_modules/jquery/src/manipulation/var/rcheckableType.js +5 -0
  1066. data/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  1067. data/node_modules/jquery/src/manipulation/var/rtagName.js +5 -0
  1068. data/node_modules/jquery/src/manipulation/wrapMap.js +29 -0
  1069. data/node_modules/jquery/src/offset.js +232 -0
  1070. data/node_modules/jquery/src/queue.js +145 -0
  1071. data/node_modules/jquery/src/queue/delay.js +24 -0
  1072. data/node_modules/jquery/src/selector-native.js +237 -0
  1073. data/node_modules/jquery/src/selector-sizzle.js +19 -0
  1074. data/node_modules/jquery/src/selector.js +3 -0
  1075. data/node_modules/jquery/src/serialize.js +130 -0
  1076. data/node_modules/jquery/src/traversing.js +178 -0
  1077. data/node_modules/jquery/src/traversing/findFilter.js +106 -0
  1078. data/node_modules/jquery/src/traversing/var/dir.js +22 -0
  1079. data/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  1080. data/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  1081. data/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  1082. data/node_modules/jquery/src/var/arr.js +5 -0
  1083. data/node_modules/jquery/src/var/class2type.js +6 -0
  1084. data/node_modules/jquery/src/var/concat.js +7 -0
  1085. data/node_modules/jquery/src/var/document.js +5 -0
  1086. data/node_modules/jquery/src/var/documentElement.js +7 -0
  1087. data/node_modules/jquery/src/var/fnToString.js +7 -0
  1088. data/node_modules/jquery/src/var/getProto.js +5 -0
  1089. data/node_modules/jquery/src/var/hasOwn.js +7 -0
  1090. data/node_modules/jquery/src/var/indexOf.js +7 -0
  1091. data/node_modules/jquery/src/var/pnum.js +5 -0
  1092. data/node_modules/jquery/src/var/push.js +7 -0
  1093. data/node_modules/jquery/src/var/rcssNum.js +9 -0
  1094. data/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  1095. data/node_modules/jquery/src/var/slice.js +7 -0
  1096. data/node_modules/jquery/src/var/support.js +6 -0
  1097. data/node_modules/jquery/src/var/toString.js +7 -0
  1098. data/node_modules/jquery/src/wrap.js +77 -0
  1099. data/node_modules/jsbn/.npmignore +2 -0
  1100. data/node_modules/jsbn/LICENSE +40 -0
  1101. data/node_modules/jsbn/README.md +175 -0
  1102. data/node_modules/jsbn/example.html +12 -0
  1103. data/node_modules/jsbn/example.js +3 -0
  1104. data/node_modules/jsbn/index.js +1358 -0
  1105. data/node_modules/jsbn/package.json +87 -0
  1106. data/node_modules/jsdom-global/.npmignore +1 -0
  1107. data/node_modules/jsdom-global/.travis.yml +6 -0
  1108. data/node_modules/jsdom-global/HISTORY.md +85 -0
  1109. data/node_modules/jsdom-global/README.md +137 -0
  1110. data/node_modules/jsdom-global/browser.js +10 -0
  1111. data/node_modules/jsdom-global/index.js +46 -0
  1112. data/node_modules/jsdom-global/keys.js +187 -0
  1113. data/node_modules/jsdom-global/package.json +95 -0
  1114. data/node_modules/jsdom-global/register.js +1 -0
  1115. data/node_modules/jsdom-global/test.js +22 -0
  1116. data/node_modules/jsdom/Changelog.md +1254 -0
  1117. data/node_modules/jsdom/LICENSE.txt +22 -0
  1118. data/node_modules/jsdom/README.md +592 -0
  1119. data/node_modules/jsdom/lib/jsdom.js +456 -0
  1120. data/node_modules/jsdom/lib/jsdom/browser/Window.js +502 -0
  1121. data/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js +1129 -0
  1122. data/node_modules/jsdom/lib/jsdom/browser/documentAdapter.js +73 -0
  1123. data/node_modules/jsdom/lib/jsdom/browser/documentfeatures.js +47 -0
  1124. data/node_modules/jsdom/lib/jsdom/browser/domtohtml.js +19 -0
  1125. data/node_modules/jsdom/lib/jsdom/browser/htmltodom.js +323 -0
  1126. data/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +13 -0
  1127. data/node_modules/jsdom/lib/jsdom/browser/resource-loader.js +275 -0
  1128. data/node_modules/jsdom/lib/jsdom/level2/style.js +69 -0
  1129. data/node_modules/jsdom/lib/jsdom/level3/xpath.js +1874 -0
  1130. data/node_modules/jsdom/lib/jsdom/living/attributes.js +468 -0
  1131. data/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +87 -0
  1132. data/node_modules/jsdom/lib/jsdom/living/blob-symbols.js +6 -0
  1133. data/node_modules/jsdom/lib/jsdom/living/blob.js +73 -0
  1134. data/node_modules/jsdom/lib/jsdom/living/dom-token-list.js +222 -0
  1135. data/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +61 -0
  1136. data/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +18 -0
  1137. data/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +11 -0
  1138. data/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +77 -0
  1139. data/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +303 -0
  1140. data/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +4 -0
  1141. data/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +11 -0
  1142. data/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +21 -0
  1143. data/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +22 -0
  1144. data/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +28 -0
  1145. data/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +4 -0
  1146. data/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +11 -0
  1147. data/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +11 -0
  1148. data/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +19 -0
  1149. data/node_modules/jsdom/lib/jsdom/living/file-reader.js +133 -0
  1150. data/node_modules/jsdom/lib/jsdom/living/file-symbols.js +4 -0
  1151. data/node_modules/jsdom/lib/jsdom/living/file.js +22 -0
  1152. data/node_modules/jsdom/lib/jsdom/living/filelist-symbols.js +3 -0
  1153. data/node_modules/jsdom/lib/jsdom/living/filelist.js +21 -0
  1154. data/node_modules/jsdom/lib/jsdom/living/form-data-symbols.js +3 -0
  1155. data/node_modules/jsdom/lib/jsdom/living/generated/.gitkeep +0 -0
  1156. data/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +34 -0
  1157. data/node_modules/jsdom/lib/jsdom/living/generated/Attr.js +169 -0
  1158. data/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js +189 -0
  1159. data/node_modules/jsdom/lib/jsdom/living/generated/ChildNode.js +92 -0
  1160. data/node_modules/jsdom/lib/jsdom/living/generated/Comment.js +92 -0
  1161. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js +122 -0
  1162. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js +34 -0
  1163. data/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js +143 -0
  1164. data/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js +97 -0
  1165. data/node_modules/jsdom/lib/jsdom/living/generated/Document.js +712 -0
  1166. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js +91 -0
  1167. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js +110 -0
  1168. data/node_modules/jsdom/lib/jsdom/living/generated/Element.js +552 -0
  1169. data/node_modules/jsdom/lib/jsdom/living/generated/ElementCSSInlineStyle.js +88 -0
  1170. data/node_modules/jsdom/lib/jsdom/living/generated/ElementContentEditable.js +77 -0
  1171. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js +137 -0
  1172. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +56 -0
  1173. data/node_modules/jsdom/lib/jsdom/living/generated/Event.js +251 -0
  1174. data/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js +40 -0
  1175. data/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +32 -0
  1176. data/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js +146 -0
  1177. data/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js +130 -0
  1178. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js +104 -0
  1179. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js +34 -0
  1180. data/node_modules/jsdom/lib/jsdom/living/generated/FormData.js +179 -0
  1181. data/node_modules/jsdom/lib/jsdom/living/generated/GlobalEventHandlers.js +770 -0
  1182. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +228 -0
  1183. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAppletElement.js +225 -0
  1184. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +167 -0
  1185. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +82 -0
  1186. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +95 -0
  1187. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +107 -0
  1188. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +164 -0
  1189. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +189 -0
  1190. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +181 -0
  1191. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +98 -0
  1192. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +95 -0
  1193. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +82 -0
  1194. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +98 -0
  1195. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +98 -0
  1196. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +95 -0
  1197. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js +205 -0
  1198. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +159 -0
  1199. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +119 -0
  1200. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +121 -0
  1201. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +211 -0
  1202. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +203 -0
  1203. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +112 -0
  1204. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +150 -0
  1205. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +82 -0
  1206. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +95 -0
  1207. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +95 -0
  1208. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHyperlinkElementUtils.js +205 -0
  1209. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +278 -0
  1210. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +326 -0
  1211. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +583 -0
  1212. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +108 -0
  1213. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +103 -0
  1214. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +103 -0
  1215. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +206 -0
  1216. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +103 -0
  1217. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +505 -0
  1218. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +124 -0
  1219. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +134 -0
  1220. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +82 -0
  1221. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js +108 -0
  1222. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +140 -0
  1223. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +309 -0
  1224. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +111 -0
  1225. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +178 -0
  1226. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +95 -0
  1227. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +95 -0
  1228. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +134 -0
  1229. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +95 -0
  1230. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +82 -0
  1231. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +95 -0
  1232. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +204 -0
  1233. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +260 -0
  1234. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +146 -0
  1235. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +82 -0
  1236. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +125 -0
  1237. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +95 -0
  1238. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +245 -0
  1239. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +161 -0
  1240. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement.js +95 -0
  1241. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +357 -0
  1242. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement.js +121 -0
  1243. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +202 -0
  1244. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +173 -0
  1245. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +90 -0
  1246. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +415 -0
  1247. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +95 -0
  1248. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +94 -0
  1249. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +193 -0
  1250. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +111 -0
  1251. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +82 -0
  1252. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +138 -0
  1253. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +113 -0
  1254. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +38 -0
  1255. data/node_modules/jsdom/lib/jsdom/living/generated/History.js +179 -0
  1256. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +269 -0
  1257. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +90 -0
  1258. data/node_modules/jsdom/lib/jsdom/living/generated/LinkStyle.js +85 -0
  1259. data/node_modules/jsdom/lib/jsdom/living/generated/Location.js +227 -0
  1260. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js +164 -0
  1261. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js +56 -0
  1262. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js +234 -0
  1263. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js +82 -0
  1264. data/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js +96 -0
  1265. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorConcurrentHardware.js +85 -0
  1266. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorCookies.js +85 -0
  1267. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorID.js +149 -0
  1268. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorLanguage.js +93 -0
  1269. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorOnLine.js +85 -0
  1270. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorPlugins.js +88 -0
  1271. data/node_modules/jsdom/lib/jsdom/living/generated/Node.js +512 -0
  1272. data/node_modules/jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode.js +93 -0
  1273. data/node_modules/jsdom/lib/jsdom/living/generated/NonElementParentNode.js +92 -0
  1274. data/node_modules/jsdom/lib/jsdom/living/generated/ParentNode.js +139 -0
  1275. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js +105 -0
  1276. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +32 -0
  1277. data/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +90 -0
  1278. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js +122 -0
  1279. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +50 -0
  1280. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +42 -0
  1281. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js +32 -0
  1282. data/node_modules/jsdom/lib/jsdom/living/generated/Text.js +107 -0
  1283. data/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js +138 -0
  1284. data/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js +189 -0
  1285. data/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js +134 -0
  1286. data/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js +42 -0
  1287. data/node_modules/jsdom/lib/jsdom/living/generated/Window.js +1 -0
  1288. data/node_modules/jsdom/lib/jsdom/living/generated/WindowEventHandlers.js +242 -0
  1289. data/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js +82 -0
  1290. data/node_modules/jsdom/lib/jsdom/living/generated/utils.js +40 -0
  1291. data/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js +53 -0
  1292. data/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +74 -0
  1293. data/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +43 -0
  1294. data/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +13 -0
  1295. data/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set-parser.js +5 -0
  1296. data/node_modules/jsdom/lib/jsdom/living/helpers/proxied-window-event-handlers.js +11 -0
  1297. data/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +68 -0
  1298. data/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js +30 -0
  1299. data/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js +78 -0
  1300. data/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +51 -0
  1301. data/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +62 -0
  1302. data/node_modules/jsdom/lib/jsdom/living/html-collection.js +109 -0
  1303. data/node_modules/jsdom/lib/jsdom/living/index.js +57 -0
  1304. data/node_modules/jsdom/lib/jsdom/living/named-properties-window.js +139 -0
  1305. data/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +24 -0
  1306. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  1307. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  1308. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  1309. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  1310. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  1311. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +7 -0
  1312. data/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
  1313. data/node_modules/jsdom/lib/jsdom/living/node-filter.js +47 -0
  1314. data/node_modules/jsdom/lib/jsdom/living/node-iterator.js +232 -0
  1315. data/node_modules/jsdom/lib/jsdom/living/node-list.js +85 -0
  1316. data/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
  1317. data/node_modules/jsdom/lib/jsdom/living/node.js +189 -0
  1318. data/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +78 -0
  1319. data/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +15 -0
  1320. data/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +17 -0
  1321. data/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +176 -0
  1322. data/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +777 -0
  1323. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +21 -0
  1324. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +26 -0
  1325. data/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +491 -0
  1326. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +7 -0
  1327. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
  1328. data/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +7 -0
  1329. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +25 -0
  1330. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl.js +26 -0
  1331. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +18 -0
  1332. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  1333. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  1334. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +27 -0
  1335. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +30 -0
  1336. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +58 -0
  1337. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +134 -0
  1338. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  1339. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  1340. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +9 -0
  1341. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  1342. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  1343. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  1344. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +144 -0
  1345. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +18 -0
  1346. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +14 -0
  1347. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  1348. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +125 -0
  1349. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +181 -0
  1350. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +9 -0
  1351. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  1352. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  1353. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  1354. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  1355. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +275 -0
  1356. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  1357. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +93 -0
  1358. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +396 -0
  1359. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  1360. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +72 -0
  1361. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +14 -0
  1362. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +76 -0
  1363. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  1364. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +140 -0
  1365. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  1366. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  1367. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +9 -0
  1368. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  1369. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +9 -0
  1370. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +35 -0
  1371. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  1372. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +122 -0
  1373. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +9 -0
  1374. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  1375. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  1376. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  1377. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +9 -0
  1378. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  1379. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +139 -0
  1380. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +174 -0
  1381. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +18 -0
  1382. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  1383. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +33 -0
  1384. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  1385. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +56 -0
  1386. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  1387. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl.js +9 -0
  1388. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +148 -0
  1389. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl.js +9 -0
  1390. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +70 -0
  1391. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +54 -0
  1392. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +33 -0
  1393. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +184 -0
  1394. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  1395. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  1396. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +21 -0
  1397. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  1398. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  1399. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +26 -0
  1400. data/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +16 -0
  1401. data/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +475 -0
  1402. data/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  1403. data/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +9 -0
  1404. data/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +91 -0
  1405. data/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  1406. data/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +48 -0
  1407. data/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +9 -0
  1408. data/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  1409. data/node_modules/jsdom/lib/jsdom/living/post-message.js +36 -0
  1410. data/node_modules/jsdom/lib/jsdom/living/register-elements.js +306 -0
  1411. data/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +257 -0
  1412. data/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +145 -0
  1413. data/node_modules/jsdom/lib/jsdom/living/window/History.idl +12 -0
  1414. data/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +235 -0
  1415. data/node_modules/jsdom/lib/jsdom/living/window/navigation.js +103 -0
  1416. data/node_modules/jsdom/lib/jsdom/living/xhr-sync-worker.js +50 -0
  1417. data/node_modules/jsdom/lib/jsdom/living/xhr-utils.js +327 -0
  1418. data/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +182 -0
  1419. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-event-target.js +23 -0
  1420. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-symbols.js +4 -0
  1421. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-upload.js +17 -0
  1422. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js +1016 -0
  1423. data/node_modules/jsdom/lib/jsdom/named-properties-tracker.js +156 -0
  1424. data/node_modules/jsdom/lib/jsdom/utils.js +242 -0
  1425. data/node_modules/jsdom/lib/jsdom/virtual-console.js +34 -0
  1426. data/node_modules/jsdom/lib/jsdom/vm-shim.js +106 -0
  1427. data/node_modules/jsdom/lib/jsdom/web-idl/DOMException.js +41 -0
  1428. data/node_modules/jsdom/lib/jsdom/web-idl/dom-exception-table.json +134 -0
  1429. data/node_modules/jsdom/node_modules/request/CHANGELOG.md +662 -0
  1430. data/node_modules/jsdom/node_modules/request/LICENSE +55 -0
  1431. data/node_modules/jsdom/node_modules/request/README.md +1098 -0
  1432. data/node_modules/jsdom/node_modules/request/index.js +156 -0
  1433. data/node_modules/jsdom/node_modules/request/lib/auth.js +168 -0
  1434. data/node_modules/jsdom/node_modules/request/lib/cookies.js +39 -0
  1435. data/node_modules/jsdom/node_modules/request/lib/getProxyFromURI.js +79 -0
  1436. data/node_modules/jsdom/node_modules/request/lib/har.js +215 -0
  1437. data/node_modules/jsdom/node_modules/request/lib/helpers.js +65 -0
  1438. data/node_modules/jsdom/node_modules/request/lib/multipart.js +112 -0
  1439. data/node_modules/jsdom/node_modules/request/lib/oauth.js +147 -0
  1440. data/node_modules/jsdom/node_modules/request/lib/querystring.js +51 -0
  1441. data/node_modules/jsdom/node_modules/request/lib/redirect.js +157 -0
  1442. data/node_modules/jsdom/node_modules/request/lib/tunnel.js +176 -0
  1443. data/node_modules/jsdom/node_modules/request/package.json +163 -0
  1444. data/node_modules/jsdom/node_modules/request/request.js +1475 -0
  1445. data/node_modules/jsdom/package.json +184 -0
  1446. data/node_modules/json-schema/README.md +5 -0
  1447. data/node_modules/json-schema/draft-00/hyper-schema +68 -0
  1448. data/node_modules/json-schema/draft-00/json-ref +26 -0
  1449. data/node_modules/json-schema/draft-00/links +33 -0
  1450. data/node_modules/json-schema/draft-00/schema +155 -0
  1451. data/node_modules/json-schema/draft-01/hyper-schema +68 -0
  1452. data/node_modules/json-schema/draft-01/json-ref +26 -0
  1453. data/node_modules/json-schema/draft-01/links +33 -0
  1454. data/node_modules/json-schema/draft-01/schema +155 -0
  1455. data/node_modules/json-schema/draft-02/hyper-schema +68 -0
  1456. data/node_modules/json-schema/draft-02/json-ref +26 -0
  1457. data/node_modules/json-schema/draft-02/links +35 -0
  1458. data/node_modules/json-schema/draft-02/schema +166 -0
  1459. data/node_modules/json-schema/draft-03/examples/address +20 -0
  1460. data/node_modules/json-schema/draft-03/examples/calendar +53 -0
  1461. data/node_modules/json-schema/draft-03/examples/card +105 -0
  1462. data/node_modules/json-schema/draft-03/examples/geo +8 -0
  1463. data/node_modules/json-schema/draft-03/examples/interfaces +23 -0
  1464. data/node_modules/json-schema/draft-03/hyper-schema +60 -0
  1465. data/node_modules/json-schema/draft-03/json-ref +26 -0
  1466. data/node_modules/json-schema/draft-03/links +35 -0
  1467. data/node_modules/json-schema/draft-03/schema +174 -0
  1468. data/node_modules/json-schema/draft-04/hyper-schema +60 -0
  1469. data/node_modules/json-schema/draft-04/links +41 -0
  1470. data/node_modules/json-schema/draft-04/schema +189 -0
  1471. data/node_modules/json-schema/draft-zyp-json-schema-03.xml +1120 -0
  1472. data/node_modules/json-schema/draft-zyp-json-schema-04.xml +1072 -0
  1473. data/node_modules/json-schema/lib/links.js +66 -0
  1474. data/node_modules/json-schema/lib/validate.js +273 -0
  1475. data/node_modules/json-schema/package.json +100 -0
  1476. data/node_modules/json-schema/test/tests.js +95 -0
  1477. data/node_modules/json-stringify-safe/.npmignore +1 -0
  1478. data/node_modules/json-stringify-safe/CHANGELOG.md +14 -0
  1479. data/node_modules/json-stringify-safe/LICENSE +15 -0
  1480. data/node_modules/json-stringify-safe/Makefile +35 -0
  1481. data/node_modules/json-stringify-safe/README.md +52 -0
  1482. data/node_modules/json-stringify-safe/package.json +102 -0
  1483. data/node_modules/json-stringify-safe/stringify.js +27 -0
  1484. data/node_modules/json-stringify-safe/test/mocha.opts +2 -0
  1485. data/node_modules/json-stringify-safe/test/stringify_test.js +246 -0
  1486. data/node_modules/jsonpointer/.travis.yml +7 -0
  1487. data/node_modules/jsonpointer/LICENSE.md +21 -0
  1488. data/node_modules/jsonpointer/README.md +39 -0
  1489. data/node_modules/jsonpointer/benchmark.js +56 -0
  1490. data/node_modules/jsonpointer/jsonpointer.js +93 -0
  1491. data/node_modules/jsonpointer/package.json +109 -0
  1492. data/node_modules/jsonpointer/test.js +131 -0
  1493. data/node_modules/jsprim/CHANGES.md +39 -0
  1494. data/node_modules/jsprim/LICENSE +19 -0
  1495. data/node_modules/jsprim/README.md +237 -0
  1496. data/node_modules/jsprim/lib/jsprim.js +488 -0
  1497. data/node_modules/jsprim/package.json +85 -0
  1498. data/node_modules/levn/LICENSE +22 -0
  1499. data/node_modules/levn/README.md +196 -0
  1500. data/node_modules/levn/lib/cast.js +298 -0
  1501. data/node_modules/levn/lib/coerce.js +285 -0
  1502. data/node_modules/levn/lib/index.js +22 -0
  1503. data/node_modules/levn/lib/parse-string.js +113 -0
  1504. data/node_modules/levn/lib/parse.js +102 -0
  1505. data/node_modules/levn/package.json +108 -0
  1506. data/node_modules/mime-db/HISTORY.md +375 -0
  1507. data/node_modules/mime-db/LICENSE +22 -0
  1508. data/node_modules/mime-db/README.md +82 -0
  1509. data/node_modules/mime-db/db.json +6712 -0
  1510. data/node_modules/mime-db/index.js +11 -0
  1511. data/node_modules/mime-db/package.json +137 -0
  1512. data/node_modules/mime-types/HISTORY.md +210 -0
  1513. data/node_modules/mime-types/LICENSE +23 -0
  1514. data/node_modules/mime-types/README.md +103 -0
  1515. data/node_modules/mime-types/index.js +188 -0
  1516. data/node_modules/mime-types/package.json +127 -0
  1517. data/node_modules/nwmatcher/LICENSE +22 -0
  1518. data/node_modules/nwmatcher/README.md +107 -0
  1519. data/node_modules/nwmatcher/package.json +99 -0
  1520. data/node_modules/nwmatcher/src/modules/nwmatcher-cache.js +187 -0
  1521. data/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js +126 -0
  1522. data/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js +273 -0
  1523. data/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js +35 -0
  1524. data/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js +90 -0
  1525. data/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js +104 -0
  1526. data/node_modules/nwmatcher/src/nwmatcher-base.js +785 -0
  1527. data/node_modules/nwmatcher/src/nwmatcher-noqsa.js +962 -0
  1528. data/node_modules/nwmatcher/src/nwmatcher.js +1780 -0
  1529. data/node_modules/oauth-sign/LICENSE +55 -0
  1530. data/node_modules/oauth-sign/README.md +4 -0
  1531. data/node_modules/oauth-sign/index.js +136 -0
  1532. data/node_modules/oauth-sign/package.json +98 -0
  1533. data/node_modules/optionator/CHANGELOG.md +52 -0
  1534. data/node_modules/optionator/LICENSE +22 -0
  1535. data/node_modules/optionator/README.md +236 -0
  1536. data/node_modules/optionator/lib/help.js +247 -0
  1537. data/node_modules/optionator/lib/index.js +465 -0
  1538. data/node_modules/optionator/lib/util.js +54 -0
  1539. data/node_modules/optionator/package.json +109 -0
  1540. data/node_modules/parse5/CHANGELOG.md +69 -0
  1541. data/node_modules/parse5/LICENSE +19 -0
  1542. data/node_modules/parse5/README.md +247 -0
  1543. data/node_modules/parse5/docs/build/index.md +963 -0
  1544. data/node_modules/parse5/index.js +12 -0
  1545. data/node_modules/parse5/lib/common/doctype.js +134 -0
  1546. data/node_modules/parse5/lib/common/foreign_content.js +257 -0
  1547. data/node_modules/parse5/lib/common/html.js +268 -0
  1548. data/node_modules/parse5/lib/common/unicode.js +48 -0
  1549. data/node_modules/parse5/lib/common/utils.js +13 -0
  1550. data/node_modules/parse5/lib/jsdom/jsdom_parser.js +39 -0
  1551. data/node_modules/parse5/lib/jsdom/parsing_unit.js +53 -0
  1552. data/node_modules/parse5/lib/serialization/serializer.js +178 -0
  1553. data/node_modules/parse5/lib/simple_api/simple_api_parser.js +107 -0
  1554. data/node_modules/parse5/lib/simple_api/tokenizer_proxy.js +122 -0
  1555. data/node_modules/parse5/lib/tokenization/location_info_mixin.js +80 -0
  1556. data/node_modules/parse5/lib/tokenization/named_entity_trie.js +6 -0
  1557. data/node_modules/parse5/lib/tokenization/preprocessor.js +115 -0
  1558. data/node_modules/parse5/lib/tokenization/tokenizer.js +2317 -0
  1559. data/node_modules/parse5/lib/tree_adapters/default.js +200 -0
  1560. data/node_modules/parse5/lib/tree_adapters/htmlparser2.js +317 -0
  1561. data/node_modules/parse5/lib/tree_construction/formatting_element_list.js +167 -0
  1562. data/node_modules/parse5/lib/tree_construction/location_info_mixin.js +197 -0
  1563. data/node_modules/parse5/lib/tree_construction/open_element_stack.js +379 -0
  1564. data/node_modules/parse5/lib/tree_construction/parser.js +2827 -0
  1565. data/node_modules/parse5/package.json +125 -0
  1566. data/node_modules/pinkie-promise/index.js +3 -0
  1567. data/node_modules/pinkie-promise/license +21 -0
  1568. data/node_modules/pinkie-promise/package.json +102 -0
  1569. data/node_modules/pinkie-promise/readme.md +28 -0
  1570. data/node_modules/pinkie/index.js +292 -0
  1571. data/node_modules/pinkie/license +21 -0
  1572. data/node_modules/pinkie/package.json +100 -0
  1573. data/node_modules/pinkie/readme.md +83 -0
  1574. data/node_modules/prelude-ls/CHANGELOG.md +99 -0
  1575. data/node_modules/prelude-ls/LICENSE +22 -0
  1576. data/node_modules/prelude-ls/README.md +15 -0
  1577. data/node_modules/prelude-ls/lib/Func.js +65 -0
  1578. data/node_modules/prelude-ls/lib/List.js +686 -0
  1579. data/node_modules/prelude-ls/lib/Num.js +130 -0
  1580. data/node_modules/prelude-ls/lib/Obj.js +154 -0
  1581. data/node_modules/prelude-ls/lib/Str.js +92 -0
  1582. data/node_modules/prelude-ls/lib/index.js +178 -0
  1583. data/node_modules/prelude-ls/package.json +116 -0
  1584. data/node_modules/punycode/LICENSE-MIT.txt +20 -0
  1585. data/node_modules/punycode/README.md +176 -0
  1586. data/node_modules/punycode/package.json +127 -0
  1587. data/node_modules/punycode/punycode.js +533 -0
  1588. data/node_modules/qs/.eslintignore +1 -0
  1589. data/node_modules/qs/.eslintrc +19 -0
  1590. data/node_modules/qs/CHANGELOG.md +144 -0
  1591. data/node_modules/qs/CONTRIBUTING.md +1 -0
  1592. data/node_modules/qs/LICENSE +28 -0
  1593. data/node_modules/qs/README.md +398 -0
  1594. data/node_modules/qs/dist/qs.js +574 -0
  1595. data/node_modules/qs/lib/formats.js +18 -0
  1596. data/node_modules/qs/lib/index.js +11 -0
  1597. data/node_modules/qs/lib/parse.js +166 -0
  1598. data/node_modules/qs/lib/stringify.js +187 -0
  1599. data/node_modules/qs/lib/utils.js +180 -0
  1600. data/node_modules/qs/package.json +121 -0
  1601. data/node_modules/qs/test/.eslintrc +9 -0
  1602. data/node_modules/qs/test/index.js +7 -0
  1603. data/node_modules/qs/test/parse.js +459 -0
  1604. data/node_modules/qs/test/stringify.js +538 -0
  1605. data/node_modules/qs/test/utils.js +22 -0
  1606. data/node_modules/sax/LICENSE +41 -0
  1607. data/node_modules/sax/LICENSE-W3C.html +188 -0
  1608. data/node_modules/sax/README.md +225 -0
  1609. data/node_modules/sax/lib/sax.js +1576 -0
  1610. data/node_modules/sax/package.json +133 -0
  1611. data/node_modules/sntp/.npmignore +18 -0
  1612. data/node_modules/sntp/.travis.yml +5 -0
  1613. data/node_modules/sntp/LICENSE +28 -0
  1614. data/node_modules/sntp/Makefile +9 -0
  1615. data/node_modules/sntp/README.md +68 -0
  1616. data/node_modules/sntp/examples/offset.js +16 -0
  1617. data/node_modules/sntp/examples/time.js +25 -0
  1618. data/node_modules/sntp/index.js +1 -0
  1619. data/node_modules/sntp/lib/index.js +412 -0
  1620. data/node_modules/sntp/package.json +98 -0
  1621. data/node_modules/sntp/test/index.js +435 -0
  1622. data/node_modules/source-map/.npmignore +2 -0
  1623. data/node_modules/source-map/.travis.yml +4 -0
  1624. data/node_modules/source-map/CHANGELOG.md +201 -0
  1625. data/node_modules/source-map/LICENSE +28 -0
  1626. data/node_modules/source-map/Makefile.dryice.js +166 -0
  1627. data/node_modules/source-map/README.md +479 -0
  1628. data/node_modules/source-map/build/assert-shim.js +56 -0
  1629. data/node_modules/source-map/build/mini-require.js +152 -0
  1630. data/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  1631. data/node_modules/source-map/build/prefix-utils.jsm +18 -0
  1632. data/node_modules/source-map/build/suffix-browser.js +8 -0
  1633. data/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  1634. data/node_modules/source-map/build/suffix-utils.jsm +21 -0
  1635. data/node_modules/source-map/build/test-prefix.js +8 -0
  1636. data/node_modules/source-map/build/test-suffix.js +3 -0
  1637. data/node_modules/source-map/lib/source-map.js +8 -0
  1638. data/node_modules/source-map/lib/source-map/array-set.js +97 -0
  1639. data/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  1640. data/node_modules/source-map/lib/source-map/base64.js +42 -0
  1641. data/node_modules/source-map/lib/source-map/basic-source-map-consumer.js +420 -0
  1642. data/node_modules/source-map/lib/source-map/binary-search.js +80 -0
  1643. data/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js +303 -0
  1644. data/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
  1645. data/node_modules/source-map/lib/source-map/source-map-consumer.js +222 -0
  1646. data/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  1647. data/node_modules/source-map/lib/source-map/source-node.js +414 -0
  1648. data/node_modules/source-map/lib/source-map/util.js +319 -0
  1649. data/node_modules/source-map/package.json +223 -0
  1650. data/node_modules/source-map/test/run-tests.js +62 -0
  1651. data/node_modules/source-map/test/source-map/test-api.js +26 -0
  1652. data/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  1653. data/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  1654. data/node_modules/source-map/test/source-map/test-base64.js +35 -0
  1655. data/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  1656. data/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  1657. data/node_modules/source-map/test/source-map/test-source-map-consumer.js +874 -0
  1658. data/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
  1659. data/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  1660. data/node_modules/source-map/test/source-map/test-util.js +216 -0
  1661. data/node_modules/source-map/test/source-map/util.js +299 -0
  1662. data/node_modules/sshpk/.npmignore +9 -0
  1663. data/node_modules/sshpk/.travis.yml +11 -0
  1664. data/node_modules/sshpk/LICENSE +18 -0
  1665. data/node_modules/sshpk/README.md +666 -0
  1666. data/node_modules/sshpk/bin/sshpk-conv +201 -0
  1667. data/node_modules/sshpk/bin/sshpk-sign +191 -0
  1668. data/node_modules/sshpk/bin/sshpk-verify +166 -0
  1669. data/node_modules/sshpk/lib/algs.js +168 -0
  1670. data/node_modules/sshpk/lib/certificate.js +291 -0
  1671. data/node_modules/sshpk/lib/dhe.js +311 -0
  1672. data/node_modules/sshpk/lib/ed-compat.js +96 -0
  1673. data/node_modules/sshpk/lib/errors.js +84 -0
  1674. data/node_modules/sshpk/lib/fingerprint.js +161 -0
  1675. data/node_modules/sshpk/lib/formats/auto.js +73 -0
  1676. data/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
  1677. data/node_modules/sshpk/lib/formats/pem.js +186 -0
  1678. data/node_modules/sshpk/lib/formats/pkcs1.js +320 -0
  1679. data/node_modules/sshpk/lib/formats/pkcs8.js +505 -0
  1680. data/node_modules/sshpk/lib/formats/rfc4253.js +146 -0
  1681. data/node_modules/sshpk/lib/formats/ssh-private.js +261 -0
  1682. data/node_modules/sshpk/lib/formats/ssh.js +114 -0
  1683. data/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
  1684. data/node_modules/sshpk/lib/formats/x509.js +484 -0
  1685. data/node_modules/sshpk/lib/identity.js +255 -0
  1686. data/node_modules/sshpk/lib/index.js +38 -0
  1687. data/node_modules/sshpk/lib/key.js +270 -0
  1688. data/node_modules/sshpk/lib/private-key.js +231 -0
  1689. data/node_modules/sshpk/lib/signature.js +245 -0
  1690. data/node_modules/sshpk/lib/ssh-buffer.js +148 -0
  1691. data/node_modules/sshpk/lib/utils.js +288 -0
  1692. data/node_modules/sshpk/man/man1/sshpk-conv.1 +135 -0
  1693. data/node_modules/sshpk/man/man1/sshpk-sign.1 +81 -0
  1694. data/node_modules/sshpk/man/man1/sshpk-verify.1 +68 -0
  1695. data/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  1696. data/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +14 -0
  1697. data/node_modules/sshpk/node_modules/assert-plus/README.md +162 -0
  1698. data/node_modules/sshpk/node_modules/assert-plus/assert.js +211 -0
  1699. data/node_modules/sshpk/node_modules/assert-plus/package.json +115 -0
  1700. data/node_modules/sshpk/package.json +135 -0
  1701. data/node_modules/stringstream/.npmignore +15 -0
  1702. data/node_modules/stringstream/.travis.yml +4 -0
  1703. data/node_modules/stringstream/LICENSE.txt +22 -0
  1704. data/node_modules/stringstream/README.md +38 -0
  1705. data/node_modules/stringstream/example.js +27 -0
  1706. data/node_modules/stringstream/package.json +85 -0
  1707. data/node_modules/stringstream/stringstream.js +102 -0
  1708. data/node_modules/strip-ansi/index.js +6 -0
  1709. data/node_modules/strip-ansi/license +21 -0
  1710. data/node_modules/strip-ansi/package.json +123 -0
  1711. data/node_modules/strip-ansi/readme.md +33 -0
  1712. data/node_modules/supports-color/index.js +50 -0
  1713. data/node_modules/supports-color/license +21 -0
  1714. data/node_modules/supports-color/package.json +113 -0
  1715. data/node_modules/supports-color/readme.md +36 -0
  1716. data/node_modules/symbol-tree/.jscsrc +55 -0
  1717. data/node_modules/symbol-tree/.npmignore +6 -0
  1718. data/node_modules/symbol-tree/LICENSE +21 -0
  1719. data/node_modules/symbol-tree/README.md +68 -0
  1720. data/node_modules/symbol-tree/api.md +441 -0
  1721. data/node_modules/symbol-tree/lib/SymbolTree.js +834 -0
  1722. data/node_modules/symbol-tree/lib/SymbolTreeNode.js +54 -0
  1723. data/node_modules/symbol-tree/lib/TreeIterator.js +69 -0
  1724. data/node_modules/symbol-tree/lib/TreePosition.js +10 -0
  1725. data/node_modules/symbol-tree/package.json +121 -0
  1726. data/node_modules/symbol-tree/test/SymbolTree.js +1189 -0
  1727. data/node_modules/tough-cookie/LICENSE +27 -0
  1728. data/node_modules/tough-cookie/README.md +506 -0
  1729. data/node_modules/tough-cookie/lib/cookie.js +1336 -0
  1730. data/node_modules/tough-cookie/lib/memstore.js +170 -0
  1731. data/node_modules/tough-cookie/lib/pathMatch.js +61 -0
  1732. data/node_modules/tough-cookie/lib/permuteDomain.js +56 -0
  1733. data/node_modules/tough-cookie/lib/pubsuffix.js +98 -0
  1734. data/node_modules/tough-cookie/lib/store.js +71 -0
  1735. data/node_modules/tough-cookie/package.json +136 -0
  1736. data/node_modules/tr46/.npmignore +4 -0
  1737. data/node_modules/tr46/index.js +193 -0
  1738. data/node_modules/tr46/lib/.gitkeep +0 -0
  1739. data/node_modules/tr46/lib/mappingTable.json +1 -0
  1740. data/node_modules/tr46/package.json +91 -0
  1741. data/node_modules/tunnel-agent/LICENSE +55 -0
  1742. data/node_modules/tunnel-agent/README.md +4 -0
  1743. data/node_modules/tunnel-agent/index.js +243 -0
  1744. data/node_modules/tunnel-agent/package.json +100 -0
  1745. data/node_modules/tweetnacl/.npmignore +4 -0
  1746. data/node_modules/tweetnacl/CHANGELOG.md +209 -0
  1747. data/node_modules/tweetnacl/COPYING.txt +9 -0
  1748. data/node_modules/tweetnacl/ISSUE_TEMPLATE.md +3 -0
  1749. data/node_modules/tweetnacl/README.md +477 -0
  1750. data/node_modules/tweetnacl/nacl-fast.js +2388 -0
  1751. data/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  1752. data/node_modules/tweetnacl/nacl.d.ts +98 -0
  1753. data/node_modules/tweetnacl/nacl.js +1175 -0
  1754. data/node_modules/tweetnacl/nacl.min.js +1 -0
  1755. data/node_modules/tweetnacl/package.json +121 -0
  1756. data/node_modules/type-check/LICENSE +22 -0
  1757. data/node_modules/type-check/README.md +210 -0
  1758. data/node_modules/type-check/lib/check.js +126 -0
  1759. data/node_modules/type-check/lib/index.js +16 -0
  1760. data/node_modules/type-check/lib/parse-type.js +196 -0
  1761. data/node_modules/type-check/package.json +102 -0
  1762. data/node_modules/type-detect/.npmignore +11 -0
  1763. data/node_modules/type-detect/History.md +52 -0
  1764. data/node_modules/type-detect/README.md +226 -0
  1765. data/node_modules/type-detect/ReleaseNotes.md +46 -0
  1766. data/node_modules/type-detect/index.js +1 -0
  1767. data/node_modules/type-detect/lib/type.js +134 -0
  1768. data/node_modules/type-detect/package.json +93 -0
  1769. data/node_modules/uuid/.npmignore +8 -0
  1770. data/node_modules/uuid/.travis.yml +5 -0
  1771. data/node_modules/uuid/AUTHORS +5 -0
  1772. data/node_modules/uuid/HISTORY.md +28 -0
  1773. data/node_modules/uuid/LICENSE.md +21 -0
  1774. data/node_modules/uuid/README.md +132 -0
  1775. data/node_modules/uuid/bin/uuid +26 -0
  1776. data/node_modules/uuid/index.js +8 -0
  1777. data/node_modules/uuid/lib/bytesToUuid.js +23 -0
  1778. data/node_modules/uuid/lib/rng-browser.js +33 -0
  1779. data/node_modules/uuid/lib/rng.js +10 -0
  1780. data/node_modules/uuid/package.json +122 -0
  1781. data/node_modules/uuid/test/mocha.opts +3 -0
  1782. data/node_modules/uuid/test/test.js +96 -0
  1783. data/node_modules/uuid/v1.js +103 -0
  1784. data/node_modules/uuid/v4.js +29 -0
  1785. data/node_modules/verror/.gitmodules +0 -0
  1786. data/node_modules/verror/.npmignore +1 -0
  1787. data/node_modules/verror/LICENSE +19 -0
  1788. data/node_modules/verror/Makefile +35 -0
  1789. data/node_modules/verror/Makefile.targ +285 -0
  1790. data/node_modules/verror/README.md +120 -0
  1791. data/node_modules/verror/examples/levels-verror.js +36 -0
  1792. data/node_modules/verror/examples/levels-werror.js +34 -0
  1793. data/node_modules/verror/examples/varargs.js +6 -0
  1794. data/node_modules/verror/examples/verror.js +13 -0
  1795. data/node_modules/verror/examples/werror.js +14 -0
  1796. data/node_modules/verror/jsl.node.conf +139 -0
  1797. data/node_modules/verror/lib/verror.js +157 -0
  1798. data/node_modules/verror/package.json +78 -0
  1799. data/node_modules/verror/tests/tst.inherit.js +100 -0
  1800. data/node_modules/verror/tests/tst.verror.js +156 -0
  1801. data/node_modules/verror/tests/tst.werror.js +179 -0
  1802. data/node_modules/webidl-conversions/LICENSE.md +12 -0
  1803. data/node_modules/webidl-conversions/README.md +53 -0
  1804. data/node_modules/webidl-conversions/lib/index.js +189 -0
  1805. data/node_modules/webidl-conversions/package.json +96 -0
  1806. data/node_modules/whatwg-encoding/LICENSE.txt +19 -0
  1807. data/node_modules/whatwg-encoding/lib/labels-to-names.json +207 -0
  1808. data/node_modules/whatwg-encoding/lib/supported-names.json +37 -0
  1809. data/node_modules/whatwg-encoding/lib/whatwg-encoding.js +47 -0
  1810. data/node_modules/whatwg-encoding/node_modules/iconv-lite/.npmignore +6 -0
  1811. data/node_modules/whatwg-encoding/node_modules/iconv-lite/.travis.yml +20 -0
  1812. data/node_modules/whatwg-encoding/node_modules/iconv-lite/Changelog.md +93 -0
  1813. data/node_modules/whatwg-encoding/node_modules/iconv-lite/LICENSE +21 -0
  1814. data/node_modules/whatwg-encoding/node_modules/iconv-lite/README.md +157 -0
  1815. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +554 -0
  1816. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-data.js +170 -0
  1817. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/index.js +22 -0
  1818. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/internal.js +187 -0
  1819. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  1820. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1821. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  1822. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1823. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1824. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1825. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1826. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1827. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1828. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  1829. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1830. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/utf16.js +174 -0
  1831. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/utf7.js +289 -0
  1832. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  1833. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/extend-node.js +214 -0
  1834. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/index.js +141 -0
  1835. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/streams.js +120 -0
  1836. data/node_modules/whatwg-encoding/node_modules/iconv-lite/package.json +153 -0
  1837. data/node_modules/whatwg-encoding/package.json +101 -0
  1838. data/node_modules/whatwg-url/.eslintignore +3 -0
  1839. data/node_modules/whatwg-url/LICENSE.txt +21 -0
  1840. data/node_modules/whatwg-url/README.md +66 -0
  1841. data/node_modules/whatwg-url/lib/URL-impl.js +216 -0
  1842. data/node_modules/whatwg-url/lib/URL.js +209 -0
  1843. data/node_modules/whatwg-url/lib/public-api.js +11 -0
  1844. data/node_modules/whatwg-url/lib/url-state-machine.js +1173 -0
  1845. data/node_modules/whatwg-url/lib/utils.js +20 -0
  1846. data/node_modules/whatwg-url/package.json +103 -0
  1847. data/node_modules/wordwrap/LICENSE +18 -0
  1848. data/node_modules/wordwrap/README.markdown +70 -0
  1849. data/node_modules/wordwrap/example/center.js +10 -0
  1850. data/node_modules/wordwrap/example/meat.js +3 -0
  1851. data/node_modules/wordwrap/index.js +76 -0
  1852. data/node_modules/wordwrap/package.json +94 -0
  1853. data/node_modules/wordwrap/test/break.js +32 -0
  1854. data/node_modules/wordwrap/test/idleness.txt +63 -0
  1855. data/node_modules/wordwrap/test/wrap.js +33 -0
  1856. data/node_modules/xml-name-validator/LICENSE.txt +19 -0
  1857. data/node_modules/xml-name-validator/README.md +36 -0
  1858. data/node_modules/xml-name-validator/lib/generated-parser.js +504 -0
  1859. data/node_modules/xml-name-validator/lib/grammar.pegjs +35 -0
  1860. data/node_modules/xml-name-validator/lib/xml-name-validator.js +17 -0
  1861. data/node_modules/xml-name-validator/package.json +97 -0
  1862. data/node_modules/xtend/.jshintrc +30 -0
  1863. data/node_modules/xtend/.npmignore +1 -0
  1864. data/node_modules/xtend/LICENCE +19 -0
  1865. data/node_modules/xtend/Makefile +4 -0
  1866. data/node_modules/xtend/README.md +32 -0
  1867. data/node_modules/xtend/immutable.js +19 -0
  1868. data/node_modules/xtend/mutable.js +17 -0
  1869. data/node_modules/xtend/package.json +117 -0
  1870. data/node_modules/xtend/test.js +83 -0
  1871. data/package.json +32 -0
  1872. data/vendor/assets/javascripts/select_all.js +1 -1
  1873. metadata +1870 -2
@@ -0,0 +1 @@
1
+ module.exports = require('./lib/chai');
@@ -0,0 +1,28 @@
1
+ module.exports = function(config) {
2
+ config.set({
3
+ frameworks: [ 'mocha' ]
4
+ , files: [
5
+ 'chai.js'
6
+ , 'test/bootstrap/karma.js'
7
+ , 'test/*.js'
8
+ ]
9
+ , reporters: [ 'progress' ]
10
+ , colors: true
11
+ , logLevel: config.LOG_INFO
12
+ , autoWatch: false
13
+ , browsers: [ 'PhantomJS' ]
14
+ , browserDisconnectTimeout: 10000
15
+ , browserDisconnectTolerance: 2
16
+ , browserNoActivityTimeout: 20000
17
+ , singleRun: true
18
+ });
19
+
20
+ switch (process.env.CHAI_TEST_ENV) {
21
+ case 'sauce':
22
+ require('./karma.sauce')(config);
23
+ break;
24
+ default:
25
+ // ...
26
+ break;
27
+ };
28
+ };
@@ -0,0 +1,41 @@
1
+ var version = require('./package.json').version;
2
+ var ts = new Date().getTime();
3
+
4
+ module.exports = function(config) {
5
+ var auth;
6
+
7
+ try {
8
+ auth = require('./test/auth/index');
9
+ } catch(ex) {
10
+ auth = {};
11
+ auth.SAUCE_USERNAME = process.env.SAUCE_USERNAME || null;
12
+ auth.SAUCE_ACCESS_KEY = process.env.SAUCE_ACCESS_KEY || null;
13
+ }
14
+
15
+ if (!auth.SAUCE_USERNAME || !auth.SAUCE_ACCESS_KEY) return;
16
+ if (process.env.SKIP_SAUCE) return;
17
+
18
+ var branch = process.env.TRAVIS_BRANCH || 'local'
19
+ var browserConfig = require('./sauce.browsers');
20
+ var browsers = Object.keys(browserConfig);
21
+ var tags = [ 'chaijs_' + version, auth.SAUCE_USERNAME + '@' + branch ];
22
+ var tunnel = process.env.TRAVIS_JOB_NUMBER || ts;
23
+
24
+ if (process.env.TRAVIS_JOB_NUMBER) {
25
+ tags.push('travis@' + process.env.TRAVIS_JOB_NUMBER);
26
+ }
27
+
28
+ config.browsers = config.browsers.concat(browsers);
29
+ config.customLaunchers = browserConfig;
30
+ config.reporters.push('saucelabs');
31
+ config.transports = [ 'xhr-polling' ];
32
+
33
+ config.sauceLabs = {
34
+ username: auth.SAUCE_USERNAME
35
+ , accessKey: auth.SAUCE_ACCESS_KEY
36
+ , startConnect: true
37
+ , tags: tags
38
+ , testName: 'ChaiJS'
39
+ , tunnelIdentifier: tunnel
40
+ };
41
+ };
@@ -0,0 +1,93 @@
1
+ /*!
2
+ * chai
3
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
4
+ * MIT Licensed
5
+ */
6
+
7
+ var used = []
8
+ , exports = module.exports = {};
9
+
10
+ /*!
11
+ * Chai version
12
+ */
13
+
14
+ exports.version = '3.5.0';
15
+
16
+ /*!
17
+ * Assertion Error
18
+ */
19
+
20
+ exports.AssertionError = require('assertion-error');
21
+
22
+ /*!
23
+ * Utils for plugins (not exported)
24
+ */
25
+
26
+ var util = require('./chai/utils');
27
+
28
+ /**
29
+ * # .use(function)
30
+ *
31
+ * Provides a way to extend the internals of Chai
32
+ *
33
+ * @param {Function}
34
+ * @returns {this} for chaining
35
+ * @api public
36
+ */
37
+
38
+ exports.use = function (fn) {
39
+ if (!~used.indexOf(fn)) {
40
+ fn(this, util);
41
+ used.push(fn);
42
+ }
43
+
44
+ return this;
45
+ };
46
+
47
+ /*!
48
+ * Utility Functions
49
+ */
50
+
51
+ exports.util = util;
52
+
53
+ /*!
54
+ * Configuration
55
+ */
56
+
57
+ var config = require('./chai/config');
58
+ exports.config = config;
59
+
60
+ /*!
61
+ * Primary `Assertion` prototype
62
+ */
63
+
64
+ var assertion = require('./chai/assertion');
65
+ exports.use(assertion);
66
+
67
+ /*!
68
+ * Core Assertions
69
+ */
70
+
71
+ var core = require('./chai/core/assertions');
72
+ exports.use(core);
73
+
74
+ /*!
75
+ * Expect interface
76
+ */
77
+
78
+ var expect = require('./chai/interface/expect');
79
+ exports.use(expect);
80
+
81
+ /*!
82
+ * Should interface
83
+ */
84
+
85
+ var should = require('./chai/interface/should');
86
+ exports.use(should);
87
+
88
+ /*!
89
+ * Assert interface
90
+ */
91
+
92
+ var assert = require('./chai/interface/assert');
93
+ exports.use(assert);
@@ -0,0 +1,131 @@
1
+ /*!
2
+ * chai
3
+ * http://chaijs.com
4
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
5
+ * MIT Licensed
6
+ */
7
+
8
+ var config = require('./config');
9
+
10
+ module.exports = function (_chai, util) {
11
+ /*!
12
+ * Module dependencies.
13
+ */
14
+
15
+ var AssertionError = _chai.AssertionError
16
+ , flag = util.flag;
17
+
18
+ /*!
19
+ * Module export.
20
+ */
21
+
22
+ _chai.Assertion = Assertion;
23
+
24
+ /*!
25
+ * Assertion Constructor
26
+ *
27
+ * Creates object for chaining.
28
+ *
29
+ * @api private
30
+ */
31
+
32
+ function Assertion (obj, msg, stack) {
33
+ flag(this, 'ssfi', stack || arguments.callee);
34
+ flag(this, 'object', obj);
35
+ flag(this, 'message', msg);
36
+ }
37
+
38
+ Object.defineProperty(Assertion, 'includeStack', {
39
+ get: function() {
40
+ console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.');
41
+ return config.includeStack;
42
+ },
43
+ set: function(value) {
44
+ console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.');
45
+ config.includeStack = value;
46
+ }
47
+ });
48
+
49
+ Object.defineProperty(Assertion, 'showDiff', {
50
+ get: function() {
51
+ console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.');
52
+ return config.showDiff;
53
+ },
54
+ set: function(value) {
55
+ console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.');
56
+ config.showDiff = value;
57
+ }
58
+ });
59
+
60
+ Assertion.addProperty = function (name, fn) {
61
+ util.addProperty(this.prototype, name, fn);
62
+ };
63
+
64
+ Assertion.addMethod = function (name, fn) {
65
+ util.addMethod(this.prototype, name, fn);
66
+ };
67
+
68
+ Assertion.addChainableMethod = function (name, fn, chainingBehavior) {
69
+ util.addChainableMethod(this.prototype, name, fn, chainingBehavior);
70
+ };
71
+
72
+ Assertion.overwriteProperty = function (name, fn) {
73
+ util.overwriteProperty(this.prototype, name, fn);
74
+ };
75
+
76
+ Assertion.overwriteMethod = function (name, fn) {
77
+ util.overwriteMethod(this.prototype, name, fn);
78
+ };
79
+
80
+ Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) {
81
+ util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior);
82
+ };
83
+
84
+ /**
85
+ * ### .assert(expression, message, negateMessage, expected, actual, showDiff)
86
+ *
87
+ * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass.
88
+ *
89
+ * @name assert
90
+ * @param {Philosophical} expression to be tested
91
+ * @param {String|Function} message or function that returns message to display if expression fails
92
+ * @param {String|Function} negatedMessage or function that returns negatedMessage to display if negated expression fails
93
+ * @param {Mixed} expected value (remember to check for negation)
94
+ * @param {Mixed} actual (optional) will default to `this.obj`
95
+ * @param {Boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails
96
+ * @api private
97
+ */
98
+
99
+ Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) {
100
+ var ok = util.test(this, arguments);
101
+ if (true !== showDiff) showDiff = false;
102
+ if (true !== config.showDiff) showDiff = false;
103
+
104
+ if (!ok) {
105
+ var msg = util.getMessage(this, arguments)
106
+ , actual = util.getActual(this, arguments);
107
+ throw new AssertionError(msg, {
108
+ actual: actual
109
+ , expected: expected
110
+ , showDiff: showDiff
111
+ }, (config.includeStack) ? this.assert : flag(this, 'ssfi'));
112
+ }
113
+ };
114
+
115
+ /*!
116
+ * ### ._obj
117
+ *
118
+ * Quick reference to stored `actual` value for plugin developers.
119
+ *
120
+ * @api private
121
+ */
122
+
123
+ Object.defineProperty(Assertion.prototype, '_obj',
124
+ { get: function () {
125
+ return flag(this, 'object');
126
+ }
127
+ , set: function (val) {
128
+ flag(this, 'object', val);
129
+ }
130
+ });
131
+ };
@@ -0,0 +1,55 @@
1
+ module.exports = {
2
+
3
+ /**
4
+ * ### config.includeStack
5
+ *
6
+ * User configurable property, influences whether stack trace
7
+ * is included in Assertion error message. Default of false
8
+ * suppresses stack trace in the error message.
9
+ *
10
+ * chai.config.includeStack = true; // enable stack on error
11
+ *
12
+ * @param {Boolean}
13
+ * @api public
14
+ */
15
+
16
+ includeStack: false,
17
+
18
+ /**
19
+ * ### config.showDiff
20
+ *
21
+ * User configurable property, influences whether or not
22
+ * the `showDiff` flag should be included in the thrown
23
+ * AssertionErrors. `false` will always be `false`; `true`
24
+ * will be true when the assertion has requested a diff
25
+ * be shown.
26
+ *
27
+ * @param {Boolean}
28
+ * @api public
29
+ */
30
+
31
+ showDiff: true,
32
+
33
+ /**
34
+ * ### config.truncateThreshold
35
+ *
36
+ * User configurable property, sets length threshold for actual and
37
+ * expected values in assertion errors. If this threshold is exceeded, for
38
+ * example for large data structures, the value is replaced with something
39
+ * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`.
40
+ *
41
+ * Set it to zero if you want to disable truncating altogether.
42
+ *
43
+ * This is especially userful when doing assertions on arrays: having this
44
+ * set to a reasonable large value makes the failure messages readily
45
+ * inspectable.
46
+ *
47
+ * chai.config.truncateThreshold = 0; // disable truncating
48
+ *
49
+ * @param {Number}
50
+ * @api public
51
+ */
52
+
53
+ truncateThreshold: 40
54
+
55
+ };
@@ -0,0 +1,1860 @@
1
+ /*!
2
+ * chai
3
+ * http://chaijs.com
4
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
5
+ * MIT Licensed
6
+ */
7
+
8
+ module.exports = function (chai, _) {
9
+ var Assertion = chai.Assertion
10
+ , toString = Object.prototype.toString
11
+ , flag = _.flag;
12
+
13
+ /**
14
+ * ### Language Chains
15
+ *
16
+ * The following are provided as chainable getters to
17
+ * improve the readability of your assertions. They
18
+ * do not provide testing capabilities unless they
19
+ * have been overwritten by a plugin.
20
+ *
21
+ * **Chains**
22
+ *
23
+ * - to
24
+ * - be
25
+ * - been
26
+ * - is
27
+ * - that
28
+ * - which
29
+ * - and
30
+ * - has
31
+ * - have
32
+ * - with
33
+ * - at
34
+ * - of
35
+ * - same
36
+ *
37
+ * @name language chains
38
+ * @namespace BDD
39
+ * @api public
40
+ */
41
+
42
+ [ 'to', 'be', 'been'
43
+ , 'is', 'and', 'has', 'have'
44
+ , 'with', 'that', 'which', 'at'
45
+ , 'of', 'same' ].forEach(function (chain) {
46
+ Assertion.addProperty(chain, function () {
47
+ return this;
48
+ });
49
+ });
50
+
51
+ /**
52
+ * ### .not
53
+ *
54
+ * Negates any of assertions following in the chain.
55
+ *
56
+ * expect(foo).to.not.equal('bar');
57
+ * expect(goodFn).to.not.throw(Error);
58
+ * expect({ foo: 'baz' }).to.have.property('foo')
59
+ * .and.not.equal('bar');
60
+ *
61
+ * @name not
62
+ * @namespace BDD
63
+ * @api public
64
+ */
65
+
66
+ Assertion.addProperty('not', function () {
67
+ flag(this, 'negate', true);
68
+ });
69
+
70
+ /**
71
+ * ### .deep
72
+ *
73
+ * Sets the `deep` flag, later used by the `equal` and
74
+ * `property` assertions.
75
+ *
76
+ * expect(foo).to.deep.equal({ bar: 'baz' });
77
+ * expect({ foo: { bar: { baz: 'quux' } } })
78
+ * .to.have.deep.property('foo.bar.baz', 'quux');
79
+ *
80
+ * `.deep.property` special characters can be escaped
81
+ * by adding two slashes before the `.` or `[]`.
82
+ *
83
+ * var deepCss = { '.link': { '[target]': 42 }};
84
+ * expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42);
85
+ *
86
+ * @name deep
87
+ * @namespace BDD
88
+ * @api public
89
+ */
90
+
91
+ Assertion.addProperty('deep', function () {
92
+ flag(this, 'deep', true);
93
+ });
94
+
95
+ /**
96
+ * ### .any
97
+ *
98
+ * Sets the `any` flag, (opposite of the `all` flag)
99
+ * later used in the `keys` assertion.
100
+ *
101
+ * expect(foo).to.have.any.keys('bar', 'baz');
102
+ *
103
+ * @name any
104
+ * @namespace BDD
105
+ * @api public
106
+ */
107
+
108
+ Assertion.addProperty('any', function () {
109
+ flag(this, 'any', true);
110
+ flag(this, 'all', false)
111
+ });
112
+
113
+
114
+ /**
115
+ * ### .all
116
+ *
117
+ * Sets the `all` flag (opposite of the `any` flag)
118
+ * later used by the `keys` assertion.
119
+ *
120
+ * expect(foo).to.have.all.keys('bar', 'baz');
121
+ *
122
+ * @name all
123
+ * @namespace BDD
124
+ * @api public
125
+ */
126
+
127
+ Assertion.addProperty('all', function () {
128
+ flag(this, 'all', true);
129
+ flag(this, 'any', false);
130
+ });
131
+
132
+ /**
133
+ * ### .a(type)
134
+ *
135
+ * The `a` and `an` assertions are aliases that can be
136
+ * used either as language chains or to assert a value's
137
+ * type.
138
+ *
139
+ * // typeof
140
+ * expect('test').to.be.a('string');
141
+ * expect({ foo: 'bar' }).to.be.an('object');
142
+ * expect(null).to.be.a('null');
143
+ * expect(undefined).to.be.an('undefined');
144
+ * expect(new Error).to.be.an('error');
145
+ * expect(new Promise).to.be.a('promise');
146
+ * expect(new Float32Array()).to.be.a('float32array');
147
+ * expect(Symbol()).to.be.a('symbol');
148
+ *
149
+ * // es6 overrides
150
+ * expect({[Symbol.toStringTag]:()=>'foo'}).to.be.a('foo');
151
+ *
152
+ * // language chain
153
+ * expect(foo).to.be.an.instanceof(Foo);
154
+ *
155
+ * @name a
156
+ * @alias an
157
+ * @param {String} type
158
+ * @param {String} message _optional_
159
+ * @namespace BDD
160
+ * @api public
161
+ */
162
+
163
+ function an (type, msg) {
164
+ if (msg) flag(this, 'message', msg);
165
+ type = type.toLowerCase();
166
+ var obj = flag(this, 'object')
167
+ , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a ';
168
+
169
+ this.assert(
170
+ type === _.type(obj)
171
+ , 'expected #{this} to be ' + article + type
172
+ , 'expected #{this} not to be ' + article + type
173
+ );
174
+ }
175
+
176
+ Assertion.addChainableMethod('an', an);
177
+ Assertion.addChainableMethod('a', an);
178
+
179
+ /**
180
+ * ### .include(value)
181
+ *
182
+ * The `include` and `contain` assertions can be used as either property
183
+ * based language chains or as methods to assert the inclusion of an object
184
+ * in an array or a substring in a string. When used as language chains,
185
+ * they toggle the `contains` flag for the `keys` assertion.
186
+ *
187
+ * expect([1,2,3]).to.include(2);
188
+ * expect('foobar').to.contain('foo');
189
+ * expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo');
190
+ *
191
+ * @name include
192
+ * @alias contain
193
+ * @alias includes
194
+ * @alias contains
195
+ * @param {Object|String|Number} obj
196
+ * @param {String} message _optional_
197
+ * @namespace BDD
198
+ * @api public
199
+ */
200
+
201
+ function includeChainingBehavior () {
202
+ flag(this, 'contains', true);
203
+ }
204
+
205
+ function include (val, msg) {
206
+ _.expectTypes(this, ['array', 'object', 'string']);
207
+
208
+ if (msg) flag(this, 'message', msg);
209
+ var obj = flag(this, 'object');
210
+ var expected = false;
211
+
212
+ if (_.type(obj) === 'array' && _.type(val) === 'object') {
213
+ for (var i in obj) {
214
+ if (_.eql(obj[i], val)) {
215
+ expected = true;
216
+ break;
217
+ }
218
+ }
219
+ } else if (_.type(val) === 'object') {
220
+ if (!flag(this, 'negate')) {
221
+ for (var k in val) new Assertion(obj).property(k, val[k]);
222
+ return;
223
+ }
224
+ var subset = {};
225
+ for (var k in val) subset[k] = obj[k];
226
+ expected = _.eql(subset, val);
227
+ } else {
228
+ expected = (obj != undefined) && ~obj.indexOf(val);
229
+ }
230
+ this.assert(
231
+ expected
232
+ , 'expected #{this} to include ' + _.inspect(val)
233
+ , 'expected #{this} to not include ' + _.inspect(val));
234
+ }
235
+
236
+ Assertion.addChainableMethod('include', include, includeChainingBehavior);
237
+ Assertion.addChainableMethod('contain', include, includeChainingBehavior);
238
+ Assertion.addChainableMethod('contains', include, includeChainingBehavior);
239
+ Assertion.addChainableMethod('includes', include, includeChainingBehavior);
240
+
241
+ /**
242
+ * ### .ok
243
+ *
244
+ * Asserts that the target is truthy.
245
+ *
246
+ * expect('everything').to.be.ok;
247
+ * expect(1).to.be.ok;
248
+ * expect(false).to.not.be.ok;
249
+ * expect(undefined).to.not.be.ok;
250
+ * expect(null).to.not.be.ok;
251
+ *
252
+ * @name ok
253
+ * @namespace BDD
254
+ * @api public
255
+ */
256
+
257
+ Assertion.addProperty('ok', function () {
258
+ this.assert(
259
+ flag(this, 'object')
260
+ , 'expected #{this} to be truthy'
261
+ , 'expected #{this} to be falsy');
262
+ });
263
+
264
+ /**
265
+ * ### .true
266
+ *
267
+ * Asserts that the target is `true`.
268
+ *
269
+ * expect(true).to.be.true;
270
+ * expect(1).to.not.be.true;
271
+ *
272
+ * @name true
273
+ * @namespace BDD
274
+ * @api public
275
+ */
276
+
277
+ Assertion.addProperty('true', function () {
278
+ this.assert(
279
+ true === flag(this, 'object')
280
+ , 'expected #{this} to be true'
281
+ , 'expected #{this} to be false'
282
+ , this.negate ? false : true
283
+ );
284
+ });
285
+
286
+ /**
287
+ * ### .false
288
+ *
289
+ * Asserts that the target is `false`.
290
+ *
291
+ * expect(false).to.be.false;
292
+ * expect(0).to.not.be.false;
293
+ *
294
+ * @name false
295
+ * @namespace BDD
296
+ * @api public
297
+ */
298
+
299
+ Assertion.addProperty('false', function () {
300
+ this.assert(
301
+ false === flag(this, 'object')
302
+ , 'expected #{this} to be false'
303
+ , 'expected #{this} to be true'
304
+ , this.negate ? true : false
305
+ );
306
+ });
307
+
308
+ /**
309
+ * ### .null
310
+ *
311
+ * Asserts that the target is `null`.
312
+ *
313
+ * expect(null).to.be.null;
314
+ * expect(undefined).to.not.be.null;
315
+ *
316
+ * @name null
317
+ * @namespace BDD
318
+ * @api public
319
+ */
320
+
321
+ Assertion.addProperty('null', function () {
322
+ this.assert(
323
+ null === flag(this, 'object')
324
+ , 'expected #{this} to be null'
325
+ , 'expected #{this} not to be null'
326
+ );
327
+ });
328
+
329
+ /**
330
+ * ### .undefined
331
+ *
332
+ * Asserts that the target is `undefined`.
333
+ *
334
+ * expect(undefined).to.be.undefined;
335
+ * expect(null).to.not.be.undefined;
336
+ *
337
+ * @name undefined
338
+ * @namespace BDD
339
+ * @api public
340
+ */
341
+
342
+ Assertion.addProperty('undefined', function () {
343
+ this.assert(
344
+ undefined === flag(this, 'object')
345
+ , 'expected #{this} to be undefined'
346
+ , 'expected #{this} not to be undefined'
347
+ );
348
+ });
349
+
350
+ /**
351
+ * ### .NaN
352
+ * Asserts that the target is `NaN`.
353
+ *
354
+ * expect('foo').to.be.NaN;
355
+ * expect(4).not.to.be.NaN;
356
+ *
357
+ * @name NaN
358
+ * @namespace BDD
359
+ * @api public
360
+ */
361
+
362
+ Assertion.addProperty('NaN', function () {
363
+ this.assert(
364
+ isNaN(flag(this, 'object'))
365
+ , 'expected #{this} to be NaN'
366
+ , 'expected #{this} not to be NaN'
367
+ );
368
+ });
369
+
370
+ /**
371
+ * ### .exist
372
+ *
373
+ * Asserts that the target is neither `null` nor `undefined`.
374
+ *
375
+ * var foo = 'hi'
376
+ * , bar = null
377
+ * , baz;
378
+ *
379
+ * expect(foo).to.exist;
380
+ * expect(bar).to.not.exist;
381
+ * expect(baz).to.not.exist;
382
+ *
383
+ * @name exist
384
+ * @namespace BDD
385
+ * @api public
386
+ */
387
+
388
+ Assertion.addProperty('exist', function () {
389
+ this.assert(
390
+ null != flag(this, 'object')
391
+ , 'expected #{this} to exist'
392
+ , 'expected #{this} to not exist'
393
+ );
394
+ });
395
+
396
+
397
+ /**
398
+ * ### .empty
399
+ *
400
+ * Asserts that the target's length is `0`. For arrays and strings, it checks
401
+ * the `length` property. For objects, it gets the count of
402
+ * enumerable keys.
403
+ *
404
+ * expect([]).to.be.empty;
405
+ * expect('').to.be.empty;
406
+ * expect({}).to.be.empty;
407
+ *
408
+ * @name empty
409
+ * @namespace BDD
410
+ * @api public
411
+ */
412
+
413
+ Assertion.addProperty('empty', function () {
414
+ var obj = flag(this, 'object')
415
+ , expected = obj;
416
+
417
+ if (Array.isArray(obj) || 'string' === typeof object) {
418
+ expected = obj.length;
419
+ } else if (typeof obj === 'object') {
420
+ expected = Object.keys(obj).length;
421
+ }
422
+
423
+ this.assert(
424
+ !expected
425
+ , 'expected #{this} to be empty'
426
+ , 'expected #{this} not to be empty'
427
+ );
428
+ });
429
+
430
+ /**
431
+ * ### .arguments
432
+ *
433
+ * Asserts that the target is an arguments object.
434
+ *
435
+ * function test () {
436
+ * expect(arguments).to.be.arguments;
437
+ * }
438
+ *
439
+ * @name arguments
440
+ * @alias Arguments
441
+ * @namespace BDD
442
+ * @api public
443
+ */
444
+
445
+ function checkArguments () {
446
+ var obj = flag(this, 'object')
447
+ , type = Object.prototype.toString.call(obj);
448
+ this.assert(
449
+ '[object Arguments]' === type
450
+ , 'expected #{this} to be arguments but got ' + type
451
+ , 'expected #{this} to not be arguments'
452
+ );
453
+ }
454
+
455
+ Assertion.addProperty('arguments', checkArguments);
456
+ Assertion.addProperty('Arguments', checkArguments);
457
+
458
+ /**
459
+ * ### .equal(value)
460
+ *
461
+ * Asserts that the target is strictly equal (`===`) to `value`.
462
+ * Alternately, if the `deep` flag is set, asserts that
463
+ * the target is deeply equal to `value`.
464
+ *
465
+ * expect('hello').to.equal('hello');
466
+ * expect(42).to.equal(42);
467
+ * expect(1).to.not.equal(true);
468
+ * expect({ foo: 'bar' }).to.not.equal({ foo: 'bar' });
469
+ * expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' });
470
+ *
471
+ * @name equal
472
+ * @alias equals
473
+ * @alias eq
474
+ * @alias deep.equal
475
+ * @param {Mixed} value
476
+ * @param {String} message _optional_
477
+ * @namespace BDD
478
+ * @api public
479
+ */
480
+
481
+ function assertEqual (val, msg) {
482
+ if (msg) flag(this, 'message', msg);
483
+ var obj = flag(this, 'object');
484
+ if (flag(this, 'deep')) {
485
+ return this.eql(val);
486
+ } else {
487
+ this.assert(
488
+ val === obj
489
+ , 'expected #{this} to equal #{exp}'
490
+ , 'expected #{this} to not equal #{exp}'
491
+ , val
492
+ , this._obj
493
+ , true
494
+ );
495
+ }
496
+ }
497
+
498
+ Assertion.addMethod('equal', assertEqual);
499
+ Assertion.addMethod('equals', assertEqual);
500
+ Assertion.addMethod('eq', assertEqual);
501
+
502
+ /**
503
+ * ### .eql(value)
504
+ *
505
+ * Asserts that the target is deeply equal to `value`.
506
+ *
507
+ * expect({ foo: 'bar' }).to.eql({ foo: 'bar' });
508
+ * expect([ 1, 2, 3 ]).to.eql([ 1, 2, 3 ]);
509
+ *
510
+ * @name eql
511
+ * @alias eqls
512
+ * @param {Mixed} value
513
+ * @param {String} message _optional_
514
+ * @namespace BDD
515
+ * @api public
516
+ */
517
+
518
+ function assertEql(obj, msg) {
519
+ if (msg) flag(this, 'message', msg);
520
+ this.assert(
521
+ _.eql(obj, flag(this, 'object'))
522
+ , 'expected #{this} to deeply equal #{exp}'
523
+ , 'expected #{this} to not deeply equal #{exp}'
524
+ , obj
525
+ , this._obj
526
+ , true
527
+ );
528
+ }
529
+
530
+ Assertion.addMethod('eql', assertEql);
531
+ Assertion.addMethod('eqls', assertEql);
532
+
533
+ /**
534
+ * ### .above(value)
535
+ *
536
+ * Asserts that the target is greater than `value`.
537
+ *
538
+ * expect(10).to.be.above(5);
539
+ *
540
+ * Can also be used in conjunction with `length` to
541
+ * assert a minimum length. The benefit being a
542
+ * more informative error message than if the length
543
+ * was supplied directly.
544
+ *
545
+ * expect('foo').to.have.length.above(2);
546
+ * expect([ 1, 2, 3 ]).to.have.length.above(2);
547
+ *
548
+ * @name above
549
+ * @alias gt
550
+ * @alias greaterThan
551
+ * @param {Number} value
552
+ * @param {String} message _optional_
553
+ * @namespace BDD
554
+ * @api public
555
+ */
556
+
557
+ function assertAbove (n, msg) {
558
+ if (msg) flag(this, 'message', msg);
559
+ var obj = flag(this, 'object');
560
+ if (flag(this, 'doLength')) {
561
+ new Assertion(obj, msg).to.have.property('length');
562
+ var len = obj.length;
563
+ this.assert(
564
+ len > n
565
+ , 'expected #{this} to have a length above #{exp} but got #{act}'
566
+ , 'expected #{this} to not have a length above #{exp}'
567
+ , n
568
+ , len
569
+ );
570
+ } else {
571
+ this.assert(
572
+ obj > n
573
+ , 'expected #{this} to be above ' + n
574
+ , 'expected #{this} to be at most ' + n
575
+ );
576
+ }
577
+ }
578
+
579
+ Assertion.addMethod('above', assertAbove);
580
+ Assertion.addMethod('gt', assertAbove);
581
+ Assertion.addMethod('greaterThan', assertAbove);
582
+
583
+ /**
584
+ * ### .least(value)
585
+ *
586
+ * Asserts that the target is greater than or equal to `value`.
587
+ *
588
+ * expect(10).to.be.at.least(10);
589
+ *
590
+ * Can also be used in conjunction with `length` to
591
+ * assert a minimum length. The benefit being a
592
+ * more informative error message than if the length
593
+ * was supplied directly.
594
+ *
595
+ * expect('foo').to.have.length.of.at.least(2);
596
+ * expect([ 1, 2, 3 ]).to.have.length.of.at.least(3);
597
+ *
598
+ * @name least
599
+ * @alias gte
600
+ * @param {Number} value
601
+ * @param {String} message _optional_
602
+ * @namespace BDD
603
+ * @api public
604
+ */
605
+
606
+ function assertLeast (n, msg) {
607
+ if (msg) flag(this, 'message', msg);
608
+ var obj = flag(this, 'object');
609
+ if (flag(this, 'doLength')) {
610
+ new Assertion(obj, msg).to.have.property('length');
611
+ var len = obj.length;
612
+ this.assert(
613
+ len >= n
614
+ , 'expected #{this} to have a length at least #{exp} but got #{act}'
615
+ , 'expected #{this} to have a length below #{exp}'
616
+ , n
617
+ , len
618
+ );
619
+ } else {
620
+ this.assert(
621
+ obj >= n
622
+ , 'expected #{this} to be at least ' + n
623
+ , 'expected #{this} to be below ' + n
624
+ );
625
+ }
626
+ }
627
+
628
+ Assertion.addMethod('least', assertLeast);
629
+ Assertion.addMethod('gte', assertLeast);
630
+
631
+ /**
632
+ * ### .below(value)
633
+ *
634
+ * Asserts that the target is less than `value`.
635
+ *
636
+ * expect(5).to.be.below(10);
637
+ *
638
+ * Can also be used in conjunction with `length` to
639
+ * assert a maximum length. The benefit being a
640
+ * more informative error message than if the length
641
+ * was supplied directly.
642
+ *
643
+ * expect('foo').to.have.length.below(4);
644
+ * expect([ 1, 2, 3 ]).to.have.length.below(4);
645
+ *
646
+ * @name below
647
+ * @alias lt
648
+ * @alias lessThan
649
+ * @param {Number} value
650
+ * @param {String} message _optional_
651
+ * @namespace BDD
652
+ * @api public
653
+ */
654
+
655
+ function assertBelow (n, msg) {
656
+ if (msg) flag(this, 'message', msg);
657
+ var obj = flag(this, 'object');
658
+ if (flag(this, 'doLength')) {
659
+ new Assertion(obj, msg).to.have.property('length');
660
+ var len = obj.length;
661
+ this.assert(
662
+ len < n
663
+ , 'expected #{this} to have a length below #{exp} but got #{act}'
664
+ , 'expected #{this} to not have a length below #{exp}'
665
+ , n
666
+ , len
667
+ );
668
+ } else {
669
+ this.assert(
670
+ obj < n
671
+ , 'expected #{this} to be below ' + n
672
+ , 'expected #{this} to be at least ' + n
673
+ );
674
+ }
675
+ }
676
+
677
+ Assertion.addMethod('below', assertBelow);
678
+ Assertion.addMethod('lt', assertBelow);
679
+ Assertion.addMethod('lessThan', assertBelow);
680
+
681
+ /**
682
+ * ### .most(value)
683
+ *
684
+ * Asserts that the target is less than or equal to `value`.
685
+ *
686
+ * expect(5).to.be.at.most(5);
687
+ *
688
+ * Can also be used in conjunction with `length` to
689
+ * assert a maximum length. The benefit being a
690
+ * more informative error message than if the length
691
+ * was supplied directly.
692
+ *
693
+ * expect('foo').to.have.length.of.at.most(4);
694
+ * expect([ 1, 2, 3 ]).to.have.length.of.at.most(3);
695
+ *
696
+ * @name most
697
+ * @alias lte
698
+ * @param {Number} value
699
+ * @param {String} message _optional_
700
+ * @namespace BDD
701
+ * @api public
702
+ */
703
+
704
+ function assertMost (n, msg) {
705
+ if (msg) flag(this, 'message', msg);
706
+ var obj = flag(this, 'object');
707
+ if (flag(this, 'doLength')) {
708
+ new Assertion(obj, msg).to.have.property('length');
709
+ var len = obj.length;
710
+ this.assert(
711
+ len <= n
712
+ , 'expected #{this} to have a length at most #{exp} but got #{act}'
713
+ , 'expected #{this} to have a length above #{exp}'
714
+ , n
715
+ , len
716
+ );
717
+ } else {
718
+ this.assert(
719
+ obj <= n
720
+ , 'expected #{this} to be at most ' + n
721
+ , 'expected #{this} to be above ' + n
722
+ );
723
+ }
724
+ }
725
+
726
+ Assertion.addMethod('most', assertMost);
727
+ Assertion.addMethod('lte', assertMost);
728
+
729
+ /**
730
+ * ### .within(start, finish)
731
+ *
732
+ * Asserts that the target is within a range.
733
+ *
734
+ * expect(7).to.be.within(5,10);
735
+ *
736
+ * Can also be used in conjunction with `length` to
737
+ * assert a length range. The benefit being a
738
+ * more informative error message than if the length
739
+ * was supplied directly.
740
+ *
741
+ * expect('foo').to.have.length.within(2,4);
742
+ * expect([ 1, 2, 3 ]).to.have.length.within(2,4);
743
+ *
744
+ * @name within
745
+ * @param {Number} start lowerbound inclusive
746
+ * @param {Number} finish upperbound inclusive
747
+ * @param {String} message _optional_
748
+ * @namespace BDD
749
+ * @api public
750
+ */
751
+
752
+ Assertion.addMethod('within', function (start, finish, msg) {
753
+ if (msg) flag(this, 'message', msg);
754
+ var obj = flag(this, 'object')
755
+ , range = start + '..' + finish;
756
+ if (flag(this, 'doLength')) {
757
+ new Assertion(obj, msg).to.have.property('length');
758
+ var len = obj.length;
759
+ this.assert(
760
+ len >= start && len <= finish
761
+ , 'expected #{this} to have a length within ' + range
762
+ , 'expected #{this} to not have a length within ' + range
763
+ );
764
+ } else {
765
+ this.assert(
766
+ obj >= start && obj <= finish
767
+ , 'expected #{this} to be within ' + range
768
+ , 'expected #{this} to not be within ' + range
769
+ );
770
+ }
771
+ });
772
+
773
+ /**
774
+ * ### .instanceof(constructor)
775
+ *
776
+ * Asserts that the target is an instance of `constructor`.
777
+ *
778
+ * var Tea = function (name) { this.name = name; }
779
+ * , Chai = new Tea('chai');
780
+ *
781
+ * expect(Chai).to.be.an.instanceof(Tea);
782
+ * expect([ 1, 2, 3 ]).to.be.instanceof(Array);
783
+ *
784
+ * @name instanceof
785
+ * @param {Constructor} constructor
786
+ * @param {String} message _optional_
787
+ * @alias instanceOf
788
+ * @namespace BDD
789
+ * @api public
790
+ */
791
+
792
+ function assertInstanceOf (constructor, msg) {
793
+ if (msg) flag(this, 'message', msg);
794
+ var name = _.getName(constructor);
795
+ this.assert(
796
+ flag(this, 'object') instanceof constructor
797
+ , 'expected #{this} to be an instance of ' + name
798
+ , 'expected #{this} to not be an instance of ' + name
799
+ );
800
+ };
801
+
802
+ Assertion.addMethod('instanceof', assertInstanceOf);
803
+ Assertion.addMethod('instanceOf', assertInstanceOf);
804
+
805
+ /**
806
+ * ### .property(name, [value])
807
+ *
808
+ * Asserts that the target has a property `name`, optionally asserting that
809
+ * the value of that property is strictly equal to `value`.
810
+ * If the `deep` flag is set, you can use dot- and bracket-notation for deep
811
+ * references into objects and arrays.
812
+ *
813
+ * // simple referencing
814
+ * var obj = { foo: 'bar' };
815
+ * expect(obj).to.have.property('foo');
816
+ * expect(obj).to.have.property('foo', 'bar');
817
+ *
818
+ * // deep referencing
819
+ * var deepObj = {
820
+ * green: { tea: 'matcha' }
821
+ * , teas: [ 'chai', 'matcha', { tea: 'konacha' } ]
822
+ * };
823
+ *
824
+ * expect(deepObj).to.have.deep.property('green.tea', 'matcha');
825
+ * expect(deepObj).to.have.deep.property('teas[1]', 'matcha');
826
+ * expect(deepObj).to.have.deep.property('teas[2].tea', 'konacha');
827
+ *
828
+ * You can also use an array as the starting point of a `deep.property`
829
+ * assertion, or traverse nested arrays.
830
+ *
831
+ * var arr = [
832
+ * [ 'chai', 'matcha', 'konacha' ]
833
+ * , [ { tea: 'chai' }
834
+ * , { tea: 'matcha' }
835
+ * , { tea: 'konacha' } ]
836
+ * ];
837
+ *
838
+ * expect(arr).to.have.deep.property('[0][1]', 'matcha');
839
+ * expect(arr).to.have.deep.property('[1][2].tea', 'konacha');
840
+ *
841
+ * Furthermore, `property` changes the subject of the assertion
842
+ * to be the value of that property from the original object. This
843
+ * permits for further chainable assertions on that property.
844
+ *
845
+ * expect(obj).to.have.property('foo')
846
+ * .that.is.a('string');
847
+ * expect(deepObj).to.have.property('green')
848
+ * .that.is.an('object')
849
+ * .that.deep.equals({ tea: 'matcha' });
850
+ * expect(deepObj).to.have.property('teas')
851
+ * .that.is.an('array')
852
+ * .with.deep.property('[2]')
853
+ * .that.deep.equals({ tea: 'konacha' });
854
+ *
855
+ * Note that dots and bracket in `name` must be backslash-escaped when
856
+ * the `deep` flag is set, while they must NOT be escaped when the `deep`
857
+ * flag is not set.
858
+ *
859
+ * // simple referencing
860
+ * var css = { '.link[target]': 42 };
861
+ * expect(css).to.have.property('.link[target]', 42);
862
+ *
863
+ * // deep referencing
864
+ * var deepCss = { '.link': { '[target]': 42 }};
865
+ * expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42);
866
+ *
867
+ * @name property
868
+ * @alias deep.property
869
+ * @param {String} name
870
+ * @param {Mixed} value (optional)
871
+ * @param {String} message _optional_
872
+ * @returns value of property for chaining
873
+ * @namespace BDD
874
+ * @api public
875
+ */
876
+
877
+ Assertion.addMethod('property', function (name, val, msg) {
878
+ if (msg) flag(this, 'message', msg);
879
+
880
+ var isDeep = !!flag(this, 'deep')
881
+ , descriptor = isDeep ? 'deep property ' : 'property '
882
+ , negate = flag(this, 'negate')
883
+ , obj = flag(this, 'object')
884
+ , pathInfo = isDeep ? _.getPathInfo(name, obj) : null
885
+ , hasProperty = isDeep
886
+ ? pathInfo.exists
887
+ : _.hasProperty(name, obj)
888
+ , value = isDeep
889
+ ? pathInfo.value
890
+ : obj[name];
891
+
892
+ if (negate && arguments.length > 1) {
893
+ if (undefined === value) {
894
+ msg = (msg != null) ? msg + ': ' : '';
895
+ throw new Error(msg + _.inspect(obj) + ' has no ' + descriptor + _.inspect(name));
896
+ }
897
+ } else {
898
+ this.assert(
899
+ hasProperty
900
+ , 'expected #{this} to have a ' + descriptor + _.inspect(name)
901
+ , 'expected #{this} to not have ' + descriptor + _.inspect(name));
902
+ }
903
+
904
+ if (arguments.length > 1) {
905
+ this.assert(
906
+ val === value
907
+ , 'expected #{this} to have a ' + descriptor + _.inspect(name) + ' of #{exp}, but got #{act}'
908
+ , 'expected #{this} to not have a ' + descriptor + _.inspect(name) + ' of #{act}'
909
+ , val
910
+ , value
911
+ );
912
+ }
913
+
914
+ flag(this, 'object', value);
915
+ });
916
+
917
+
918
+ /**
919
+ * ### .ownProperty(name)
920
+ *
921
+ * Asserts that the target has an own property `name`.
922
+ *
923
+ * expect('test').to.have.ownProperty('length');
924
+ *
925
+ * @name ownProperty
926
+ * @alias haveOwnProperty
927
+ * @param {String} name
928
+ * @param {String} message _optional_
929
+ * @namespace BDD
930
+ * @api public
931
+ */
932
+
933
+ function assertOwnProperty (name, msg) {
934
+ if (msg) flag(this, 'message', msg);
935
+ var obj = flag(this, 'object');
936
+ this.assert(
937
+ obj.hasOwnProperty(name)
938
+ , 'expected #{this} to have own property ' + _.inspect(name)
939
+ , 'expected #{this} to not have own property ' + _.inspect(name)
940
+ );
941
+ }
942
+
943
+ Assertion.addMethod('ownProperty', assertOwnProperty);
944
+ Assertion.addMethod('haveOwnProperty', assertOwnProperty);
945
+
946
+ /**
947
+ * ### .ownPropertyDescriptor(name[, descriptor[, message]])
948
+ *
949
+ * Asserts that the target has an own property descriptor `name`, that optionally matches `descriptor`.
950
+ *
951
+ * expect('test').to.have.ownPropertyDescriptor('length');
952
+ * expect('test').to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 4 });
953
+ * expect('test').not.to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 3 });
954
+ * expect('test').ownPropertyDescriptor('length').to.have.property('enumerable', false);
955
+ * expect('test').ownPropertyDescriptor('length').to.have.keys('value');
956
+ *
957
+ * @name ownPropertyDescriptor
958
+ * @alias haveOwnPropertyDescriptor
959
+ * @param {String} name
960
+ * @param {Object} descriptor _optional_
961
+ * @param {String} message _optional_
962
+ * @namespace BDD
963
+ * @api public
964
+ */
965
+
966
+ function assertOwnPropertyDescriptor (name, descriptor, msg) {
967
+ if (typeof descriptor === 'string') {
968
+ msg = descriptor;
969
+ descriptor = null;
970
+ }
971
+ if (msg) flag(this, 'message', msg);
972
+ var obj = flag(this, 'object');
973
+ var actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name);
974
+ if (actualDescriptor && descriptor) {
975
+ this.assert(
976
+ _.eql(descriptor, actualDescriptor)
977
+ , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to match ' + _.inspect(descriptor) + ', got ' + _.inspect(actualDescriptor)
978
+ , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to not match ' + _.inspect(descriptor)
979
+ , descriptor
980
+ , actualDescriptor
981
+ , true
982
+ );
983
+ } else {
984
+ this.assert(
985
+ actualDescriptor
986
+ , 'expected #{this} to have an own property descriptor for ' + _.inspect(name)
987
+ , 'expected #{this} to not have an own property descriptor for ' + _.inspect(name)
988
+ );
989
+ }
990
+ flag(this, 'object', actualDescriptor);
991
+ }
992
+
993
+ Assertion.addMethod('ownPropertyDescriptor', assertOwnPropertyDescriptor);
994
+ Assertion.addMethod('haveOwnPropertyDescriptor', assertOwnPropertyDescriptor);
995
+
996
+ /**
997
+ * ### .length
998
+ *
999
+ * Sets the `doLength` flag later used as a chain precursor to a value
1000
+ * comparison for the `length` property.
1001
+ *
1002
+ * expect('foo').to.have.length.above(2);
1003
+ * expect([ 1, 2, 3 ]).to.have.length.above(2);
1004
+ * expect('foo').to.have.length.below(4);
1005
+ * expect([ 1, 2, 3 ]).to.have.length.below(4);
1006
+ * expect('foo').to.have.length.within(2,4);
1007
+ * expect([ 1, 2, 3 ]).to.have.length.within(2,4);
1008
+ *
1009
+ * *Deprecation notice:* Using `length` as an assertion will be deprecated
1010
+ * in version 2.4.0 and removed in 3.0.0. Code using the old style of
1011
+ * asserting for `length` property value using `length(value)` should be
1012
+ * switched to use `lengthOf(value)` instead.
1013
+ *
1014
+ * @name length
1015
+ * @namespace BDD
1016
+ * @api public
1017
+ */
1018
+
1019
+ /**
1020
+ * ### .lengthOf(value[, message])
1021
+ *
1022
+ * Asserts that the target's `length` property has
1023
+ * the expected value.
1024
+ *
1025
+ * expect([ 1, 2, 3]).to.have.lengthOf(3);
1026
+ * expect('foobar').to.have.lengthOf(6);
1027
+ *
1028
+ * @name lengthOf
1029
+ * @param {Number} length
1030
+ * @param {String} message _optional_
1031
+ * @namespace BDD
1032
+ * @api public
1033
+ */
1034
+
1035
+ function assertLengthChain () {
1036
+ flag(this, 'doLength', true);
1037
+ }
1038
+
1039
+ function assertLength (n, msg) {
1040
+ if (msg) flag(this, 'message', msg);
1041
+ var obj = flag(this, 'object');
1042
+ new Assertion(obj, msg).to.have.property('length');
1043
+ var len = obj.length;
1044
+
1045
+ this.assert(
1046
+ len == n
1047
+ , 'expected #{this} to have a length of #{exp} but got #{act}'
1048
+ , 'expected #{this} to not have a length of #{act}'
1049
+ , n
1050
+ , len
1051
+ );
1052
+ }
1053
+
1054
+ Assertion.addChainableMethod('length', assertLength, assertLengthChain);
1055
+ Assertion.addMethod('lengthOf', assertLength);
1056
+
1057
+ /**
1058
+ * ### .match(regexp)
1059
+ *
1060
+ * Asserts that the target matches a regular expression.
1061
+ *
1062
+ * expect('foobar').to.match(/^foo/);
1063
+ *
1064
+ * @name match
1065
+ * @alias matches
1066
+ * @param {RegExp} RegularExpression
1067
+ * @param {String} message _optional_
1068
+ * @namespace BDD
1069
+ * @api public
1070
+ */
1071
+ function assertMatch(re, msg) {
1072
+ if (msg) flag(this, 'message', msg);
1073
+ var obj = flag(this, 'object');
1074
+ this.assert(
1075
+ re.exec(obj)
1076
+ , 'expected #{this} to match ' + re
1077
+ , 'expected #{this} not to match ' + re
1078
+ );
1079
+ }
1080
+
1081
+ Assertion.addMethod('match', assertMatch);
1082
+ Assertion.addMethod('matches', assertMatch);
1083
+
1084
+ /**
1085
+ * ### .string(string)
1086
+ *
1087
+ * Asserts that the string target contains another string.
1088
+ *
1089
+ * expect('foobar').to.have.string('bar');
1090
+ *
1091
+ * @name string
1092
+ * @param {String} string
1093
+ * @param {String} message _optional_
1094
+ * @namespace BDD
1095
+ * @api public
1096
+ */
1097
+
1098
+ Assertion.addMethod('string', function (str, msg) {
1099
+ if (msg) flag(this, 'message', msg);
1100
+ var obj = flag(this, 'object');
1101
+ new Assertion(obj, msg).is.a('string');
1102
+
1103
+ this.assert(
1104
+ ~obj.indexOf(str)
1105
+ , 'expected #{this} to contain ' + _.inspect(str)
1106
+ , 'expected #{this} to not contain ' + _.inspect(str)
1107
+ );
1108
+ });
1109
+
1110
+
1111
+ /**
1112
+ * ### .keys(key1, [key2], [...])
1113
+ *
1114
+ * Asserts that the target contains any or all of the passed-in keys.
1115
+ * Use in combination with `any`, `all`, `contains`, or `have` will affect
1116
+ * what will pass.
1117
+ *
1118
+ * When used in conjunction with `any`, at least one key that is passed
1119
+ * in must exist in the target object. This is regardless whether or not
1120
+ * the `have` or `contain` qualifiers are used. Note, either `any` or `all`
1121
+ * should be used in the assertion. If neither are used, the assertion is
1122
+ * defaulted to `all`.
1123
+ *
1124
+ * When both `all` and `contain` are used, the target object must have at
1125
+ * least all of the passed-in keys but may have more keys not listed.
1126
+ *
1127
+ * When both `all` and `have` are used, the target object must both contain
1128
+ * all of the passed-in keys AND the number of keys in the target object must
1129
+ * match the number of keys passed in (in other words, a target object must
1130
+ * have all and only all of the passed-in keys).
1131
+ *
1132
+ * expect({ foo: 1, bar: 2 }).to.have.any.keys('foo', 'baz');
1133
+ * expect({ foo: 1, bar: 2 }).to.have.any.keys('foo');
1134
+ * expect({ foo: 1, bar: 2 }).to.contain.any.keys('bar', 'baz');
1135
+ * expect({ foo: 1, bar: 2 }).to.contain.any.keys(['foo']);
1136
+ * expect({ foo: 1, bar: 2 }).to.contain.any.keys({'foo': 6});
1137
+ * expect({ foo: 1, bar: 2 }).to.have.all.keys(['bar', 'foo']);
1138
+ * expect({ foo: 1, bar: 2 }).to.have.all.keys({'bar': 6, 'foo': 7});
1139
+ * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys(['bar', 'foo']);
1140
+ * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys({'bar': 6});
1141
+ *
1142
+ *
1143
+ * @name keys
1144
+ * @alias key
1145
+ * @param {...String|Array|Object} keys
1146
+ * @namespace BDD
1147
+ * @api public
1148
+ */
1149
+
1150
+ function assertKeys (keys) {
1151
+ var obj = flag(this, 'object')
1152
+ , str
1153
+ , ok = true
1154
+ , mixedArgsMsg = 'keys must be given single argument of Array|Object|String, or multiple String arguments';
1155
+
1156
+ switch (_.type(keys)) {
1157
+ case "array":
1158
+ if (arguments.length > 1) throw (new Error(mixedArgsMsg));
1159
+ break;
1160
+ case "object":
1161
+ if (arguments.length > 1) throw (new Error(mixedArgsMsg));
1162
+ keys = Object.keys(keys);
1163
+ break;
1164
+ default:
1165
+ keys = Array.prototype.slice.call(arguments);
1166
+ }
1167
+
1168
+ if (!keys.length) throw new Error('keys required');
1169
+
1170
+ var actual = Object.keys(obj)
1171
+ , expected = keys
1172
+ , len = keys.length
1173
+ , any = flag(this, 'any')
1174
+ , all = flag(this, 'all');
1175
+
1176
+ if (!any && !all) {
1177
+ all = true;
1178
+ }
1179
+
1180
+ // Has any
1181
+ if (any) {
1182
+ var intersection = expected.filter(function(key) {
1183
+ return ~actual.indexOf(key);
1184
+ });
1185
+ ok = intersection.length > 0;
1186
+ }
1187
+
1188
+ // Has all
1189
+ if (all) {
1190
+ ok = keys.every(function(key){
1191
+ return ~actual.indexOf(key);
1192
+ });
1193
+ if (!flag(this, 'negate') && !flag(this, 'contains')) {
1194
+ ok = ok && keys.length == actual.length;
1195
+ }
1196
+ }
1197
+
1198
+ // Key string
1199
+ if (len > 1) {
1200
+ keys = keys.map(function(key){
1201
+ return _.inspect(key);
1202
+ });
1203
+ var last = keys.pop();
1204
+ if (all) {
1205
+ str = keys.join(', ') + ', and ' + last;
1206
+ }
1207
+ if (any) {
1208
+ str = keys.join(', ') + ', or ' + last;
1209
+ }
1210
+ } else {
1211
+ str = _.inspect(keys[0]);
1212
+ }
1213
+
1214
+ // Form
1215
+ str = (len > 1 ? 'keys ' : 'key ') + str;
1216
+
1217
+ // Have / include
1218
+ str = (flag(this, 'contains') ? 'contain ' : 'have ') + str;
1219
+
1220
+ // Assertion
1221
+ this.assert(
1222
+ ok
1223
+ , 'expected #{this} to ' + str
1224
+ , 'expected #{this} to not ' + str
1225
+ , expected.slice(0).sort()
1226
+ , actual.sort()
1227
+ , true
1228
+ );
1229
+ }
1230
+
1231
+ Assertion.addMethod('keys', assertKeys);
1232
+ Assertion.addMethod('key', assertKeys);
1233
+
1234
+ /**
1235
+ * ### .throw(constructor)
1236
+ *
1237
+ * Asserts that the function target will throw a specific error, or specific type of error
1238
+ * (as determined using `instanceof`), optionally with a RegExp or string inclusion test
1239
+ * for the error's message.
1240
+ *
1241
+ * var err = new ReferenceError('This is a bad function.');
1242
+ * var fn = function () { throw err; }
1243
+ * expect(fn).to.throw(ReferenceError);
1244
+ * expect(fn).to.throw(Error);
1245
+ * expect(fn).to.throw(/bad function/);
1246
+ * expect(fn).to.not.throw('good function');
1247
+ * expect(fn).to.throw(ReferenceError, /bad function/);
1248
+ * expect(fn).to.throw(err);
1249
+ *
1250
+ * Please note that when a throw expectation is negated, it will check each
1251
+ * parameter independently, starting with error constructor type. The appropriate way
1252
+ * to check for the existence of a type of error but for a message that does not match
1253
+ * is to use `and`.
1254
+ *
1255
+ * expect(fn).to.throw(ReferenceError)
1256
+ * .and.not.throw(/good function/);
1257
+ *
1258
+ * @name throw
1259
+ * @alias throws
1260
+ * @alias Throw
1261
+ * @param {ErrorConstructor} constructor
1262
+ * @param {String|RegExp} expected error message
1263
+ * @param {String} message _optional_
1264
+ * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
1265
+ * @returns error for chaining (null if no error)
1266
+ * @namespace BDD
1267
+ * @api public
1268
+ */
1269
+
1270
+ function assertThrows (constructor, errMsg, msg) {
1271
+ if (msg) flag(this, 'message', msg);
1272
+ var obj = flag(this, 'object');
1273
+ new Assertion(obj, msg).is.a('function');
1274
+
1275
+ var thrown = false
1276
+ , desiredError = null
1277
+ , name = null
1278
+ , thrownError = null;
1279
+
1280
+ if (arguments.length === 0) {
1281
+ errMsg = null;
1282
+ constructor = null;
1283
+ } else if (constructor && (constructor instanceof RegExp || 'string' === typeof constructor)) {
1284
+ errMsg = constructor;
1285
+ constructor = null;
1286
+ } else if (constructor && constructor instanceof Error) {
1287
+ desiredError = constructor;
1288
+ constructor = null;
1289
+ errMsg = null;
1290
+ } else if (typeof constructor === 'function') {
1291
+ name = constructor.prototype.name;
1292
+ if (!name || (name === 'Error' && constructor !== Error)) {
1293
+ name = constructor.name || (new constructor()).name;
1294
+ }
1295
+ } else {
1296
+ constructor = null;
1297
+ }
1298
+
1299
+ try {
1300
+ obj();
1301
+ } catch (err) {
1302
+ // first, check desired error
1303
+ if (desiredError) {
1304
+ this.assert(
1305
+ err === desiredError
1306
+ , 'expected #{this} to throw #{exp} but #{act} was thrown'
1307
+ , 'expected #{this} to not throw #{exp}'
1308
+ , (desiredError instanceof Error ? desiredError.toString() : desiredError)
1309
+ , (err instanceof Error ? err.toString() : err)
1310
+ );
1311
+
1312
+ flag(this, 'object', err);
1313
+ return this;
1314
+ }
1315
+
1316
+ // next, check constructor
1317
+ if (constructor) {
1318
+ this.assert(
1319
+ err instanceof constructor
1320
+ , 'expected #{this} to throw #{exp} but #{act} was thrown'
1321
+ , 'expected #{this} to not throw #{exp} but #{act} was thrown'
1322
+ , name
1323
+ , (err instanceof Error ? err.toString() : err)
1324
+ );
1325
+
1326
+ if (!errMsg) {
1327
+ flag(this, 'object', err);
1328
+ return this;
1329
+ }
1330
+ }
1331
+
1332
+ // next, check message
1333
+ var message = 'error' === _.type(err) && "message" in err
1334
+ ? err.message
1335
+ : '' + err;
1336
+
1337
+ if ((message != null) && errMsg && errMsg instanceof RegExp) {
1338
+ this.assert(
1339
+ errMsg.exec(message)
1340
+ , 'expected #{this} to throw error matching #{exp} but got #{act}'
1341
+ , 'expected #{this} to throw error not matching #{exp}'
1342
+ , errMsg
1343
+ , message
1344
+ );
1345
+
1346
+ flag(this, 'object', err);
1347
+ return this;
1348
+ } else if ((message != null) && errMsg && 'string' === typeof errMsg) {
1349
+ this.assert(
1350
+ ~message.indexOf(errMsg)
1351
+ , 'expected #{this} to throw error including #{exp} but got #{act}'
1352
+ , 'expected #{this} to throw error not including #{act}'
1353
+ , errMsg
1354
+ , message
1355
+ );
1356
+
1357
+ flag(this, 'object', err);
1358
+ return this;
1359
+ } else {
1360
+ thrown = true;
1361
+ thrownError = err;
1362
+ }
1363
+ }
1364
+
1365
+ var actuallyGot = ''
1366
+ , expectedThrown = name !== null
1367
+ ? name
1368
+ : desiredError
1369
+ ? '#{exp}' //_.inspect(desiredError)
1370
+ : 'an error';
1371
+
1372
+ if (thrown) {
1373
+ actuallyGot = ' but #{act} was thrown'
1374
+ }
1375
+
1376
+ this.assert(
1377
+ thrown === true
1378
+ , 'expected #{this} to throw ' + expectedThrown + actuallyGot
1379
+ , 'expected #{this} to not throw ' + expectedThrown + actuallyGot
1380
+ , (desiredError instanceof Error ? desiredError.toString() : desiredError)
1381
+ , (thrownError instanceof Error ? thrownError.toString() : thrownError)
1382
+ );
1383
+
1384
+ flag(this, 'object', thrownError);
1385
+ };
1386
+
1387
+ Assertion.addMethod('throw', assertThrows);
1388
+ Assertion.addMethod('throws', assertThrows);
1389
+ Assertion.addMethod('Throw', assertThrows);
1390
+
1391
+ /**
1392
+ * ### .respondTo(method)
1393
+ *
1394
+ * Asserts that the object or class target will respond to a method.
1395
+ *
1396
+ * Klass.prototype.bar = function(){};
1397
+ * expect(Klass).to.respondTo('bar');
1398
+ * expect(obj).to.respondTo('bar');
1399
+ *
1400
+ * To check if a constructor will respond to a static function,
1401
+ * set the `itself` flag.
1402
+ *
1403
+ * Klass.baz = function(){};
1404
+ * expect(Klass).itself.to.respondTo('baz');
1405
+ *
1406
+ * @name respondTo
1407
+ * @alias respondsTo
1408
+ * @param {String} method
1409
+ * @param {String} message _optional_
1410
+ * @namespace BDD
1411
+ * @api public
1412
+ */
1413
+
1414
+ function respondTo (method, msg) {
1415
+ if (msg) flag(this, 'message', msg);
1416
+ var obj = flag(this, 'object')
1417
+ , itself = flag(this, 'itself')
1418
+ , context = ('function' === _.type(obj) && !itself)
1419
+ ? obj.prototype[method]
1420
+ : obj[method];
1421
+
1422
+ this.assert(
1423
+ 'function' === typeof context
1424
+ , 'expected #{this} to respond to ' + _.inspect(method)
1425
+ , 'expected #{this} to not respond to ' + _.inspect(method)
1426
+ );
1427
+ }
1428
+
1429
+ Assertion.addMethod('respondTo', respondTo);
1430
+ Assertion.addMethod('respondsTo', respondTo);
1431
+
1432
+ /**
1433
+ * ### .itself
1434
+ *
1435
+ * Sets the `itself` flag, later used by the `respondTo` assertion.
1436
+ *
1437
+ * function Foo() {}
1438
+ * Foo.bar = function() {}
1439
+ * Foo.prototype.baz = function() {}
1440
+ *
1441
+ * expect(Foo).itself.to.respondTo('bar');
1442
+ * expect(Foo).itself.not.to.respondTo('baz');
1443
+ *
1444
+ * @name itself
1445
+ * @namespace BDD
1446
+ * @api public
1447
+ */
1448
+
1449
+ Assertion.addProperty('itself', function () {
1450
+ flag(this, 'itself', true);
1451
+ });
1452
+
1453
+ /**
1454
+ * ### .satisfy(method)
1455
+ *
1456
+ * Asserts that the target passes a given truth test.
1457
+ *
1458
+ * expect(1).to.satisfy(function(num) { return num > 0; });
1459
+ *
1460
+ * @name satisfy
1461
+ * @alias satisfies
1462
+ * @param {Function} matcher
1463
+ * @param {String} message _optional_
1464
+ * @namespace BDD
1465
+ * @api public
1466
+ */
1467
+
1468
+ function satisfy (matcher, msg) {
1469
+ if (msg) flag(this, 'message', msg);
1470
+ var obj = flag(this, 'object');
1471
+ var result = matcher(obj);
1472
+ this.assert(
1473
+ result
1474
+ , 'expected #{this} to satisfy ' + _.objDisplay(matcher)
1475
+ , 'expected #{this} to not satisfy' + _.objDisplay(matcher)
1476
+ , this.negate ? false : true
1477
+ , result
1478
+ );
1479
+ }
1480
+
1481
+ Assertion.addMethod('satisfy', satisfy);
1482
+ Assertion.addMethod('satisfies', satisfy);
1483
+
1484
+ /**
1485
+ * ### .closeTo(expected, delta)
1486
+ *
1487
+ * Asserts that the target is equal `expected`, to within a +/- `delta` range.
1488
+ *
1489
+ * expect(1.5).to.be.closeTo(1, 0.5);
1490
+ *
1491
+ * @name closeTo
1492
+ * @alias approximately
1493
+ * @param {Number} expected
1494
+ * @param {Number} delta
1495
+ * @param {String} message _optional_
1496
+ * @namespace BDD
1497
+ * @api public
1498
+ */
1499
+
1500
+ function closeTo(expected, delta, msg) {
1501
+ if (msg) flag(this, 'message', msg);
1502
+ var obj = flag(this, 'object');
1503
+
1504
+ new Assertion(obj, msg).is.a('number');
1505
+ if (_.type(expected) !== 'number' || _.type(delta) !== 'number') {
1506
+ throw new Error('the arguments to closeTo or approximately must be numbers');
1507
+ }
1508
+
1509
+ this.assert(
1510
+ Math.abs(obj - expected) <= delta
1511
+ , 'expected #{this} to be close to ' + expected + ' +/- ' + delta
1512
+ , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta
1513
+ );
1514
+ }
1515
+
1516
+ Assertion.addMethod('closeTo', closeTo);
1517
+ Assertion.addMethod('approximately', closeTo);
1518
+
1519
+ function isSubsetOf(subset, superset, cmp) {
1520
+ return subset.every(function(elem) {
1521
+ if (!cmp) return superset.indexOf(elem) !== -1;
1522
+
1523
+ return superset.some(function(elem2) {
1524
+ return cmp(elem, elem2);
1525
+ });
1526
+ })
1527
+ }
1528
+
1529
+ /**
1530
+ * ### .members(set)
1531
+ *
1532
+ * Asserts that the target is a superset of `set`,
1533
+ * or that the target and `set` have the same strictly-equal (===) members.
1534
+ * Alternately, if the `deep` flag is set, set members are compared for deep
1535
+ * equality.
1536
+ *
1537
+ * expect([1, 2, 3]).to.include.members([3, 2]);
1538
+ * expect([1, 2, 3]).to.not.include.members([3, 2, 8]);
1539
+ *
1540
+ * expect([4, 2]).to.have.members([2, 4]);
1541
+ * expect([5, 2]).to.not.have.members([5, 2, 1]);
1542
+ *
1543
+ * expect([{ id: 1 }]).to.deep.include.members([{ id: 1 }]);
1544
+ *
1545
+ * @name members
1546
+ * @param {Array} set
1547
+ * @param {String} message _optional_
1548
+ * @namespace BDD
1549
+ * @api public
1550
+ */
1551
+
1552
+ Assertion.addMethod('members', function (subset, msg) {
1553
+ if (msg) flag(this, 'message', msg);
1554
+ var obj = flag(this, 'object');
1555
+
1556
+ new Assertion(obj).to.be.an('array');
1557
+ new Assertion(subset).to.be.an('array');
1558
+
1559
+ var cmp = flag(this, 'deep') ? _.eql : undefined;
1560
+
1561
+ if (flag(this, 'contains')) {
1562
+ return this.assert(
1563
+ isSubsetOf(subset, obj, cmp)
1564
+ , 'expected #{this} to be a superset of #{act}'
1565
+ , 'expected #{this} to not be a superset of #{act}'
1566
+ , obj
1567
+ , subset
1568
+ );
1569
+ }
1570
+
1571
+ this.assert(
1572
+ isSubsetOf(obj, subset, cmp) && isSubsetOf(subset, obj, cmp)
1573
+ , 'expected #{this} to have the same members as #{act}'
1574
+ , 'expected #{this} to not have the same members as #{act}'
1575
+ , obj
1576
+ , subset
1577
+ );
1578
+ });
1579
+
1580
+ /**
1581
+ * ### .oneOf(list)
1582
+ *
1583
+ * Assert that a value appears somewhere in the top level of array `list`.
1584
+ *
1585
+ * expect('a').to.be.oneOf(['a', 'b', 'c']);
1586
+ * expect(9).to.not.be.oneOf(['z']);
1587
+ * expect([3]).to.not.be.oneOf([1, 2, [3]]);
1588
+ *
1589
+ * var three = [3];
1590
+ * // for object-types, contents are not compared
1591
+ * expect(three).to.not.be.oneOf([1, 2, [3]]);
1592
+ * // comparing references works
1593
+ * expect(three).to.be.oneOf([1, 2, three]);
1594
+ *
1595
+ * @name oneOf
1596
+ * @param {Array<*>} list
1597
+ * @param {String} message _optional_
1598
+ * @namespace BDD
1599
+ * @api public
1600
+ */
1601
+
1602
+ function oneOf (list, msg) {
1603
+ if (msg) flag(this, 'message', msg);
1604
+ var expected = flag(this, 'object');
1605
+ new Assertion(list).to.be.an('array');
1606
+
1607
+ this.assert(
1608
+ list.indexOf(expected) > -1
1609
+ , 'expected #{this} to be one of #{exp}'
1610
+ , 'expected #{this} to not be one of #{exp}'
1611
+ , list
1612
+ , expected
1613
+ );
1614
+ }
1615
+
1616
+ Assertion.addMethod('oneOf', oneOf);
1617
+
1618
+
1619
+ /**
1620
+ * ### .change(function)
1621
+ *
1622
+ * Asserts that a function changes an object property
1623
+ *
1624
+ * var obj = { val: 10 };
1625
+ * var fn = function() { obj.val += 3 };
1626
+ * var noChangeFn = function() { return 'foo' + 'bar'; }
1627
+ * expect(fn).to.change(obj, 'val');
1628
+ * expect(noChangeFn).to.not.change(obj, 'val')
1629
+ *
1630
+ * @name change
1631
+ * @alias changes
1632
+ * @alias Change
1633
+ * @param {String} object
1634
+ * @param {String} property name
1635
+ * @param {String} message _optional_
1636
+ * @namespace BDD
1637
+ * @api public
1638
+ */
1639
+
1640
+ function assertChanges (object, prop, msg) {
1641
+ if (msg) flag(this, 'message', msg);
1642
+ var fn = flag(this, 'object');
1643
+ new Assertion(object, msg).to.have.property(prop);
1644
+ new Assertion(fn).is.a('function');
1645
+
1646
+ var initial = object[prop];
1647
+ fn();
1648
+
1649
+ this.assert(
1650
+ initial !== object[prop]
1651
+ , 'expected .' + prop + ' to change'
1652
+ , 'expected .' + prop + ' to not change'
1653
+ );
1654
+ }
1655
+
1656
+ Assertion.addChainableMethod('change', assertChanges);
1657
+ Assertion.addChainableMethod('changes', assertChanges);
1658
+
1659
+ /**
1660
+ * ### .increase(function)
1661
+ *
1662
+ * Asserts that a function increases an object property
1663
+ *
1664
+ * var obj = { val: 10 };
1665
+ * var fn = function() { obj.val = 15 };
1666
+ * expect(fn).to.increase(obj, 'val');
1667
+ *
1668
+ * @name increase
1669
+ * @alias increases
1670
+ * @alias Increase
1671
+ * @param {String} object
1672
+ * @param {String} property name
1673
+ * @param {String} message _optional_
1674
+ * @namespace BDD
1675
+ * @api public
1676
+ */
1677
+
1678
+ function assertIncreases (object, prop, msg) {
1679
+ if (msg) flag(this, 'message', msg);
1680
+ var fn = flag(this, 'object');
1681
+ new Assertion(object, msg).to.have.property(prop);
1682
+ new Assertion(fn).is.a('function');
1683
+
1684
+ var initial = object[prop];
1685
+ fn();
1686
+
1687
+ this.assert(
1688
+ object[prop] - initial > 0
1689
+ , 'expected .' + prop + ' to increase'
1690
+ , 'expected .' + prop + ' to not increase'
1691
+ );
1692
+ }
1693
+
1694
+ Assertion.addChainableMethod('increase', assertIncreases);
1695
+ Assertion.addChainableMethod('increases', assertIncreases);
1696
+
1697
+ /**
1698
+ * ### .decrease(function)
1699
+ *
1700
+ * Asserts that a function decreases an object property
1701
+ *
1702
+ * var obj = { val: 10 };
1703
+ * var fn = function() { obj.val = 5 };
1704
+ * expect(fn).to.decrease(obj, 'val');
1705
+ *
1706
+ * @name decrease
1707
+ * @alias decreases
1708
+ * @alias Decrease
1709
+ * @param {String} object
1710
+ * @param {String} property name
1711
+ * @param {String} message _optional_
1712
+ * @namespace BDD
1713
+ * @api public
1714
+ */
1715
+
1716
+ function assertDecreases (object, prop, msg) {
1717
+ if (msg) flag(this, 'message', msg);
1718
+ var fn = flag(this, 'object');
1719
+ new Assertion(object, msg).to.have.property(prop);
1720
+ new Assertion(fn).is.a('function');
1721
+
1722
+ var initial = object[prop];
1723
+ fn();
1724
+
1725
+ this.assert(
1726
+ object[prop] - initial < 0
1727
+ , 'expected .' + prop + ' to decrease'
1728
+ , 'expected .' + prop + ' to not decrease'
1729
+ );
1730
+ }
1731
+
1732
+ Assertion.addChainableMethod('decrease', assertDecreases);
1733
+ Assertion.addChainableMethod('decreases', assertDecreases);
1734
+
1735
+ /**
1736
+ * ### .extensible
1737
+ *
1738
+ * Asserts that the target is extensible (can have new properties added to
1739
+ * it).
1740
+ *
1741
+ * var nonExtensibleObject = Object.preventExtensions({});
1742
+ * var sealedObject = Object.seal({});
1743
+ * var frozenObject = Object.freeze({});
1744
+ *
1745
+ * expect({}).to.be.extensible;
1746
+ * expect(nonExtensibleObject).to.not.be.extensible;
1747
+ * expect(sealedObject).to.not.be.extensible;
1748
+ * expect(frozenObject).to.not.be.extensible;
1749
+ *
1750
+ * @name extensible
1751
+ * @namespace BDD
1752
+ * @api public
1753
+ */
1754
+
1755
+ Assertion.addProperty('extensible', function() {
1756
+ var obj = flag(this, 'object');
1757
+
1758
+ // In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError.
1759
+ // In ES6, a non-object argument will be treated as if it was a non-extensible ordinary object, simply return false.
1760
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
1761
+ // The following provides ES6 behavior when a TypeError is thrown under ES5.
1762
+
1763
+ var isExtensible;
1764
+
1765
+ try {
1766
+ isExtensible = Object.isExtensible(obj);
1767
+ } catch (err) {
1768
+ if (err instanceof TypeError) isExtensible = false;
1769
+ else throw err;
1770
+ }
1771
+
1772
+ this.assert(
1773
+ isExtensible
1774
+ , 'expected #{this} to be extensible'
1775
+ , 'expected #{this} to not be extensible'
1776
+ );
1777
+ });
1778
+
1779
+ /**
1780
+ * ### .sealed
1781
+ *
1782
+ * Asserts that the target is sealed (cannot have new properties added to it
1783
+ * and its existing properties cannot be removed).
1784
+ *
1785
+ * var sealedObject = Object.seal({});
1786
+ * var frozenObject = Object.freeze({});
1787
+ *
1788
+ * expect(sealedObject).to.be.sealed;
1789
+ * expect(frozenObject).to.be.sealed;
1790
+ * expect({}).to.not.be.sealed;
1791
+ *
1792
+ * @name sealed
1793
+ * @namespace BDD
1794
+ * @api public
1795
+ */
1796
+
1797
+ Assertion.addProperty('sealed', function() {
1798
+ var obj = flag(this, 'object');
1799
+
1800
+ // In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError.
1801
+ // In ES6, a non-object argument will be treated as if it was a sealed ordinary object, simply return true.
1802
+ // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
1803
+ // The following provides ES6 behavior when a TypeError is thrown under ES5.
1804
+
1805
+ var isSealed;
1806
+
1807
+ try {
1808
+ isSealed = Object.isSealed(obj);
1809
+ } catch (err) {
1810
+ if (err instanceof TypeError) isSealed = true;
1811
+ else throw err;
1812
+ }
1813
+
1814
+ this.assert(
1815
+ isSealed
1816
+ , 'expected #{this} to be sealed'
1817
+ , 'expected #{this} to not be sealed'
1818
+ );
1819
+ });
1820
+
1821
+ /**
1822
+ * ### .frozen
1823
+ *
1824
+ * Asserts that the target is frozen (cannot have new properties added to it
1825
+ * and its existing properties cannot be modified).
1826
+ *
1827
+ * var frozenObject = Object.freeze({});
1828
+ *
1829
+ * expect(frozenObject).to.be.frozen;
1830
+ * expect({}).to.not.be.frozen;
1831
+ *
1832
+ * @name frozen
1833
+ * @namespace BDD
1834
+ * @api public
1835
+ */
1836
+
1837
+ Assertion.addProperty('frozen', function() {
1838
+ var obj = flag(this, 'object');
1839
+
1840
+ // In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError.
1841
+ // In ES6, a non-object argument will be treated as if it was a frozen ordinary object, simply return true.
1842
+ // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
1843
+ // The following provides ES6 behavior when a TypeError is thrown under ES5.
1844
+
1845
+ var isFrozen;
1846
+
1847
+ try {
1848
+ isFrozen = Object.isFrozen(obj);
1849
+ } catch (err) {
1850
+ if (err instanceof TypeError) isFrozen = true;
1851
+ else throw err;
1852
+ }
1853
+
1854
+ this.assert(
1855
+ isFrozen
1856
+ , 'expected #{this} to be frozen'
1857
+ , 'expected #{this} to not be frozen'
1858
+ );
1859
+ });
1860
+ };