card-mod-date 0.15.4 → 0.15.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (879) hide show
  1. checksums.yaml +4 -4
  2. data/vendor/moment/CHANGELOG.md +964 -0
  3. data/vendor/moment/CONTRIBUTING.md +103 -0
  4. data/vendor/moment/FAQ.md +28 -0
  5. data/vendor/moment/Gruntfile.js +255 -0
  6. data/vendor/moment/LICENSE +22 -0
  7. data/vendor/moment/Moment.js.nuspec +31 -0
  8. data/vendor/moment/README.md +55 -0
  9. data/vendor/moment/benchmarks/add.js +22 -0
  10. data/vendor/moment/benchmarks/clone.js +10 -0
  11. data/vendor/moment/benchmarks/compare.js +33 -0
  12. data/vendor/moment/benchmarks/endOf.js +22 -0
  13. data/vendor/moment/benchmarks/fromDate.js +12 -0
  14. data/vendor/moment/benchmarks/fromDateUtc.js +12 -0
  15. data/vendor/moment/benchmarks/get.js +21 -0
  16. data/vendor/moment/benchmarks/isObjectEmpty.js +67 -0
  17. data/vendor/moment/benchmarks/load-missing.js +13 -0
  18. data/vendor/moment/benchmarks/makeDuration.js +11 -0
  19. data/vendor/moment/benchmarks/query.js +40 -0
  20. data/vendor/moment/benchmarks/set.js +22 -0
  21. data/vendor/moment/benchmarks/startOf.js +22 -0
  22. data/vendor/moment/benchmarks/subtract.js +22 -0
  23. data/vendor/moment/benchmarks/zeroFill.js +43 -0
  24. data/vendor/moment/bower.json +26 -0
  25. data/vendor/moment/component.json +147 -0
  26. data/vendor/moment/composer.json +33 -0
  27. data/vendor/moment/dist/locale/af.js +71 -0
  28. data/vendor/moment/dist/locale/ar-dz.js +156 -0
  29. data/vendor/moment/dist/locale/ar-kw.js +54 -0
  30. data/vendor/moment/dist/locale/ar-ly.js +171 -0
  31. data/vendor/moment/dist/locale/ar-ma.js +55 -0
  32. data/vendor/moment/dist/locale/ar-sa.js +104 -0
  33. data/vendor/moment/dist/locale/ar-tn.js +54 -0
  34. data/vendor/moment/dist/locale/ar.js +189 -0
  35. data/vendor/moment/dist/locale/az.js +101 -0
  36. data/vendor/moment/dist/locale/be.js +141 -0
  37. data/vendor/moment/dist/locale/bg.js +87 -0
  38. data/vendor/moment/dist/locale/bm.js +52 -0
  39. data/vendor/moment/dist/locale/bn-bd.js +128 -0
  40. data/vendor/moment/dist/locale/bn.js +118 -0
  41. data/vendor/moment/dist/locale/bo.js +122 -0
  42. data/vendor/moment/dist/locale/br.js +165 -0
  43. data/vendor/moment/dist/locale/bs.js +149 -0
  44. data/vendor/moment/dist/locale/ca.js +97 -0
  45. data/vendor/moment/dist/locale/cs.js +171 -0
  46. data/vendor/moment/dist/locale/cv.js +62 -0
  47. data/vendor/moment/dist/locale/cy.js +97 -0
  48. data/vendor/moment/dist/locale/da.js +53 -0
  49. data/vendor/moment/dist/locale/de-at.js +79 -0
  50. data/vendor/moment/dist/locale/de-ch.js +78 -0
  51. data/vendor/moment/dist/locale/de.js +78 -0
  52. data/vendor/moment/dist/locale/dv.js +90 -0
  53. data/vendor/moment/dist/locale/el.js +104 -0
  54. data/vendor/moment/dist/locale/en-au.js +68 -0
  55. data/vendor/moment/dist/locale/en-ca.js +64 -0
  56. data/vendor/moment/dist/locale/en-gb.js +68 -0
  57. data/vendor/moment/dist/locale/en-ie.js +68 -0
  58. data/vendor/moment/dist/locale/en-il.js +64 -0
  59. data/vendor/moment/dist/locale/en-in.js +68 -0
  60. data/vendor/moment/dist/locale/en-nz.js +68 -0
  61. data/vendor/moment/dist/locale/en-sg.js +68 -0
  62. data/vendor/moment/dist/locale/eo.js +68 -0
  63. data/vendor/moment/dist/locale/es-do.js +104 -0
  64. data/vendor/moment/dist/locale/es-mx.js +106 -0
  65. data/vendor/moment/dist/locale/es-us.js +106 -0
  66. data/vendor/moment/dist/locale/es.js +106 -0
  67. data/vendor/moment/dist/locale/et.js +78 -0
  68. data/vendor/moment/dist/locale/eu.js +63 -0
  69. data/vendor/moment/dist/locale/fa.js +110 -0
  70. data/vendor/moment/dist/locale/fi.js +121 -0
  71. data/vendor/moment/dist/locale/fil.js +58 -0
  72. data/vendor/moment/dist/locale/fo.js +56 -0
  73. data/vendor/moment/dist/locale/fr-ca.js +69 -0
  74. data/vendor/moment/dist/locale/fr-ch.js +73 -0
  75. data/vendor/moment/dist/locale/fr.js +104 -0
  76. data/vendor/moment/dist/locale/fy.js +77 -0
  77. data/vendor/moment/dist/locale/ga.js +95 -0
  78. data/vendor/moment/dist/locale/gd.js +95 -0
  79. data/vendor/moment/dist/locale/gl.js +74 -0
  80. data/vendor/moment/dist/locale/gom-deva.js +124 -0
  81. data/vendor/moment/dist/locale/gom-latn.js +124 -0
  82. data/vendor/moment/dist/locale/gu.js +121 -0
  83. data/vendor/moment/dist/locale/he.js +94 -0
  84. data/vendor/moment/dist/locale/hi.js +119 -0
  85. data/vendor/moment/dist/locale/hr.js +154 -0
  86. data/vendor/moment/dist/locale/hu.js +118 -0
  87. data/vendor/moment/dist/locale/hy-am.js +92 -0
  88. data/vendor/moment/dist/locale/id.js +76 -0
  89. data/vendor/moment/dist/locale/is.js +139 -0
  90. data/vendor/moment/dist/locale/it-ch.js +64 -0
  91. data/vendor/moment/dist/locale/it.js +106 -0
  92. data/vendor/moment/dist/locale/ja.js +148 -0
  93. data/vendor/moment/dist/locale/jv.js +76 -0
  94. data/vendor/moment/dist/locale/ka.js +92 -0
  95. data/vendor/moment/dist/locale/kk.js +82 -0
  96. data/vendor/moment/dist/locale/km.js +102 -0
  97. data/vendor/moment/dist/locale/kn.js +123 -0
  98. data/vendor/moment/dist/locale/ko.js +75 -0
  99. data/vendor/moment/dist/locale/ku.js +118 -0
  100. data/vendor/moment/dist/locale/ky.js +84 -0
  101. data/vendor/moment/dist/locale/lb.js +135 -0
  102. data/vendor/moment/dist/locale/lo.js +65 -0
  103. data/vendor/moment/dist/locale/lt.js +123 -0
  104. data/vendor/moment/dist/locale/lv.js +93 -0
  105. data/vendor/moment/dist/locale/me.js +118 -0
  106. data/vendor/moment/dist/locale/mi.js +59 -0
  107. data/vendor/moment/dist/locale/mk.js +85 -0
  108. data/vendor/moment/dist/locale/ml.js +80 -0
  109. data/vendor/moment/dist/locale/mn.js +99 -0
  110. data/vendor/moment/dist/locale/mr.js +202 -0
  111. data/vendor/moment/dist/locale/ms-my.js +76 -0
  112. data/vendor/moment/dist/locale/ms.js +75 -0
  113. data/vendor/moment/dist/locale/mt.js +55 -0
  114. data/vendor/moment/dist/locale/my.js +91 -0
  115. data/vendor/moment/dist/locale/nb.js +61 -0
  116. data/vendor/moment/dist/locale/ne.js +120 -0
  117. data/vendor/moment/dist/locale/nl-be.js +102 -0
  118. data/vendor/moment/dist/locale/nl.js +104 -0
  119. data/vendor/moment/dist/locale/nn.js +60 -0
  120. data/vendor/moment/dist/locale/oc-lnc.js +83 -0
  121. data/vendor/moment/dist/locale/pa-in.js +121 -0
  122. data/vendor/moment/dist/locale/pl.js +139 -0
  123. data/vendor/moment/dist/locale/pt-br.js +57 -0
  124. data/vendor/moment/dist/locale/pt.js +62 -0
  125. data/vendor/moment/dist/locale/ro.js +75 -0
  126. data/vendor/moment/dist/locale/ru.js +206 -0
  127. data/vendor/moment/dist/locale/sd.js +81 -0
  128. data/vendor/moment/dist/locale/se.js +57 -0
  129. data/vendor/moment/dist/locale/si.js +68 -0
  130. data/vendor/moment/dist/locale/sk.js +144 -0
  131. data/vendor/moment/dist/locale/sl.js +170 -0
  132. data/vendor/moment/dist/locale/sq.js +65 -0
  133. data/vendor/moment/dist/locale/sr-cyrl.js +116 -0
  134. data/vendor/moment/dist/locale/sr.js +118 -0
  135. data/vendor/moment/dist/locale/ss.js +83 -0
  136. data/vendor/moment/dist/locale/sv.js +68 -0
  137. data/vendor/moment/dist/locale/sw.js +54 -0
  138. data/vendor/moment/dist/locale/ta.js +129 -0
  139. data/vendor/moment/dist/locale/te.js +86 -0
  140. data/vendor/moment/dist/locale/tet.js +68 -0
  141. data/vendor/moment/dist/locale/tg.js +116 -0
  142. data/vendor/moment/dist/locale/th.js +64 -0
  143. data/vendor/moment/dist/locale/tk.js +91 -0
  144. data/vendor/moment/dist/locale/tl-ph.js +57 -0
  145. data/vendor/moment/dist/locale/tlh.js +125 -0
  146. data/vendor/moment/dist/locale/tr.js +106 -0
  147. data/vendor/moment/dist/locale/tzl.js +89 -0
  148. data/vendor/moment/dist/locale/tzm-latn.js +53 -0
  149. data/vendor/moment/dist/locale/tzm.js +53 -0
  150. data/vendor/moment/dist/locale/ug-cn.js +110 -0
  151. data/vendor/moment/dist/locale/uk.js +163 -0
  152. data/vendor/moment/dist/locale/ur.js +82 -0
  153. data/vendor/moment/dist/locale/uz-latn.js +53 -0
  154. data/vendor/moment/dist/locale/uz.js +51 -0
  155. data/vendor/moment/dist/locale/vi.js +79 -0
  156. data/vendor/moment/dist/locale/x-pseudo.js +71 -0
  157. data/vendor/moment/dist/locale/yo.js +53 -0
  158. data/vendor/moment/dist/locale/zh-cn.js +120 -0
  159. data/vendor/moment/dist/locale/zh-hk.js +101 -0
  160. data/vendor/moment/dist/locale/zh-mo.js +100 -0
  161. data/vendor/moment/dist/locale/zh-tw.js +99 -0
  162. data/vendor/moment/dist/moment.js +5663 -0
  163. data/vendor/moment/ender.js +1 -0
  164. data/vendor/moment/locale/af.js +82 -0
  165. data/vendor/moment/locale/ar-dz.js +167 -0
  166. data/vendor/moment/locale/ar-kw.js +65 -0
  167. data/vendor/moment/locale/ar-ly.js +182 -0
  168. data/vendor/moment/locale/ar-ma.js +66 -0
  169. data/vendor/moment/locale/ar-sa.js +115 -0
  170. data/vendor/moment/locale/ar-tn.js +65 -0
  171. data/vendor/moment/locale/ar.js +200 -0
  172. data/vendor/moment/locale/az.js +112 -0
  173. data/vendor/moment/locale/be.js +152 -0
  174. data/vendor/moment/locale/bg.js +98 -0
  175. data/vendor/moment/locale/bm.js +62 -0
  176. data/vendor/moment/locale/bn-bd.js +139 -0
  177. data/vendor/moment/locale/bn.js +129 -0
  178. data/vendor/moment/locale/bo.js +133 -0
  179. data/vendor/moment/locale/br.js +176 -0
  180. data/vendor/moment/locale/bs.js +160 -0
  181. data/vendor/moment/locale/ca.js +108 -0
  182. data/vendor/moment/locale/cs.js +182 -0
  183. data/vendor/moment/locale/cv.js +73 -0
  184. data/vendor/moment/locale/cy.js +108 -0
  185. data/vendor/moment/locale/da.js +64 -0
  186. data/vendor/moment/locale/de-at.js +90 -0
  187. data/vendor/moment/locale/de-ch.js +87 -0
  188. data/vendor/moment/locale/de.js +89 -0
  189. data/vendor/moment/locale/dv.js +101 -0
  190. data/vendor/moment/locale/el.js +115 -0
  191. data/vendor/moment/locale/en-au.js +79 -0
  192. data/vendor/moment/locale/en-ca.js +75 -0
  193. data/vendor/moment/locale/en-gb.js +79 -0
  194. data/vendor/moment/locale/en-ie.js +79 -0
  195. data/vendor/moment/locale/en-il.js +75 -0
  196. data/vendor/moment/locale/en-in.js +79 -0
  197. data/vendor/moment/locale/en-nz.js +79 -0
  198. data/vendor/moment/locale/en-sg.js +79 -0
  199. data/vendor/moment/locale/eo.js +79 -0
  200. data/vendor/moment/locale/es-do.js +115 -0
  201. data/vendor/moment/locale/es-mx.js +117 -0
  202. data/vendor/moment/locale/es-us.js +117 -0
  203. data/vendor/moment/locale/es.js +117 -0
  204. data/vendor/moment/locale/et.js +89 -0
  205. data/vendor/moment/locale/eu.js +74 -0
  206. data/vendor/moment/locale/fa.js +121 -0
  207. data/vendor/moment/locale/fi.js +132 -0
  208. data/vendor/moment/locale/fil.js +69 -0
  209. data/vendor/moment/locale/fo.js +67 -0
  210. data/vendor/moment/locale/fr-ca.js +80 -0
  211. data/vendor/moment/locale/fr-ch.js +84 -0
  212. data/vendor/moment/locale/fr.js +115 -0
  213. data/vendor/moment/locale/fy.js +88 -0
  214. data/vendor/moment/locale/ga.js +106 -0
  215. data/vendor/moment/locale/gd.js +106 -0
  216. data/vendor/moment/locale/gl.js +85 -0
  217. data/vendor/moment/locale/gom-deva.js +135 -0
  218. data/vendor/moment/locale/gom-latn.js +135 -0
  219. data/vendor/moment/locale/gu.js +132 -0
  220. data/vendor/moment/locale/he.js +105 -0
  221. data/vendor/moment/locale/hi.js +130 -0
  222. data/vendor/moment/locale/hr.js +165 -0
  223. data/vendor/moment/locale/hu.js +129 -0
  224. data/vendor/moment/locale/hy-am.js +103 -0
  225. data/vendor/moment/locale/id.js +87 -0
  226. data/vendor/moment/locale/is.js +150 -0
  227. data/vendor/moment/locale/it-ch.js +75 -0
  228. data/vendor/moment/locale/it.js +117 -0
  229. data/vendor/moment/locale/ja.js +159 -0
  230. data/vendor/moment/locale/jv.js +87 -0
  231. data/vendor/moment/locale/ka.js +103 -0
  232. data/vendor/moment/locale/kk.js +93 -0
  233. data/vendor/moment/locale/km.js +113 -0
  234. data/vendor/moment/locale/kn.js +134 -0
  235. data/vendor/moment/locale/ko.js +86 -0
  236. data/vendor/moment/locale/ku.js +129 -0
  237. data/vendor/moment/locale/ky.js +95 -0
  238. data/vendor/moment/locale/lb.js +146 -0
  239. data/vendor/moment/locale/lo.js +76 -0
  240. data/vendor/moment/locale/lt.js +134 -0
  241. data/vendor/moment/locale/lv.js +104 -0
  242. data/vendor/moment/locale/me.js +129 -0
  243. data/vendor/moment/locale/mi.js +70 -0
  244. data/vendor/moment/locale/mk.js +97 -0
  245. data/vendor/moment/locale/ml.js +91 -0
  246. data/vendor/moment/locale/mn.js +110 -0
  247. data/vendor/moment/locale/mr.js +213 -0
  248. data/vendor/moment/locale/ms-my.js +87 -0
  249. data/vendor/moment/locale/ms.js +86 -0
  250. data/vendor/moment/locale/mt.js +66 -0
  251. data/vendor/moment/locale/my.js +102 -0
  252. data/vendor/moment/locale/nb.js +72 -0
  253. data/vendor/moment/locale/ne.js +131 -0
  254. data/vendor/moment/locale/nl-be.js +113 -0
  255. data/vendor/moment/locale/nl.js +115 -0
  256. data/vendor/moment/locale/nn.js +71 -0
  257. data/vendor/moment/locale/oc-lnc.js +94 -0
  258. data/vendor/moment/locale/pa-in.js +132 -0
  259. data/vendor/moment/locale/pl.js +150 -0
  260. data/vendor/moment/locale/pt-br.js +68 -0
  261. data/vendor/moment/locale/pt.js +73 -0
  262. data/vendor/moment/locale/ro.js +86 -0
  263. data/vendor/moment/locale/ru.js +217 -0
  264. data/vendor/moment/locale/sd.js +92 -0
  265. data/vendor/moment/locale/se.js +68 -0
  266. data/vendor/moment/locale/si.js +79 -0
  267. data/vendor/moment/locale/sk.js +155 -0
  268. data/vendor/moment/locale/sl.js +181 -0
  269. data/vendor/moment/locale/sq.js +76 -0
  270. data/vendor/moment/locale/sr-cyrl.js +127 -0
  271. data/vendor/moment/locale/sr.js +129 -0
  272. data/vendor/moment/locale/ss.js +94 -0
  273. data/vendor/moment/locale/sv.js +79 -0
  274. data/vendor/moment/locale/sw.js +65 -0
  275. data/vendor/moment/locale/ta.js +140 -0
  276. data/vendor/moment/locale/te.js +97 -0
  277. data/vendor/moment/locale/tet.js +79 -0
  278. data/vendor/moment/locale/tg.js +127 -0
  279. data/vendor/moment/locale/th.js +75 -0
  280. data/vendor/moment/locale/tk.js +102 -0
  281. data/vendor/moment/locale/tl-ph.js +68 -0
  282. data/vendor/moment/locale/tlh.js +136 -0
  283. data/vendor/moment/locale/tr.js +117 -0
  284. data/vendor/moment/locale/tzl.js +100 -0
  285. data/vendor/moment/locale/tzm-latn.js +64 -0
  286. data/vendor/moment/locale/tzm.js +64 -0
  287. data/vendor/moment/locale/ug-cn.js +121 -0
  288. data/vendor/moment/locale/uk.js +174 -0
  289. data/vendor/moment/locale/ur.js +93 -0
  290. data/vendor/moment/locale/uz-latn.js +64 -0
  291. data/vendor/moment/locale/uz.js +62 -0
  292. data/vendor/moment/locale/vi.js +90 -0
  293. data/vendor/moment/locale/x-pseudo.js +82 -0
  294. data/vendor/moment/locale/yo.js +64 -0
  295. data/vendor/moment/locale/zh-cn.js +131 -0
  296. data/vendor/moment/locale/zh-hk.js +112 -0
  297. data/vendor/moment/locale/zh-mo.js +111 -0
  298. data/vendor/moment/locale/zh-tw.js +110 -0
  299. data/vendor/moment/meteor/README.md +5 -0
  300. data/vendor/moment/meteor/export.js +6 -0
  301. data/vendor/moment/meteor/moment.js +1 -0
  302. data/vendor/moment/meteor/package.js +27 -0
  303. data/vendor/moment/meteor/test.js +5 -0
  304. data/vendor/moment/min/locales.js +12384 -0
  305. data/vendor/moment/min/locales.min.js +2 -0
  306. data/vendor/moment/min/locales.min.js.map +1 -0
  307. data/vendor/moment/min/moment-with-locales.js +18039 -0
  308. data/vendor/moment/min/moment-with-locales.min.js +2 -0
  309. data/vendor/moment/min/moment-with-locales.min.js.map +1 -0
  310. data/vendor/moment/min/moment.min.js +2 -0
  311. data/vendor/moment/min/moment.min.js.map +1 -0
  312. data/vendor/moment/min/tests.js +146872 -0
  313. data/vendor/moment/moment.d.ts +796 -0
  314. data/vendor/moment/moment.js +5671 -0
  315. data/vendor/moment/package-lock.json +6460 -0
  316. data/vendor/moment/package.js +11 -0
  317. data/vendor/moment/package.json +112 -0
  318. data/vendor/moment/scripts/locales.js +146 -0
  319. data/vendor/moment/scripts/npm_prepublish.sh +49 -0
  320. data/vendor/moment/src/lib/create/check-overflow.js +57 -0
  321. data/vendor/moment/src/lib/create/date-from-array.js +35 -0
  322. data/vendor/moment/src/lib/create/from-anything.js +117 -0
  323. data/vendor/moment/src/lib/create/from-array.js +187 -0
  324. data/vendor/moment/src/lib/create/from-object.js +20 -0
  325. data/vendor/moment/src/lib/create/from-string-and-array.js +66 -0
  326. data/vendor/moment/src/lib/create/from-string-and-format.js +134 -0
  327. data/vendor/moment/src/lib/create/from-string.js +255 -0
  328. data/vendor/moment/src/lib/create/local.js +5 -0
  329. data/vendor/moment/src/lib/create/parsing-flags.js +28 -0
  330. data/vendor/moment/src/lib/create/utc.js +5 -0
  331. data/vendor/moment/src/lib/create/valid.js +51 -0
  332. data/vendor/moment/src/lib/duration/abs.js +18 -0
  333. data/vendor/moment/src/lib/duration/add-subtract.js +21 -0
  334. data/vendor/moment/src/lib/duration/as.js +88 -0
  335. data/vendor/moment/src/lib/duration/bubble.js +68 -0
  336. data/vendor/moment/src/lib/duration/clone.js +5 -0
  337. data/vendor/moment/src/lib/duration/constructor.js +42 -0
  338. data/vendor/moment/src/lib/duration/create.js +132 -0
  339. data/vendor/moment/src/lib/duration/duration.js +16 -0
  340. data/vendor/moment/src/lib/duration/get.js +27 -0
  341. data/vendor/moment/src/lib/duration/humanize.js +114 -0
  342. data/vendor/moment/src/lib/duration/iso-string.js +68 -0
  343. data/vendor/moment/src/lib/duration/prototype.js +78 -0
  344. data/vendor/moment/src/lib/duration/valid.js +54 -0
  345. data/vendor/moment/src/lib/format/format.js +103 -0
  346. data/vendor/moment/src/lib/locale/base-config.js +41 -0
  347. data/vendor/moment/src/lib/locale/calendar.js +15 -0
  348. data/vendor/moment/src/lib/locale/constructor.js +5 -0
  349. data/vendor/moment/src/lib/locale/en.js +39 -0
  350. data/vendor/moment/src/lib/locale/formats.js +36 -0
  351. data/vendor/moment/src/lib/locale/invalid.js +5 -0
  352. data/vendor/moment/src/lib/locale/lists.js +93 -0
  353. data/vendor/moment/src/lib/locale/locale.js +45 -0
  354. data/vendor/moment/src/lib/locale/locales.js +242 -0
  355. data/vendor/moment/src/lib/locale/ordinal.js +8 -0
  356. data/vendor/moment/src/lib/locale/pre-post-format.js +3 -0
  357. data/vendor/moment/src/lib/locale/prototype.js +88 -0
  358. data/vendor/moment/src/lib/locale/relative.js +32 -0
  359. data/vendor/moment/src/lib/locale/set.js +56 -0
  360. data/vendor/moment/src/lib/moment/add-subtract.js +61 -0
  361. data/vendor/moment/src/lib/moment/calendar.js +53 -0
  362. data/vendor/moment/src/lib/moment/clone.js +5 -0
  363. data/vendor/moment/src/lib/moment/compare.js +72 -0
  364. data/vendor/moment/src/lib/moment/constructor.js +77 -0
  365. data/vendor/moment/src/lib/moment/creation-data.js +9 -0
  366. data/vendor/moment/src/lib/moment/diff.js +79 -0
  367. data/vendor/moment/src/lib/moment/format.js +78 -0
  368. data/vendor/moment/src/lib/moment/from.js +20 -0
  369. data/vendor/moment/src/lib/moment/get-set.js +72 -0
  370. data/vendor/moment/src/lib/moment/locale.js +34 -0
  371. data/vendor/moment/src/lib/moment/min-max.js +62 -0
  372. data/vendor/moment/src/lib/moment/moment.js +28 -0
  373. data/vendor/moment/src/lib/moment/now.js +3 -0
  374. data/vendor/moment/src/lib/moment/prototype.js +197 -0
  375. data/vendor/moment/src/lib/moment/start-end-of.js +164 -0
  376. data/vendor/moment/src/lib/moment/to-type.js +42 -0
  377. data/vendor/moment/src/lib/moment/to.js +20 -0
  378. data/vendor/moment/src/lib/moment/valid.js +15 -0
  379. data/vendor/moment/src/lib/parse/regex.js +82 -0
  380. data/vendor/moment/src/lib/parse/token.js +34 -0
  381. data/vendor/moment/src/lib/units/aliases.js +31 -0
  382. data/vendor/moment/src/lib/units/constants.js +9 -0
  383. data/vendor/moment/src/lib/units/day-of-month.js +39 -0
  384. data/vendor/moment/src/lib/units/day-of-week.js +444 -0
  385. data/vendor/moment/src/lib/units/day-of-year.js +37 -0
  386. data/vendor/moment/src/lib/units/era.js +289 -0
  387. data/vendor/moment/src/lib/units/hour.js +159 -0
  388. data/vendor/moment/src/lib/units/millisecond.js +76 -0
  389. data/vendor/moment/src/lib/units/minute.js +29 -0
  390. data/vendor/moment/src/lib/units/month.js +349 -0
  391. data/vendor/moment/src/lib/units/offset.js +249 -0
  392. data/vendor/moment/src/lib/units/priorities.js +21 -0
  393. data/vendor/moment/src/lib/units/quarter.js +34 -0
  394. data/vendor/moment/src/lib/units/second.js +29 -0
  395. data/vendor/moment/src/lib/units/timestamp.js +20 -0
  396. data/vendor/moment/src/lib/units/timezone.js +16 -0
  397. data/vendor/moment/src/lib/units/units.js +20 -0
  398. data/vendor/moment/src/lib/units/week-calendar-utils.js +66 -0
  399. data/vendor/moment/src/lib/units/week-year.js +140 -0
  400. data/vendor/moment/src/lib/units/week.js +71 -0
  401. data/vendor/moment/src/lib/units/year.js +85 -0
  402. data/vendor/moment/src/lib/utils/abs-ceil.js +7 -0
  403. data/vendor/moment/src/lib/utils/abs-floor.js +8 -0
  404. data/vendor/moment/src/lib/utils/abs-round.js +7 -0
  405. data/vendor/moment/src/lib/utils/compare-arrays.js +18 -0
  406. data/vendor/moment/src/lib/utils/defaults.js +10 -0
  407. data/vendor/moment/src/lib/utils/deprecate.js +68 -0
  408. data/vendor/moment/src/lib/utils/extend.js +19 -0
  409. data/vendor/moment/src/lib/utils/has-own-prop.js +3 -0
  410. data/vendor/moment/src/lib/utils/hooks.js +13 -0
  411. data/vendor/moment/src/lib/utils/index-of.js +18 -0
  412. data/vendor/moment/src/lib/utils/is-array.js +6 -0
  413. data/vendor/moment/src/lib/utils/is-calendar-spec.js +25 -0
  414. data/vendor/moment/src/lib/utils/is-date.js +6 -0
  415. data/vendor/moment/src/lib/utils/is-function.js +6 -0
  416. data/vendor/moment/src/lib/utils/is-leap-year.js +3 -0
  417. data/vendor/moment/src/lib/utils/is-moment-input.js +74 -0
  418. data/vendor/moment/src/lib/utils/is-number.js +6 -0
  419. data/vendor/moment/src/lib/utils/is-object-empty.js +15 -0
  420. data/vendor/moment/src/lib/utils/is-object.js +8 -0
  421. data/vendor/moment/src/lib/utils/is-string.js +3 -0
  422. data/vendor/moment/src/lib/utils/is-undefined.js +3 -0
  423. data/vendor/moment/src/lib/utils/keys.js +20 -0
  424. data/vendor/moment/src/lib/utils/map.js +8 -0
  425. data/vendor/moment/src/lib/utils/mod.js +3 -0
  426. data/vendor/moment/src/lib/utils/some.js +20 -0
  427. data/vendor/moment/src/lib/utils/to-int.js +12 -0
  428. data/vendor/moment/src/lib/utils/zero-fill.js +10 -0
  429. data/vendor/moment/src/locale/af.js +71 -0
  430. data/vendor/moment/src/locale/ar-dz.js +156 -0
  431. data/vendor/moment/src/locale/ar-kw.js +54 -0
  432. data/vendor/moment/src/locale/ar-ly.js +171 -0
  433. data/vendor/moment/src/locale/ar-ma.js +55 -0
  434. data/vendor/moment/src/locale/ar-sa.js +104 -0
  435. data/vendor/moment/src/locale/ar-tn.js +54 -0
  436. data/vendor/moment/src/locale/ar.js +189 -0
  437. data/vendor/moment/src/locale/az.js +101 -0
  438. data/vendor/moment/src/locale/be.js +141 -0
  439. data/vendor/moment/src/locale/bg.js +87 -0
  440. data/vendor/moment/src/locale/bm.js +52 -0
  441. data/vendor/moment/src/locale/bn-bd.js +128 -0
  442. data/vendor/moment/src/locale/bn.js +118 -0
  443. data/vendor/moment/src/locale/bo.js +122 -0
  444. data/vendor/moment/src/locale/br.js +165 -0
  445. data/vendor/moment/src/locale/bs.js +149 -0
  446. data/vendor/moment/src/locale/ca.js +97 -0
  447. data/vendor/moment/src/locale/cs.js +171 -0
  448. data/vendor/moment/src/locale/cv.js +62 -0
  449. data/vendor/moment/src/locale/cy.js +97 -0
  450. data/vendor/moment/src/locale/da.js +53 -0
  451. data/vendor/moment/src/locale/de-at.js +79 -0
  452. data/vendor/moment/src/locale/de-ch.js +78 -0
  453. data/vendor/moment/src/locale/de.js +78 -0
  454. data/vendor/moment/src/locale/dv.js +90 -0
  455. data/vendor/moment/src/locale/el.js +104 -0
  456. data/vendor/moment/src/locale/en-au.js +68 -0
  457. data/vendor/moment/src/locale/en-ca.js +64 -0
  458. data/vendor/moment/src/locale/en-gb.js +68 -0
  459. data/vendor/moment/src/locale/en-ie.js +68 -0
  460. data/vendor/moment/src/locale/en-il.js +64 -0
  461. data/vendor/moment/src/locale/en-in.js +68 -0
  462. data/vendor/moment/src/locale/en-nz.js +68 -0
  463. data/vendor/moment/src/locale/en-sg.js +68 -0
  464. data/vendor/moment/src/locale/eo.js +68 -0
  465. data/vendor/moment/src/locale/es-do.js +104 -0
  466. data/vendor/moment/src/locale/es-mx.js +106 -0
  467. data/vendor/moment/src/locale/es-us.js +106 -0
  468. data/vendor/moment/src/locale/es.js +106 -0
  469. data/vendor/moment/src/locale/et.js +78 -0
  470. data/vendor/moment/src/locale/eu.js +63 -0
  471. data/vendor/moment/src/locale/fa.js +110 -0
  472. data/vendor/moment/src/locale/fi.js +121 -0
  473. data/vendor/moment/src/locale/fil.js +58 -0
  474. data/vendor/moment/src/locale/fo.js +56 -0
  475. data/vendor/moment/src/locale/fr-ca.js +69 -0
  476. data/vendor/moment/src/locale/fr-ch.js +73 -0
  477. data/vendor/moment/src/locale/fr.js +104 -0
  478. data/vendor/moment/src/locale/fy.js +77 -0
  479. data/vendor/moment/src/locale/ga.js +95 -0
  480. data/vendor/moment/src/locale/gd.js +95 -0
  481. data/vendor/moment/src/locale/gl.js +74 -0
  482. data/vendor/moment/src/locale/gom-deva.js +124 -0
  483. data/vendor/moment/src/locale/gom-latn.js +124 -0
  484. data/vendor/moment/src/locale/gu.js +121 -0
  485. data/vendor/moment/src/locale/he.js +94 -0
  486. data/vendor/moment/src/locale/hi.js +119 -0
  487. data/vendor/moment/src/locale/hr.js +154 -0
  488. data/vendor/moment/src/locale/hu.js +118 -0
  489. data/vendor/moment/src/locale/hy-am.js +92 -0
  490. data/vendor/moment/src/locale/id.js +76 -0
  491. data/vendor/moment/src/locale/is.js +139 -0
  492. data/vendor/moment/src/locale/it-ch.js +64 -0
  493. data/vendor/moment/src/locale/it.js +106 -0
  494. data/vendor/moment/src/locale/ja.js +148 -0
  495. data/vendor/moment/src/locale/jv.js +76 -0
  496. data/vendor/moment/src/locale/ka.js +92 -0
  497. data/vendor/moment/src/locale/kk.js +82 -0
  498. data/vendor/moment/src/locale/km.js +102 -0
  499. data/vendor/moment/src/locale/kn.js +123 -0
  500. data/vendor/moment/src/locale/ko.js +75 -0
  501. data/vendor/moment/src/locale/ku.js +118 -0
  502. data/vendor/moment/src/locale/ky.js +84 -0
  503. data/vendor/moment/src/locale/lb.js +135 -0
  504. data/vendor/moment/src/locale/lo.js +65 -0
  505. data/vendor/moment/src/locale/lt.js +123 -0
  506. data/vendor/moment/src/locale/lv.js +93 -0
  507. data/vendor/moment/src/locale/me.js +118 -0
  508. data/vendor/moment/src/locale/mi.js +59 -0
  509. data/vendor/moment/src/locale/mk.js +85 -0
  510. data/vendor/moment/src/locale/ml.js +80 -0
  511. data/vendor/moment/src/locale/mn.js +99 -0
  512. data/vendor/moment/src/locale/mr.js +202 -0
  513. data/vendor/moment/src/locale/ms-my.js +76 -0
  514. data/vendor/moment/src/locale/ms.js +75 -0
  515. data/vendor/moment/src/locale/mt.js +55 -0
  516. data/vendor/moment/src/locale/my.js +91 -0
  517. data/vendor/moment/src/locale/nb.js +61 -0
  518. data/vendor/moment/src/locale/ne.js +120 -0
  519. data/vendor/moment/src/locale/nl-be.js +102 -0
  520. data/vendor/moment/src/locale/nl.js +104 -0
  521. data/vendor/moment/src/locale/nn.js +60 -0
  522. data/vendor/moment/src/locale/oc-lnc.js +83 -0
  523. data/vendor/moment/src/locale/pa-in.js +121 -0
  524. data/vendor/moment/src/locale/pl.js +139 -0
  525. data/vendor/moment/src/locale/pt-br.js +57 -0
  526. data/vendor/moment/src/locale/pt.js +62 -0
  527. data/vendor/moment/src/locale/ro.js +75 -0
  528. data/vendor/moment/src/locale/ru.js +206 -0
  529. data/vendor/moment/src/locale/sd.js +81 -0
  530. data/vendor/moment/src/locale/se.js +57 -0
  531. data/vendor/moment/src/locale/si.js +68 -0
  532. data/vendor/moment/src/locale/sk.js +144 -0
  533. data/vendor/moment/src/locale/sl.js +170 -0
  534. data/vendor/moment/src/locale/sq.js +65 -0
  535. data/vendor/moment/src/locale/sr-cyrl.js +116 -0
  536. data/vendor/moment/src/locale/sr.js +118 -0
  537. data/vendor/moment/src/locale/ss.js +83 -0
  538. data/vendor/moment/src/locale/sv.js +68 -0
  539. data/vendor/moment/src/locale/sw.js +54 -0
  540. data/vendor/moment/src/locale/ta.js +129 -0
  541. data/vendor/moment/src/locale/te.js +86 -0
  542. data/vendor/moment/src/locale/tet.js +68 -0
  543. data/vendor/moment/src/locale/tg.js +116 -0
  544. data/vendor/moment/src/locale/th.js +64 -0
  545. data/vendor/moment/src/locale/tk.js +91 -0
  546. data/vendor/moment/src/locale/tl-ph.js +57 -0
  547. data/vendor/moment/src/locale/tlh.js +125 -0
  548. data/vendor/moment/src/locale/tr.js +106 -0
  549. data/vendor/moment/src/locale/tzl.js +89 -0
  550. data/vendor/moment/src/locale/tzm-latn.js +53 -0
  551. data/vendor/moment/src/locale/tzm.js +53 -0
  552. data/vendor/moment/src/locale/ug-cn.js +110 -0
  553. data/vendor/moment/src/locale/uk.js +163 -0
  554. data/vendor/moment/src/locale/ur.js +82 -0
  555. data/vendor/moment/src/locale/uz-latn.js +53 -0
  556. data/vendor/moment/src/locale/uz.js +51 -0
  557. data/vendor/moment/src/locale/vi.js +79 -0
  558. data/vendor/moment/src/locale/x-pseudo.js +71 -0
  559. data/vendor/moment/src/locale/yo.js +53 -0
  560. data/vendor/moment/src/locale/zh-cn.js +120 -0
  561. data/vendor/moment/src/locale/zh-hk.js +101 -0
  562. data/vendor/moment/src/locale/zh-mo.js +100 -0
  563. data/vendor/moment/src/locale/zh-tw.js +99 -0
  564. data/vendor/moment/src/moment.js +93 -0
  565. data/vendor/moment/src/test/helpers/common-locale.js +265 -0
  566. data/vendor/moment/src/test/helpers/deprecation-handler.js +62 -0
  567. data/vendor/moment/src/test/helpers/dst.js +8 -0
  568. data/vendor/moment/src/test/helpers/each-own-prop.js +8 -0
  569. data/vendor/moment/src/test/helpers/each.js +8 -0
  570. data/vendor/moment/src/test/helpers/has-own-prop.js +3 -0
  571. data/vendor/moment/src/test/helpers/object-keys.js +17 -0
  572. data/vendor/moment/src/test/locale/af.js +446 -0
  573. data/vendor/moment/src/test/locale/ar-dz.js +482 -0
  574. data/vendor/moment/src/test/locale/ar-kw.js +446 -0
  575. data/vendor/moment/src/test/locale/ar-ly.js +521 -0
  576. data/vendor/moment/src/test/locale/ar-ma.js +446 -0
  577. data/vendor/moment/src/test/locale/ar-sa.js +465 -0
  578. data/vendor/moment/src/test/locale/ar-tn.js +611 -0
  579. data/vendor/moment/src/test/locale/ar.js +521 -0
  580. data/vendor/moment/src/test/locale/az.js +453 -0
  581. data/vendor/moment/src/test/locale/be.js +575 -0
  582. data/vendor/moment/src/test/locale/bg.js +459 -0
  583. data/vendor/moment/src/test/locale/bm.js +408 -0
  584. data/vendor/moment/src/test/locale/bn-bd.js +473 -0
  585. data/vendor/moment/src/test/locale/bn.js +481 -0
  586. data/vendor/moment/src/test/locale/bo.js +501 -0
  587. data/vendor/moment/src/test/locale/br.js +541 -0
  588. data/vendor/moment/src/test/locale/bs.js +478 -0
  589. data/vendor/moment/src/test/locale/ca.js +472 -0
  590. data/vendor/moment/src/test/locale/cs.js +635 -0
  591. data/vendor/moment/src/test/locale/cv.js +459 -0
  592. data/vendor/moment/src/test/locale/cy.js +444 -0
  593. data/vendor/moment/src/test/locale/da.js +447 -0
  594. data/vendor/moment/src/test/locale/de-at.js +476 -0
  595. data/vendor/moment/src/test/locale/de-ch.js +481 -0
  596. data/vendor/moment/src/test/locale/de.js +480 -0
  597. data/vendor/moment/src/test/locale/dv.js +419 -0
  598. data/vendor/moment/src/test/locale/el.js +544 -0
  599. data/vendor/moment/src/test/locale/en-au.js +480 -0
  600. data/vendor/moment/src/test/locale/en-ca.js +451 -0
  601. data/vendor/moment/src/test/locale/en-gb.js +446 -0
  602. data/vendor/moment/src/test/locale/en-ie.js +446 -0
  603. data/vendor/moment/src/test/locale/en-il.js +454 -0
  604. data/vendor/moment/src/test/locale/en-in.js +464 -0
  605. data/vendor/moment/src/test/locale/en-nz.js +446 -0
  606. data/vendor/moment/src/test/locale/en-sg.js +430 -0
  607. data/vendor/moment/src/test/locale/en.js +562 -0
  608. data/vendor/moment/src/test/locale/eo.js +455 -0
  609. data/vendor/moment/src/test/locale/es-do.js +473 -0
  610. data/vendor/moment/src/test/locale/es-mx.js +514 -0
  611. data/vendor/moment/src/test/locale/es-us.js +489 -0
  612. data/vendor/moment/src/test/locale/es.js +476 -0
  613. data/vendor/moment/src/test/locale/et.js +533 -0
  614. data/vendor/moment/src/test/locale/eu.js +445 -0
  615. data/vendor/moment/src/test/locale/fa.js +461 -0
  616. data/vendor/moment/src/test/locale/fi.js +489 -0
  617. data/vendor/moment/src/test/locale/fil.js +448 -0
  618. data/vendor/moment/src/test/locale/fo.js +454 -0
  619. data/vendor/moment/src/test/locale/fr-ca.js +460 -0
  620. data/vendor/moment/src/test/locale/fr-ch.js +460 -0
  621. data/vendor/moment/src/test/locale/fr.js +482 -0
  622. data/vendor/moment/src/test/locale/fy.js +461 -0
  623. data/vendor/moment/src/test/locale/ga.js +445 -0
  624. data/vendor/moment/src/test/locale/gd.js +464 -0
  625. data/vendor/moment/src/test/locale/gl.js +466 -0
  626. data/vendor/moment/src/test/locale/gom-deva.js +445 -0
  627. data/vendor/moment/src/test/locale/gom-latn.js +459 -0
  628. data/vendor/moment/src/test/locale/gu.js +487 -0
  629. data/vendor/moment/src/test/locale/he.js +417 -0
  630. data/vendor/moment/src/test/locale/hi.js +484 -0
  631. data/vendor/moment/src/test/locale/hr.js +478 -0
  632. data/vendor/moment/src/test/locale/hu.js +468 -0
  633. data/vendor/moment/src/test/locale/hy-am.js +609 -0
  634. data/vendor/moment/src/test/locale/id.js +407 -0
  635. data/vendor/moment/src/test/locale/is.js +479 -0
  636. data/vendor/moment/src/test/locale/it-ch.js +427 -0
  637. data/vendor/moment/src/test/locale/it.js +479 -0
  638. data/vendor/moment/src/test/locale/ja.js +591 -0
  639. data/vendor/moment/src/test/locale/jv.js +418 -0
  640. data/vendor/moment/src/test/locale/ka.js +452 -0
  641. data/vendor/moment/src/test/locale/kk.js +445 -0
  642. data/vendor/moment/src/test/locale/km.js +471 -0
  643. data/vendor/moment/src/test/locale/kn.js +493 -0
  644. data/vendor/moment/src/test/locale/ko.js +496 -0
  645. data/vendor/moment/src/test/locale/ku.js +465 -0
  646. data/vendor/moment/src/test/locale/ky.js +445 -0
  647. data/vendor/moment/src/test/locale/lb.js +432 -0
  648. data/vendor/moment/src/test/locale/lo.js +445 -0
  649. data/vendor/moment/src/test/locale/lt.js +504 -0
  650. data/vendor/moment/src/test/locale/lv.js +567 -0
  651. data/vendor/moment/src/test/locale/me.js +481 -0
  652. data/vendor/moment/src/test/locale/mi.js +450 -0
  653. data/vendor/moment/src/test/locale/mk.js +460 -0
  654. data/vendor/moment/src/test/locale/ml.js +497 -0
  655. data/vendor/moment/src/test/locale/mn.js +555 -0
  656. data/vendor/moment/src/test/locale/mr.js +497 -0
  657. data/vendor/moment/src/test/locale/ms-my.js +454 -0
  658. data/vendor/moment/src/test/locale/ms.js +454 -0
  659. data/vendor/moment/src/test/locale/mt.js +446 -0
  660. data/vendor/moment/src/test/locale/my.js +616 -0
  661. data/vendor/moment/src/test/locale/nb.js +446 -0
  662. data/vendor/moment/src/test/locale/ne.js +484 -0
  663. data/vendor/moment/src/test/locale/nl-be.js +471 -0
  664. data/vendor/moment/src/test/locale/nl.js +471 -0
  665. data/vendor/moment/src/test/locale/nn.js +445 -0
  666. data/vendor/moment/src/test/locale/oc-lnc.js +440 -0
  667. data/vendor/moment/src/test/locale/pa-in.js +769 -0
  668. data/vendor/moment/src/test/locale/pl.js +557 -0
  669. data/vendor/moment/src/test/locale/pt-br.js +472 -0
  670. data/vendor/moment/src/test/locale/pt.js +449 -0
  671. data/vendor/moment/src/test/locale/ro.js +485 -0
  672. data/vendor/moment/src/test/locale/ru.js +706 -0
  673. data/vendor/moment/src/test/locale/sd.js +434 -0
  674. data/vendor/moment/src/test/locale/se.js +456 -0
  675. data/vendor/moment/src/test/locale/si.js +422 -0
  676. data/vendor/moment/src/test/locale/sk.js +640 -0
  677. data/vendor/moment/src/test/locale/sl.js +816 -0
  678. data/vendor/moment/src/test/locale/sq.js +457 -0
  679. data/vendor/moment/src/test/locale/sr-cyrl.js +478 -0
  680. data/vendor/moment/src/test/locale/sr.js +478 -0
  681. data/vendor/moment/src/test/locale/ss.js +510 -0
  682. data/vendor/moment/src/test/locale/sv.js +441 -0
  683. data/vendor/moment/src/test/locale/sw.js +449 -0
  684. data/vendor/moment/src/test/locale/ta.js +452 -0
  685. data/vendor/moment/src/test/locale/te.js +497 -0
  686. data/vendor/moment/src/test/locale/tet.js +446 -0
  687. data/vendor/moment/src/test/locale/tg.js +462 -0
  688. data/vendor/moment/src/test/locale/th.js +408 -0
  689. data/vendor/moment/src/test/locale/tk.js +445 -0
  690. data/vendor/moment/src/test/locale/tl-ph.js +448 -0
  691. data/vendor/moment/src/test/locale/tlh.js +484 -0
  692. data/vendor/moment/src/test/locale/tr.js +461 -0
  693. data/vendor/moment/src/test/locale/tzl.js +453 -0
  694. data/vendor/moment/src/test/locale/tzm-latn.js +449 -0
  695. data/vendor/moment/src/test/locale/tzm.js +449 -0
  696. data/vendor/moment/src/test/locale/ug-cn.js +427 -0
  697. data/vendor/moment/src/test/locale/uk.js +521 -0
  698. data/vendor/moment/src/test/locale/ur.js +439 -0
  699. data/vendor/moment/src/test/locale/uz-latn.js +450 -0
  700. data/vendor/moment/src/test/locale/uz.js +447 -0
  701. data/vendor/moment/src/test/locale/vi.js +452 -0
  702. data/vendor/moment/src/test/locale/x-pseudo.js +446 -0
  703. data/vendor/moment/src/test/locale/yo.js +447 -0
  704. data/vendor/moment/src/test/locale/zh-cn.js +459 -0
  705. data/vendor/moment/src/test/locale/zh-hk.js +443 -0
  706. data/vendor/moment/src/test/locale/zh-mo.js +427 -0
  707. data/vendor/moment/src/test/locale/zh-tw.js +443 -0
  708. data/vendor/moment/src/test/moment/add_subtract.js +545 -0
  709. data/vendor/moment/src/test/moment/calendar.js +214 -0
  710. data/vendor/moment/src/test/moment/create.js +2816 -0
  711. data/vendor/moment/src/test/moment/creation-data.js +40 -0
  712. data/vendor/moment/src/test/moment/days_in_month.js +122 -0
  713. data/vendor/moment/src/test/moment/days_in_year.js +11 -0
  714. data/vendor/moment/src/test/moment/deprecate.js +14 -0
  715. data/vendor/moment/src/test/moment/diff.js +624 -0
  716. data/vendor/moment/src/test/moment/duration.js +2024 -0
  717. data/vendor/moment/src/test/moment/duration_from_moments.js +53 -0
  718. data/vendor/moment/src/test/moment/duration_invalid.js +145 -0
  719. data/vendor/moment/src/test/moment/format.js +951 -0
  720. data/vendor/moment/src/test/moment/from_to.js +148 -0
  721. data/vendor/moment/src/test/moment/getters_setters.js +504 -0
  722. data/vendor/moment/src/test/moment/instanceof.js +42 -0
  723. data/vendor/moment/src/test/moment/invalid.js +212 -0
  724. data/vendor/moment/src/test/moment/is-leap-year.js +89 -0
  725. data/vendor/moment/src/test/moment/is_after.js +674 -0
  726. data/vendor/moment/src/test/moment/is_array.js +18 -0
  727. data/vendor/moment/src/test/moment/is_before.js +674 -0
  728. data/vendor/moment/src/test/moment/is_between.js +1082 -0
  729. data/vendor/moment/src/test/moment/is_date.js +32 -0
  730. data/vendor/moment/src/test/moment/is_moment.js +52 -0
  731. data/vendor/moment/src/test/moment/is_number.js +27 -0
  732. data/vendor/moment/src/test/moment/is_same.js +554 -0
  733. data/vendor/moment/src/test/moment/is_same_or_after.js +777 -0
  734. data/vendor/moment/src/test/moment/is_same_or_before.js +777 -0
  735. data/vendor/moment/src/test/moment/is_valid.js +563 -0
  736. data/vendor/moment/src/test/moment/leapyear.js +11 -0
  737. data/vendor/moment/src/test/moment/listers.js +172 -0
  738. data/vendor/moment/src/test/moment/locale.js +1029 -0
  739. data/vendor/moment/src/test/moment/locale_inheritance.js +332 -0
  740. data/vendor/moment/src/test/moment/locale_update.js +321 -0
  741. data/vendor/moment/src/test/moment/min_max.js +72 -0
  742. data/vendor/moment/src/test/moment/mutable.js +26 -0
  743. data/vendor/moment/src/test/moment/normalize_units.js +83 -0
  744. data/vendor/moment/src/test/moment/now.js +100 -0
  745. data/vendor/moment/src/test/moment/parsing_flags.js +434 -0
  746. data/vendor/moment/src/test/moment/preparse_postformat.js +121 -0
  747. data/vendor/moment/src/test/moment/quarter.js +117 -0
  748. data/vendor/moment/src/test/moment/relative_time.js +424 -0
  749. data/vendor/moment/src/test/moment/start_end_of.js +538 -0
  750. data/vendor/moment/src/test/moment/string_prototype.js +17 -0
  751. data/vendor/moment/src/test/moment/to_type.js +53 -0
  752. data/vendor/moment/src/test/moment/utc.js +138 -0
  753. data/vendor/moment/src/test/moment/utc_offset.js +894 -0
  754. data/vendor/moment/src/test/moment/week_year.js +1075 -0
  755. data/vendor/moment/src/test/moment/weekday.js +470 -0
  756. data/vendor/moment/src/test/moment/weeks.js +861 -0
  757. data/vendor/moment/src/test/moment/weeks_in_year.js +224 -0
  758. data/vendor/moment/src/test/moment/zone_switching.js +160 -0
  759. data/vendor/moment/src/test/moment/zones.js +840 -0
  760. data/vendor/moment/src/test/qunit-locale.js +32 -0
  761. data/vendor/moment/src/test/qunit.js +31 -0
  762. data/vendor/moment/tasks/bump_version.js +81 -0
  763. data/vendor/moment/tasks/check_sauce_creds.js +13 -0
  764. data/vendor/moment/tasks/component.js +13 -0
  765. data/vendor/moment/tasks/nuget.js +50 -0
  766. data/vendor/moment/tasks/qtest.js +56 -0
  767. data/vendor/moment/tasks/transpile.js +362 -0
  768. data/vendor/moment/tasks/update_index.js +32 -0
  769. data/vendor/moment/templates/default.js +5 -0
  770. data/vendor/moment/templates/empty.js +0 -0
  771. data/vendor/moment/templates/locale-header.js +6 -0
  772. data/vendor/moment/templates/test-header.js +6 -0
  773. data/vendor/moment/ts3.1-typing-tests/moment-tests.ts +547 -0
  774. data/vendor/moment/ts3.1-typing-tests/tsconfig.json +14 -0
  775. data/vendor/moment/ts3.1-typings/moment.d.ts +785 -0
  776. data/vendor/moment/typing-tests/moment-tests.ts +557 -0
  777. data/vendor/moment/typing-tests/tsconfig.json +12 -0
  778. data/vendor/tempusdominus/CONTRIBUTING.md +38 -0
  779. data/vendor/tempusdominus/Gruntfile.js +188 -0
  780. data/vendor/tempusdominus/LICENSE +21 -0
  781. data/vendor/tempusdominus/README.md +30 -0
  782. data/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.css +206 -0
  783. data/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.min.css +206 -0
  784. data/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.js +2779 -0
  785. data/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.min.js +7 -0
  786. data/vendor/tempusdominus/composer.json +29 -0
  787. data/vendor/tempusdominus/docs/Changelog/index.html +189 -0
  788. data/vendor/tempusdominus/docs/ContributorsGuide/index.html +290 -0
  789. data/vendor/tempusdominus/docs/Events/index.html +244 -0
  790. data/vendor/tempusdominus/docs/Extras/index.html +210 -0
  791. data/vendor/tempusdominus/docs/FAQ/index.html +186 -0
  792. data/vendor/tempusdominus/docs/Functions/index.html +239 -0
  793. data/vendor/tempusdominus/docs/Installing/index.html +233 -0
  794. data/vendor/tempusdominus/docs/Options/index.html +862 -0
  795. data/vendor/tempusdominus/docs/Usage/index.html +853 -0
  796. data/vendor/tempusdominus/docs/android-chrome-192x192.png +0 -0
  797. data/vendor/tempusdominus/docs/android-chrome-256x256.png +0 -0
  798. data/vendor/tempusdominus/docs/apple-touch-icon.png +0 -0
  799. data/vendor/tempusdominus/docs/browserconfig.xml +9 -0
  800. data/vendor/tempusdominus/docs/css/base.css +1705 -0
  801. data/vendor/tempusdominus/docs/css/tempusdominus-bootstrap-4.css +206 -0
  802. data/vendor/tempusdominus/docs/favicon-16x16.png +0 -0
  803. data/vendor/tempusdominus/docs/favicon-32x32.png +0 -0
  804. data/vendor/tempusdominus/docs/favicon.ico +0 -0
  805. data/vendor/tempusdominus/docs/index.html +208 -0
  806. data/vendor/tempusdominus/docs/js/base.js +62 -0
  807. data/vendor/tempusdominus/docs/js/tempusdominus-bootstrap-4.js +2779 -0
  808. data/vendor/tempusdominus/docs/manifest.json +18 -0
  809. data/vendor/tempusdominus/docs/mstile-150x150.png +0 -0
  810. data/vendor/tempusdominus/docs/safari-pinned-tab.svg +18 -0
  811. data/vendor/tempusdominus/docs/search/lunr.min.js +7 -0
  812. data/vendor/tempusdominus/docs/search/mustache.min.js +1 -0
  813. data/vendor/tempusdominus/docs/search/require.js +36 -0
  814. data/vendor/tempusdominus/docs/search/search-results-template.mustache +4 -0
  815. data/vendor/tempusdominus/docs/search/search.js +92 -0
  816. data/vendor/tempusdominus/docs/search/search_index.json +1084 -0
  817. data/vendor/tempusdominus/docs/search/text.js +390 -0
  818. data/vendor/tempusdominus/docs/sitemap.xml +84 -0
  819. data/vendor/tempusdominus/docs/theme/404.html +12 -0
  820. data/vendor/tempusdominus/docs/theme/android-chrome-192x192.png +0 -0
  821. data/vendor/tempusdominus/docs/theme/android-chrome-256x256.png +0 -0
  822. data/vendor/tempusdominus/docs/theme/apple-touch-icon.png +0 -0
  823. data/vendor/tempusdominus/docs/theme/base.html +105 -0
  824. data/vendor/tempusdominus/docs/theme/browserconfig.xml +9 -0
  825. data/vendor/tempusdominus/docs/theme/content.html +8 -0
  826. data/vendor/tempusdominus/docs/theme/css/base.css +1705 -0
  827. data/vendor/tempusdominus/docs/theme/css/tempusdominus-bootstrap-4.css +206 -0
  828. data/vendor/tempusdominus/docs/theme/favicon-16x16.png +0 -0
  829. data/vendor/tempusdominus/docs/theme/favicon-32x32.png +0 -0
  830. data/vendor/tempusdominus/docs/theme/favicon.ico +0 -0
  831. data/vendor/tempusdominus/docs/theme/js/base.js +62 -0
  832. data/vendor/tempusdominus/docs/theme/js/tempusdominus-bootstrap-4.js +2779 -0
  833. data/vendor/tempusdominus/docs/theme/main.html +1 -0
  834. data/vendor/tempusdominus/docs/theme/manifest.json +18 -0
  835. data/vendor/tempusdominus/docs/theme/mstile-150x150.png +0 -0
  836. data/vendor/tempusdominus/docs/theme/nav.html +32 -0
  837. data/vendor/tempusdominus/docs/theme/safari-pinned-tab.svg +18 -0
  838. data/vendor/tempusdominus/docs/theme/search-modal.html +24 -0
  839. data/vendor/tempusdominus/docs/theme/toc.html +13 -0
  840. data/vendor/tempusdominus/eslintrc.json +125 -0
  841. data/vendor/tempusdominus/mkdocs.yml +19 -0
  842. data/vendor/tempusdominus/package-lock.json +6426 -0
  843. data/vendor/tempusdominus/package.json +79 -0
  844. data/vendor/tempusdominus/src/docs/ChangeLog.md +20 -0
  845. data/vendor/tempusdominus/src/docs/ContributorsGuide.md +85 -0
  846. data/vendor/tempusdominus/src/docs/Events.md +95 -0
  847. data/vendor/tempusdominus/src/docs/Extras.md +49 -0
  848. data/vendor/tempusdominus/src/docs/FAQ.md +22 -0
  849. data/vendor/tempusdominus/src/docs/Functions.md +82 -0
  850. data/vendor/tempusdominus/src/docs/Installing.md +67 -0
  851. data/vendor/tempusdominus/src/docs/Options.md +940 -0
  852. data/vendor/tempusdominus/src/docs/Usage.md +724 -0
  853. data/vendor/tempusdominus/src/docs/index.md +53 -0
  854. data/vendor/tempusdominus/src/docs/theme/404.html +12 -0
  855. data/vendor/tempusdominus/src/docs/theme/android-chrome-192x192.png +0 -0
  856. data/vendor/tempusdominus/src/docs/theme/android-chrome-256x256.png +0 -0
  857. data/vendor/tempusdominus/src/docs/theme/apple-touch-icon.png +0 -0
  858. data/vendor/tempusdominus/src/docs/theme/base.html +105 -0
  859. data/vendor/tempusdominus/src/docs/theme/browserconfig.xml +9 -0
  860. data/vendor/tempusdominus/src/docs/theme/content.html +8 -0
  861. data/vendor/tempusdominus/src/docs/theme/css/base.css +1705 -0
  862. data/vendor/tempusdominus/src/docs/theme/css/tempusdominus-bootstrap-4.css +206 -0
  863. data/vendor/tempusdominus/src/docs/theme/favicon-16x16.png +0 -0
  864. data/vendor/tempusdominus/src/docs/theme/favicon-32x32.png +0 -0
  865. data/vendor/tempusdominus/src/docs/theme/favicon.ico +0 -0
  866. data/vendor/tempusdominus/src/docs/theme/js/base.js +62 -0
  867. data/vendor/tempusdominus/src/docs/theme/js/tempusdominus-bootstrap-4.js +2779 -0
  868. data/vendor/tempusdominus/src/docs/theme/main.html +1 -0
  869. data/vendor/tempusdominus/src/docs/theme/manifest.json +18 -0
  870. data/vendor/tempusdominus/src/docs/theme/mstile-150x150.png +0 -0
  871. data/vendor/tempusdominus/src/docs/theme/nav.html +32 -0
  872. data/vendor/tempusdominus/src/docs/theme/safari-pinned-tab.svg +18 -0
  873. data/vendor/tempusdominus/src/docs/theme/search-modal.html +24 -0
  874. data/vendor/tempusdominus/src/docs/theme/toc.html +13 -0
  875. data/vendor/tempusdominus/src/js/tempusdominus-bootstrap-4.js +1182 -0
  876. data/vendor/tempusdominus/src/sass/_tempusdominus-bootstrap-4.scss +342 -0
  877. data/vendor/tempusdominus/src/sass/tempusdominus-bootstrap-4-build.scss +17 -0
  878. data/vendor/tempusdominus/tasks/bump_version.js +75 -0
  879. metadata +882 -5
@@ -0,0 +1,894 @@
1
+ import { module, test } from '../qunit';
2
+ import moment from '../../moment';
3
+
4
+ module('utc offset');
5
+
6
+ test('setter / getter blackbox', function (assert) {
7
+ var m = moment([2010]);
8
+
9
+ assert.equal(m.clone().utcOffset(0).utcOffset(), 0, 'utcOffset 0');
10
+
11
+ assert.equal(m.clone().utcOffset(1).utcOffset(), 60, 'utcOffset 1 is 60');
12
+ assert.equal(m.clone().utcOffset(60).utcOffset(), 60, 'utcOffset 60');
13
+ assert.equal(
14
+ m.clone().utcOffset('+01:00').utcOffset(),
15
+ 60,
16
+ 'utcOffset +01:00 is 60'
17
+ );
18
+ assert.equal(
19
+ m.clone().utcOffset('+0100').utcOffset(),
20
+ 60,
21
+ 'utcOffset +0100 is 60'
22
+ );
23
+
24
+ assert.equal(
25
+ m.clone().utcOffset(-1).utcOffset(),
26
+ -60,
27
+ 'utcOffset -1 is -60'
28
+ );
29
+ assert.equal(m.clone().utcOffset(-60).utcOffset(), -60, 'utcOffset -60');
30
+ assert.equal(
31
+ m.clone().utcOffset('-01:00').utcOffset(),
32
+ -60,
33
+ 'utcOffset -01:00 is -60'
34
+ );
35
+ assert.equal(
36
+ m.clone().utcOffset('-0100').utcOffset(),
37
+ -60,
38
+ 'utcOffset -0100 is -60'
39
+ );
40
+
41
+ assert.equal(
42
+ m.clone().utcOffset(1.5).utcOffset(),
43
+ 90,
44
+ 'utcOffset 1.5 is 90'
45
+ );
46
+ assert.equal(
47
+ m.clone().utcOffset(90).utcOffset(),
48
+ 90,
49
+ 'utcOffset 1.5 is 90'
50
+ );
51
+ assert.equal(
52
+ m.clone().utcOffset('+01:30').utcOffset(),
53
+ 90,
54
+ 'utcOffset +01:30 is 90'
55
+ );
56
+ assert.equal(
57
+ m.clone().utcOffset('+0130').utcOffset(),
58
+ 90,
59
+ 'utcOffset +0130 is 90'
60
+ );
61
+
62
+ assert.equal(m.clone().utcOffset(-1.5).utcOffset(), -90, 'utcOffset -1.5');
63
+ assert.equal(m.clone().utcOffset(-90).utcOffset(), -90, 'utcOffset -90');
64
+ assert.equal(
65
+ m.clone().utcOffset('-01:30').utcOffset(),
66
+ -90,
67
+ 'utcOffset +01:30 is 90'
68
+ );
69
+ assert.equal(
70
+ m.clone().utcOffset('-0130').utcOffset(),
71
+ -90,
72
+ 'utcOffset +0130 is 90'
73
+ );
74
+ assert.equal(
75
+ m.clone().utcOffset('+00:10').utcOffset(),
76
+ 10,
77
+ 'utcOffset +00:10 is 10'
78
+ );
79
+ assert.equal(
80
+ m.clone().utcOffset('-00:10').utcOffset(),
81
+ -10,
82
+ 'utcOffset +00:10 is 10'
83
+ );
84
+ assert.equal(
85
+ m.clone().utcOffset('+0010').utcOffset(),
86
+ 10,
87
+ 'utcOffset +0010 is 10'
88
+ );
89
+ assert.equal(
90
+ m.clone().utcOffset('-0010').utcOffset(),
91
+ -10,
92
+ 'utcOffset +0010 is 10'
93
+ );
94
+ });
95
+
96
+ test('utcOffset shorthand hours -> minutes', function (assert) {
97
+ var i;
98
+ for (i = -15; i <= 15; ++i) {
99
+ assert.equal(
100
+ moment().utcOffset(i).utcOffset(),
101
+ i * 60,
102
+ '' + i + ' -> ' + i * 60
103
+ );
104
+ }
105
+ assert.equal(moment().utcOffset(-16).utcOffset(), -16, '-16 -> -16');
106
+ assert.equal(moment().utcOffset(16).utcOffset(), 16, '16 -> 16');
107
+ });
108
+
109
+ test('isLocal, isUtc, isUtcOffset', function (assert) {
110
+ assert.ok(moment().isLocal(), 'moment() creates objects in local time');
111
+ assert.ok(
112
+ !moment.utc().isLocal(),
113
+ 'moment.utc creates objects NOT in local time'
114
+ );
115
+ assert.ok(
116
+ moment.utc().local().isLocal(),
117
+ 'moment.fn.local() converts to local time'
118
+ );
119
+ assert.ok(
120
+ !moment().utcOffset(5).isLocal(),
121
+ 'moment.fn.utcOffset(N) puts objects NOT in local time'
122
+ );
123
+ assert.ok(
124
+ moment().utcOffset(5).local().isLocal(),
125
+ 'moment.fn.local() converts to local time'
126
+ );
127
+
128
+ assert.ok(moment.utc().isUtc(), 'moment.utc() creates objects in utc time');
129
+ assert.ok(
130
+ moment().utcOffset(0).isUtc(),
131
+ 'utcOffset(0) is equivalent to utc mode'
132
+ );
133
+ assert.ok(
134
+ !moment().utcOffset(1).isUtc(),
135
+ 'utcOffset(1) is NOT equivalent to utc mode'
136
+ );
137
+
138
+ assert.ok(
139
+ !moment().isUtcOffset(),
140
+ 'moment() creates objects NOT in utc-offset mode'
141
+ );
142
+ assert.ok(
143
+ moment.utc().isUtcOffset(),
144
+ 'moment.utc() creates objects in utc-offset mode'
145
+ );
146
+ assert.ok(
147
+ moment().utcOffset(3).isUtcOffset(),
148
+ 'utcOffset(N != 0) creates objects in utc-offset mode'
149
+ );
150
+ assert.ok(
151
+ moment().utcOffset(0).isUtcOffset(),
152
+ 'utcOffset(0) creates objects in utc-offset mode'
153
+ );
154
+ });
155
+
156
+ test('isUTC', function (assert) {
157
+ assert.ok(moment.utc().isUTC(), 'moment.utc() creates objects in utc time');
158
+ assert.ok(
159
+ moment().utcOffset(0).isUTC(),
160
+ 'utcOffset(0) is equivalent to utc mode'
161
+ );
162
+ assert.ok(
163
+ !moment().utcOffset(1).isUTC(),
164
+ 'utcOffset(1) is NOT equivalent to utc mode'
165
+ );
166
+ });
167
+
168
+ test('change hours when changing the utc offset', function (assert) {
169
+ var m = moment.utc([2000, 0, 1, 6]);
170
+ assert.equal(m.hour(), 6, 'UTC 6AM should be 6AM at +0000');
171
+
172
+ // sanity check
173
+ m.utcOffset(0);
174
+ assert.equal(m.hour(), 6, 'UTC 6AM should be 6AM at +0000');
175
+
176
+ m.utcOffset(-60);
177
+ assert.equal(m.hour(), 5, 'UTC 6AM should be 5AM at -0100');
178
+
179
+ m.utcOffset(60);
180
+ assert.equal(m.hour(), 7, 'UTC 6AM should be 7AM at +0100');
181
+ });
182
+
183
+ test('change minutes when changing the utc offset', function (assert) {
184
+ var m = moment.utc([2000, 0, 1, 6, 31]);
185
+
186
+ m.utcOffset(0);
187
+ assert.equal(
188
+ m.format('HH:mm'),
189
+ '06:31',
190
+ 'UTC 6:31AM should be 6:31AM at +0000'
191
+ );
192
+
193
+ m.utcOffset(-30);
194
+ assert.equal(
195
+ m.format('HH:mm'),
196
+ '06:01',
197
+ 'UTC 6:31AM should be 6:01AM at -0030'
198
+ );
199
+
200
+ m.utcOffset(30);
201
+ assert.equal(
202
+ m.format('HH:mm'),
203
+ '07:01',
204
+ 'UTC 6:31AM should be 7:01AM at +0030'
205
+ );
206
+
207
+ m.utcOffset(-1380);
208
+ assert.equal(
209
+ m.format('HH:mm'),
210
+ '07:31',
211
+ 'UTC 6:31AM should be 7:31AM at +1380'
212
+ );
213
+ });
214
+
215
+ test('distance from the unix epoch', function (assert) {
216
+ var zoneA = moment(),
217
+ zoneB = moment(zoneA),
218
+ zoneC = moment(zoneA),
219
+ zoneD = moment(zoneA),
220
+ zoneE = moment(zoneA);
221
+
222
+ zoneB.utc();
223
+ assert.equal(+zoneA, +zoneB, 'moment should equal moment.utc');
224
+
225
+ zoneC.utcOffset(60);
226
+ assert.equal(+zoneA, +zoneC, 'moment should equal moment.utcOffset(60)');
227
+
228
+ zoneD.utcOffset(-480);
229
+ assert.equal(+zoneA, +zoneD, 'moment should equal moment.utcOffset(-480)');
230
+
231
+ zoneE.utcOffset(-1000);
232
+ assert.equal(+zoneA, +zoneE, 'moment should equal moment.utcOffset(-1000)');
233
+ });
234
+
235
+ test('update offset after changing any values', function (assert) {
236
+ var oldOffset = moment.updateOffset,
237
+ m = moment.utc([2000, 6, 1]);
238
+
239
+ moment.updateOffset = function (mom, keepTime) {
240
+ if (mom.__doChange) {
241
+ if (+mom > 962409600000) {
242
+ mom.utcOffset(-120, keepTime);
243
+ } else {
244
+ mom.utcOffset(-60, keepTime);
245
+ }
246
+ }
247
+ };
248
+
249
+ assert.equal(m.format('ZZ'), '+0000', 'should be at +0000');
250
+ assert.equal(
251
+ m.format('HH:mm'),
252
+ '00:00',
253
+ 'should start 12AM at +0000 timezone'
254
+ );
255
+
256
+ m.__doChange = true;
257
+ m.add(1, 'h');
258
+
259
+ assert.equal(m.format('ZZ'), '-0200', 'should be at -0200');
260
+ assert.equal(
261
+ m.format('HH:mm'),
262
+ '23:00',
263
+ '1AM at +0000 should be 11PM at -0200 timezone'
264
+ );
265
+
266
+ m.subtract(1, 'h');
267
+
268
+ assert.equal(m.format('ZZ'), '-0100', 'should be at -0100');
269
+ assert.equal(
270
+ m.format('HH:mm'),
271
+ '23:00',
272
+ '12AM at +0000 should be 11PM at -0100 timezone'
273
+ );
274
+
275
+ moment.updateOffset = oldOffset;
276
+ });
277
+
278
+ //////////////////
279
+ test('getters and setters', function (assert) {
280
+ var a = moment([2011, 5, 20]);
281
+
282
+ assert.equal(
283
+ a.clone().utcOffset(-120).year(2012).year(),
284
+ 2012,
285
+ 'should get and set year correctly'
286
+ );
287
+ assert.equal(
288
+ a.clone().utcOffset(-120).month(1).month(),
289
+ 1,
290
+ 'should get and set month correctly'
291
+ );
292
+ assert.equal(
293
+ a.clone().utcOffset(-120).date(2).date(),
294
+ 2,
295
+ 'should get and set date correctly'
296
+ );
297
+ assert.equal(
298
+ a.clone().utcOffset(-120).day(1).day(),
299
+ 1,
300
+ 'should get and set day correctly'
301
+ );
302
+ assert.equal(
303
+ a.clone().utcOffset(-120).hour(1).hour(),
304
+ 1,
305
+ 'should get and set hour correctly'
306
+ );
307
+ assert.equal(
308
+ a.clone().utcOffset(-120).minute(1).minute(),
309
+ 1,
310
+ 'should get and set minute correctly'
311
+ );
312
+ });
313
+
314
+ test('getters', function (assert) {
315
+ var a = moment.utc([2012, 0, 1, 0, 0, 0]);
316
+
317
+ assert.equal(
318
+ a.clone().utcOffset(-120).year(),
319
+ 2011,
320
+ 'should get year correctly'
321
+ );
322
+ assert.equal(
323
+ a.clone().utcOffset(-120).month(),
324
+ 11,
325
+ 'should get month correctly'
326
+ );
327
+ assert.equal(
328
+ a.clone().utcOffset(-120).date(),
329
+ 31,
330
+ 'should get date correctly'
331
+ );
332
+ assert.equal(
333
+ a.clone().utcOffset(-120).hour(),
334
+ 22,
335
+ 'should get hour correctly'
336
+ );
337
+ assert.equal(
338
+ a.clone().utcOffset(-120).minute(),
339
+ 0,
340
+ 'should get minute correctly'
341
+ );
342
+
343
+ assert.equal(
344
+ a.clone().utcOffset(120).year(),
345
+ 2012,
346
+ 'should get year correctly'
347
+ );
348
+ assert.equal(
349
+ a.clone().utcOffset(120).month(),
350
+ 0,
351
+ 'should get month correctly'
352
+ );
353
+ assert.equal(
354
+ a.clone().utcOffset(120).date(),
355
+ 1,
356
+ 'should get date correctly'
357
+ );
358
+ assert.equal(
359
+ a.clone().utcOffset(120).hour(),
360
+ 2,
361
+ 'should get hour correctly'
362
+ );
363
+ assert.equal(
364
+ a.clone().utcOffset(120).minute(),
365
+ 0,
366
+ 'should get minute correctly'
367
+ );
368
+
369
+ assert.equal(
370
+ a.clone().utcOffset(90).year(),
371
+ 2012,
372
+ 'should get year correctly'
373
+ );
374
+ assert.equal(
375
+ a.clone().utcOffset(90).month(),
376
+ 0,
377
+ 'should get month correctly'
378
+ );
379
+ assert.equal(
380
+ a.clone().utcOffset(90).date(),
381
+ 1,
382
+ 'should get date correctly'
383
+ );
384
+ assert.equal(
385
+ a.clone().utcOffset(90).hour(),
386
+ 1,
387
+ 'should get hour correctly'
388
+ );
389
+ assert.equal(
390
+ a.clone().utcOffset(90).minute(),
391
+ 30,
392
+ 'should get minute correctly'
393
+ );
394
+ });
395
+
396
+ test('from', function (assert) {
397
+ var zoneA = moment(),
398
+ zoneB = moment(zoneA).utcOffset(-720),
399
+ zoneC = moment(zoneA).utcOffset(-360),
400
+ zoneD = moment(zoneA).utcOffset(690),
401
+ other = moment(zoneA).add(35, 'm');
402
+
403
+ assert.equal(
404
+ zoneA.from(other),
405
+ zoneB.from(other),
406
+ 'moment#from should be the same in all zones'
407
+ );
408
+ assert.equal(
409
+ zoneA.from(other),
410
+ zoneC.from(other),
411
+ 'moment#from should be the same in all zones'
412
+ );
413
+ assert.equal(
414
+ zoneA.from(other),
415
+ zoneD.from(other),
416
+ 'moment#from should be the same in all zones'
417
+ );
418
+ });
419
+
420
+ test('diff', function (assert) {
421
+ var zoneA = moment(),
422
+ zoneB = moment(zoneA).utcOffset(-720),
423
+ zoneC = moment(zoneA).utcOffset(-360),
424
+ zoneD = moment(zoneA).utcOffset(690),
425
+ other = moment(zoneA).add(35, 'm');
426
+
427
+ assert.equal(
428
+ zoneA.diff(other),
429
+ zoneB.diff(other),
430
+ 'moment#diff should be the same in all zones'
431
+ );
432
+ assert.equal(
433
+ zoneA.diff(other),
434
+ zoneC.diff(other),
435
+ 'moment#diff should be the same in all zones'
436
+ );
437
+ assert.equal(
438
+ zoneA.diff(other),
439
+ zoneD.diff(other),
440
+ 'moment#diff should be the same in all zones'
441
+ );
442
+
443
+ assert.equal(
444
+ zoneA.diff(other, 'minute', true),
445
+ zoneB.diff(other, 'minute', true),
446
+ 'moment#diff should be the same in all zones'
447
+ );
448
+ assert.equal(
449
+ zoneA.diff(other, 'minute', true),
450
+ zoneC.diff(other, 'minute', true),
451
+ 'moment#diff should be the same in all zones'
452
+ );
453
+ assert.equal(
454
+ zoneA.diff(other, 'minute', true),
455
+ zoneD.diff(other, 'minute', true),
456
+ 'moment#diff should be the same in all zones'
457
+ );
458
+
459
+ assert.equal(
460
+ zoneA.diff(other, 'hour', true),
461
+ zoneB.diff(other, 'hour', true),
462
+ 'moment#diff should be the same in all zones'
463
+ );
464
+ assert.equal(
465
+ zoneA.diff(other, 'hour', true),
466
+ zoneC.diff(other, 'hour', true),
467
+ 'moment#diff should be the same in all zones'
468
+ );
469
+ assert.equal(
470
+ zoneA.diff(other, 'hour', true),
471
+ zoneD.diff(other, 'hour', true),
472
+ 'moment#diff should be the same in all zones'
473
+ );
474
+ });
475
+
476
+ test('unix offset and timestamp', function (assert) {
477
+ var zoneA = moment(),
478
+ zoneB = moment(zoneA).utcOffset(-720),
479
+ zoneC = moment(zoneA).utcOffset(-360),
480
+ zoneD = moment(zoneA).utcOffset(690);
481
+
482
+ assert.equal(
483
+ zoneA.unix(),
484
+ zoneB.unix(),
485
+ 'moment#unix should be the same in all zones'
486
+ );
487
+ assert.equal(
488
+ zoneA.unix(),
489
+ zoneC.unix(),
490
+ 'moment#unix should be the same in all zones'
491
+ );
492
+ assert.equal(
493
+ zoneA.unix(),
494
+ zoneD.unix(),
495
+ 'moment#unix should be the same in all zones'
496
+ );
497
+
498
+ assert.equal(
499
+ +zoneA,
500
+ +zoneB,
501
+ 'moment#valueOf should be the same in all zones'
502
+ );
503
+ assert.equal(
504
+ +zoneA,
505
+ +zoneC,
506
+ 'moment#valueOf should be the same in all zones'
507
+ );
508
+ assert.equal(
509
+ +zoneA,
510
+ +zoneD,
511
+ 'moment#valueOf should be the same in all zones'
512
+ );
513
+ });
514
+
515
+ test('cloning', function (assert) {
516
+ assert.equal(
517
+ moment().utcOffset(-120).clone().utcOffset(),
518
+ -120,
519
+ 'explicit cloning should retain the offset'
520
+ );
521
+ assert.equal(
522
+ moment().utcOffset(120).clone().utcOffset(),
523
+ 120,
524
+ 'explicit cloning should retain the offset'
525
+ );
526
+ assert.equal(
527
+ moment(moment().utcOffset(-120)).utcOffset(),
528
+ -120,
529
+ 'implicit cloning should retain the offset'
530
+ );
531
+ assert.equal(
532
+ moment(moment().utcOffset(120)).utcOffset(),
533
+ 120,
534
+ 'implicit cloning should retain the offset'
535
+ );
536
+ });
537
+
538
+ test('start of / end of', function (assert) {
539
+ var a = moment.utc([2010, 1, 2, 0, 0, 0]).utcOffset(-450);
540
+
541
+ assert.equal(
542
+ a.clone().startOf('day').hour(),
543
+ 0,
544
+ 'start of day should work on moments with utc offset'
545
+ );
546
+ assert.equal(
547
+ a.clone().startOf('day').minute(),
548
+ 0,
549
+ 'start of day should work on moments with utc offset'
550
+ );
551
+ assert.equal(
552
+ a.clone().startOf('hour').minute(),
553
+ 0,
554
+ 'start of hour should work on moments with utc offset'
555
+ );
556
+
557
+ assert.equal(
558
+ a.clone().endOf('day').hour(),
559
+ 23,
560
+ 'end of day should work on moments with utc offset'
561
+ );
562
+ assert.equal(
563
+ a.clone().endOf('day').minute(),
564
+ 59,
565
+ 'end of day should work on moments with utc offset'
566
+ );
567
+ assert.equal(
568
+ a.clone().endOf('hour').minute(),
569
+ 59,
570
+ 'end of hour should work on moments with utc offset'
571
+ );
572
+ });
573
+
574
+ test('reset offset with moment#utc', function (assert) {
575
+ var a = moment.utc([2012]).utcOffset(-480);
576
+
577
+ assert.equal(
578
+ a.clone().hour(),
579
+ 16,
580
+ 'different utc offset should have different hour'
581
+ );
582
+ assert.equal(
583
+ a.clone().utc().hour(),
584
+ 0,
585
+ 'calling moment#utc should reset the offset'
586
+ );
587
+ });
588
+
589
+ test('reset offset with moment#local', function (assert) {
590
+ var a = moment([2012]).utcOffset(-480);
591
+
592
+ assert.equal(
593
+ a.clone().local().hour(),
594
+ 0,
595
+ 'calling moment#local should reset the offset'
596
+ );
597
+ });
598
+
599
+ test('toDate', function (assert) {
600
+ var zoneA = new Date(),
601
+ zoneB = moment(zoneA).utcOffset(-720).toDate(),
602
+ zoneC = moment(zoneA).utcOffset(-360).toDate(),
603
+ zoneD = moment(zoneA).utcOffset(690).toDate();
604
+
605
+ assert.equal(
606
+ +zoneA,
607
+ +zoneB,
608
+ 'moment#toDate should output a date with the right unix timestamp'
609
+ );
610
+ assert.equal(
611
+ +zoneA,
612
+ +zoneC,
613
+ 'moment#toDate should output a date with the right unix timestamp'
614
+ );
615
+ assert.equal(
616
+ +zoneA,
617
+ +zoneD,
618
+ 'moment#toDate should output a date with the right unix timestamp'
619
+ );
620
+ });
621
+
622
+ test('same / before / after', function (assert) {
623
+ var zoneA = moment().utc(),
624
+ zoneB = moment(zoneA).utcOffset(-120),
625
+ zoneC = moment(zoneA).utcOffset(120);
626
+
627
+ assert.ok(
628
+ zoneA.isSame(zoneB),
629
+ 'two moments with different offsets should be the same'
630
+ );
631
+ assert.ok(
632
+ zoneA.isSame(zoneC),
633
+ 'two moments with different offsets should be the same'
634
+ );
635
+
636
+ assert.ok(
637
+ zoneA.isSame(zoneB, 'hour'),
638
+ 'two moments with different offsets should be the same hour'
639
+ );
640
+ assert.ok(
641
+ zoneA.isSame(zoneC, 'hour'),
642
+ 'two moments with different offsets should be the same hour'
643
+ );
644
+
645
+ zoneA.add(1, 'hour');
646
+
647
+ assert.ok(
648
+ zoneA.isAfter(zoneB),
649
+ 'isAfter should work with two moments with different offsets'
650
+ );
651
+ assert.ok(
652
+ zoneA.isAfter(zoneC),
653
+ 'isAfter should work with two moments with different offsets'
654
+ );
655
+
656
+ assert.ok(
657
+ zoneA.isAfter(zoneB, 'hour'),
658
+ 'isAfter:hour should work with two moments with different offsets'
659
+ );
660
+ assert.ok(
661
+ zoneA.isAfter(zoneC, 'hour'),
662
+ 'isAfter:hour should work with two moments with different offsets'
663
+ );
664
+
665
+ zoneA.subtract(2, 'hour');
666
+
667
+ assert.ok(
668
+ zoneA.isBefore(zoneB),
669
+ 'isBefore should work with two moments with different offsets'
670
+ );
671
+ assert.ok(
672
+ zoneA.isBefore(zoneC),
673
+ 'isBefore should work with two moments with different offsets'
674
+ );
675
+
676
+ assert.ok(
677
+ zoneA.isBefore(zoneB, 'hour'),
678
+ 'isBefore:hour should work with two moments with different offsets'
679
+ );
680
+ assert.ok(
681
+ zoneA.isBefore(zoneC, 'hour'),
682
+ 'isBefore:hour should work with two moments with different offsets'
683
+ );
684
+ });
685
+
686
+ test('add / subtract over dst', function (assert) {
687
+ var oldOffset = moment.updateOffset,
688
+ m = moment.utc([2000, 2, 31, 3]);
689
+
690
+ moment.updateOffset = function (mom, keepTime) {
691
+ if (mom.clone().utc().month() > 2) {
692
+ mom.utcOffset(60, keepTime);
693
+ } else {
694
+ mom.utcOffset(0, keepTime);
695
+ }
696
+ };
697
+
698
+ assert.equal(m.hour(), 3, 'should start at 00:00');
699
+
700
+ m.add(24, 'hour');
701
+
702
+ assert.equal(m.hour(), 4, 'adding 24 hours should disregard dst');
703
+
704
+ m.subtract(24, 'hour');
705
+
706
+ assert.equal(m.hour(), 3, 'subtracting 24 hours should disregard dst');
707
+
708
+ m.add(1, 'day');
709
+
710
+ assert.equal(m.hour(), 3, 'adding 1 day should have the same hour');
711
+
712
+ m.subtract(1, 'day');
713
+
714
+ assert.equal(m.hour(), 3, 'subtracting 1 day should have the same hour');
715
+
716
+ m.add(1, 'month');
717
+
718
+ assert.equal(m.hour(), 3, 'adding 1 month should have the same hour');
719
+
720
+ m.subtract(1, 'month');
721
+
722
+ assert.equal(m.hour(), 3, 'subtracting 1 month should have the same hour');
723
+
724
+ moment.updateOffset = oldOffset;
725
+ });
726
+
727
+ test('isDST', function (assert) {
728
+ var oldOffset = moment.updateOffset;
729
+
730
+ moment.updateOffset = function (mom, keepTime) {
731
+ if (mom.month() > 2 && mom.month() < 9) {
732
+ mom.utcOffset(60, keepTime);
733
+ } else {
734
+ mom.utcOffset(0, keepTime);
735
+ }
736
+ };
737
+
738
+ assert.ok(!moment().month(0).isDST(), 'Jan should not be summer dst');
739
+ assert.ok(moment().month(6).isDST(), 'Jul should be summer dst');
740
+ assert.ok(!moment().month(11).isDST(), 'Dec should not be summer dst');
741
+
742
+ moment.updateOffset = function (mom) {
743
+ if (mom.month() > 2 && mom.month() < 9) {
744
+ mom.utcOffset(0);
745
+ } else {
746
+ mom.utcOffset(60);
747
+ }
748
+ };
749
+
750
+ assert.ok(moment().month(0).isDST(), 'Jan should be winter dst');
751
+ assert.ok(!moment().month(6).isDST(), 'Jul should not be winter dst');
752
+ assert.ok(moment().month(11).isDST(), 'Dec should be winter dst');
753
+
754
+ moment.updateOffset = oldOffset;
755
+ });
756
+
757
+ test('zone names', function (assert) {
758
+ assert.equal(moment().zoneAbbr(), '', 'Local zone abbr should be empty');
759
+ assert.equal(
760
+ moment().format('z'),
761
+ '',
762
+ 'Local zone formatted abbr should be empty'
763
+ );
764
+ assert.equal(moment().zoneName(), '', 'Local zone name should be empty');
765
+ assert.equal(
766
+ moment().format('zz'),
767
+ '',
768
+ 'Local zone formatted name should be empty'
769
+ );
770
+
771
+ assert.equal(moment.utc().zoneAbbr(), 'UTC', 'UTC zone abbr should be UTC');
772
+ assert.equal(
773
+ moment.utc().format('z'),
774
+ 'UTC',
775
+ 'UTC zone formatted abbr should be UTC'
776
+ );
777
+ assert.equal(
778
+ moment.utc().zoneName(),
779
+ 'Coordinated Universal Time',
780
+ 'UTC zone abbr should be Coordinated Universal Time'
781
+ );
782
+ assert.equal(
783
+ moment.utc().format('zz'),
784
+ 'Coordinated Universal Time',
785
+ 'UTC zone formatted abbr should be Coordinated Universal Time'
786
+ );
787
+ });
788
+
789
+ test('hours alignment with UTC', function (assert) {
790
+ assert.equal(moment().utcOffset(-120).hasAlignedHourOffset(), true);
791
+ assert.equal(moment().utcOffset(180).hasAlignedHourOffset(), true);
792
+ assert.equal(moment().utcOffset(-90).hasAlignedHourOffset(), false);
793
+ assert.equal(moment().utcOffset(90).hasAlignedHourOffset(), false);
794
+ });
795
+
796
+ test('hours alignment with other zone', function (assert) {
797
+ var m = moment().utcOffset(-120);
798
+
799
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-180)), true);
800
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(180)), true);
801
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-90)), false);
802
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(90)), false);
803
+
804
+ m = moment().utcOffset(-90);
805
+
806
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-180)), false);
807
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(180)), false);
808
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-30)), true);
809
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(30)), true);
810
+
811
+ m = moment().utcOffset(60);
812
+
813
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-180)), true);
814
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(180)), true);
815
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-90)), false);
816
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(90)), false);
817
+
818
+ m = moment().utcOffset(-25);
819
+
820
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(35)), true);
821
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-85)), true);
822
+
823
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(-35)), false);
824
+ assert.equal(m.hasAlignedHourOffset(moment().utcOffset(85)), false);
825
+ });
826
+
827
+ test('parse zone', function (assert) {
828
+ var m = moment('2013-01-01T00:00:00-13:00').parseZone();
829
+ assert.equal(m.utcOffset(), -13 * 60);
830
+ assert.equal(m.hours(), 0);
831
+ });
832
+
833
+ test('parse UTC zone', function (assert) {
834
+ var m = moment('2013-01-01T05:00:00+00:00').parseZone();
835
+ assert.equal(m.utcOffset(), 0);
836
+ assert.equal(m.hours(), 5);
837
+ });
838
+
839
+ test('parse zone static', function (assert) {
840
+ var m = moment.parseZone('2013-01-01T00:00:00-13:00');
841
+ assert.equal(m.utcOffset(), -13 * 60);
842
+ assert.equal(m.hours(), 0);
843
+ });
844
+
845
+ test('parse zone with more arguments', function (assert) {
846
+ var m;
847
+ m = moment.parseZone('2013 01 01 05 -13:00', 'YYYY MM DD HH ZZ');
848
+ assert.equal(
849
+ m.format(),
850
+ '2013-01-01T05:00:00-13:00',
851
+ 'accept input and format'
852
+ );
853
+ m = moment.parseZone('2013-01-01-13:00', 'YYYY MM DD ZZ', true);
854
+ assert.equal(m.isValid(), false, 'accept input, format and strict flag');
855
+ m = moment.parseZone('2013-01-01-13:00', [
856
+ 'DD MM YYYY ZZ',
857
+ 'YYYY MM DD ZZ',
858
+ ]);
859
+ assert.equal(
860
+ m.format(),
861
+ '2013-01-01T00:00:00-13:00',
862
+ 'accept input and array of formats'
863
+ );
864
+ });
865
+
866
+ test('parse zone with a timezone from the format string', function (assert) {
867
+ var m = moment('11-12-2013 -0400 +1100', 'DD-MM-YYYY ZZ #####').parseZone();
868
+
869
+ assert.equal(m.utcOffset(), -4 * 60);
870
+ });
871
+
872
+ test('parse zone without a timezone included in the format string', function (assert) {
873
+ var m = moment('11-12-2013 -0400 +1100', 'DD-MM-YYYY').parseZone();
874
+
875
+ assert.equal(m.utcOffset(), 11 * 60);
876
+ });
877
+
878
+ test('timezone format', function (assert) {
879
+ assert.equal(moment().utcOffset(60).format('ZZ'), '+0100', '-60 -> +0100');
880
+ assert.equal(moment().utcOffset(90).format('ZZ'), '+0130', '-90 -> +0130');
881
+ assert.equal(
882
+ moment().utcOffset(120).format('ZZ'),
883
+ '+0200',
884
+ '-120 -> +0200'
885
+ );
886
+
887
+ assert.equal(moment().utcOffset(-60).format('ZZ'), '-0100', '+60 -> -0100');
888
+ assert.equal(moment().utcOffset(-90).format('ZZ'), '-0130', '+90 -> -0130');
889
+ assert.equal(
890
+ moment().utcOffset(-120).format('ZZ'),
891
+ '-0200',
892
+ '+120 -> -0200'
893
+ );
894
+ });