javascript-time-ago 2.6.2 → 2.6.3

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 (226) hide show
  1. package/bundle/javascript-time-ago.js +1 -1
  2. package/bundle/javascript-time-ago.js.map +1 -1
  3. package/bundle/javascript-time-ago.min.js +1 -1
  4. package/bundle/javascript-time-ago.min.js.map +1 -1
  5. package/commonjs/FullDateFormatter.test.js +11 -9
  6. package/commonjs/FullDateFormatter.test.js.map +1 -1
  7. package/commonjs/TimeAgo.test.js +237 -236
  8. package/commonjs/TimeAgo.test.js.map +1 -1
  9. package/commonjs/cache.test.js +8 -6
  10. package/commonjs/cache.test.js.map +1 -1
  11. package/commonjs/isStyleObject.test.js +21 -19
  12. package/commonjs/isStyleObject.test.js.map +1 -1
  13. package/commonjs/locale.test.js +16 -14
  14. package/commonjs/locale.test.js.map +1 -1
  15. package/commonjs/steps/approximate.test.js +26 -24
  16. package/commonjs/steps/approximate.test.js.map +1 -1
  17. package/commonjs/steps/getStep.test.js +20 -18
  18. package/commonjs/steps/getStep.test.js.map +1 -1
  19. package/commonjs/steps/getStepDenominator.test.js +9 -7
  20. package/commonjs/steps/getStepDenominator.test.js.map +1 -1
  21. package/commonjs/steps/getStepMinTime.test.js +9 -7
  22. package/commonjs/steps/getStepMinTime.test.js.map +1 -1
  23. package/commonjs/steps/getTimeToNextUpdate.test.js +56 -54
  24. package/commonjs/steps/getTimeToNextUpdate.test.js.map +1 -1
  25. package/commonjs/steps/getTimeToNextUpdateForUnit.test.js +20 -18
  26. package/commonjs/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
  27. package/commonjs/steps/helpers.test.js +6 -4
  28. package/commonjs/steps/helpers.test.js.map +1 -1
  29. package/commonjs/steps/renameLegacyProperties.test.js +12 -10
  30. package/commonjs/steps/renameLegacyProperties.test.js.map +1 -1
  31. package/commonjs/steps/round.test.js +27 -25
  32. package/commonjs/steps/round.test.js.map +1 -1
  33. package/commonjs/style/approximateTime.test.js +6 -5
  34. package/commonjs/style/approximateTime.test.js.map +1 -1
  35. package/commonjs/style/mini.test.js +62 -60
  36. package/commonjs/style/mini.test.js.map +1 -1
  37. package/commonjs/style/miniMinute.test.js +27 -25
  38. package/commonjs/style/miniMinute.test.js.map +1 -1
  39. package/commonjs/style/miniMinuteNow.test.js +27 -25
  40. package/commonjs/style/miniMinuteNow.test.js.map +1 -1
  41. package/commonjs/style/miniNow.test.js +27 -25
  42. package/commonjs/style/miniNow.test.js.map +1 -1
  43. package/commonjs/style/renameLegacyProperties.test.js +9 -7
  44. package/commonjs/style/renameLegacyProperties.test.js.map +1 -1
  45. package/commonjs/style/round.test.js +81 -79
  46. package/commonjs/style/round.test.js.map +1 -1
  47. package/commonjs/style/roundMinute.test.js +50 -48
  48. package/commonjs/style/roundMinute.test.js.map +1 -1
  49. package/commonjs/style/twitter.test.js +86 -84
  50. package/commonjs/style/twitter.test.js.map +1 -1
  51. package/commonjs/style/twitterFirstMinute.test.js +33 -31
  52. package/commonjs/style/twitterFirstMinute.test.js.map +1 -1
  53. package/commonjs/style/twitterMinute.test.js +32 -30
  54. package/commonjs/style/twitterMinute.test.js.map +1 -1
  55. package/commonjs/style/twitterMinuteNow.test.js +32 -30
  56. package/commonjs/style/twitterMinuteNow.test.js.map +1 -1
  57. package/commonjs/style/twitterNow.test.js +34 -32
  58. package/commonjs/style/twitterNow.test.js.map +1 -1
  59. package/load-all-locales/index.cjs +15 -0
  60. package/load-all-locales/index.cjs.js +15 -0
  61. package/load-all-locales/index.js +30 -0
  62. package/locale/ak.json +8 -26
  63. package/locale/ak.json.js +8 -26
  64. package/locale/am.json +3 -3
  65. package/locale/am.json.js +3 -3
  66. package/locale/ba/package.json +16 -0
  67. package/locale/ba.json +159 -0
  68. package/locale/ba.json.d.ts +4 -0
  69. package/locale/ba.json.js +159 -0
  70. package/locale/be-tarask.json +4 -4
  71. package/locale/be-tarask.json.js +4 -4
  72. package/locale/be.json +4 -4
  73. package/locale/be.json.js +4 -4
  74. package/locale/bn.json +6 -6
  75. package/locale/bn.json.js +6 -6
  76. package/locale/bs.json +36 -30
  77. package/locale/bs.json.js +36 -30
  78. package/locale/bua/package.json +16 -0
  79. package/locale/bua.json +159 -0
  80. package/locale/bua.json.d.ts +4 -0
  81. package/locale/bua.json.js +159 -0
  82. package/locale/cv.json +134 -82
  83. package/locale/cv.json.js +134 -82
  84. package/locale/en-EE/package.json +16 -0
  85. package/locale/en-EE.json +219 -0
  86. package/locale/en-EE.json.d.ts +4 -0
  87. package/locale/en-EE.json.js +219 -0
  88. package/locale/en-GE/package.json +16 -0
  89. package/locale/en-GE.json +219 -0
  90. package/locale/en-GE.json.d.ts +4 -0
  91. package/locale/en-GE.json.js +219 -0
  92. package/locale/en-LT/package.json +16 -0
  93. package/locale/en-LT.json +219 -0
  94. package/locale/en-LT.json.d.ts +4 -0
  95. package/locale/en-LT.json.js +219 -0
  96. package/locale/en-LV/package.json +16 -0
  97. package/locale/en-LV.json +219 -0
  98. package/locale/en-LV.json.d.ts +4 -0
  99. package/locale/en-LV.json.js +219 -0
  100. package/locale/en-UA/package.json +16 -0
  101. package/locale/en-UA.json +219 -0
  102. package/locale/en-UA.json.d.ts +4 -0
  103. package/locale/en-UA.json.js +219 -0
  104. package/locale/es-MX.json +2 -8
  105. package/locale/es-MX.json.js +2 -8
  106. package/locale/fr-CA.json +4 -4
  107. package/locale/fr-CA.json.js +4 -4
  108. package/locale/fr.json +4 -4
  109. package/locale/fr.json.js +4 -4
  110. package/locale/he.json +74 -86
  111. package/locale/he.json.js +74 -86
  112. package/locale/ht.json +4 -4
  113. package/locale/ht.json.js +4 -4
  114. package/locale/ie.json +15 -9
  115. package/locale/ie.json.js +15 -9
  116. package/locale/kk-Arab/package.json +16 -0
  117. package/locale/kk-Arab.json +159 -0
  118. package/locale/kk-Arab.json.d.ts +4 -0
  119. package/locale/kk-Arab.json.js +159 -0
  120. package/locale/kok-Latn.json +138 -39
  121. package/locale/kok-Latn.json.js +138 -39
  122. package/locale/kok.json +169 -64
  123. package/locale/kok.json.js +169 -64
  124. package/locale/ku.json +166 -73
  125. package/locale/ku.json.js +166 -73
  126. package/locale/mk.json +20 -20
  127. package/locale/mk.json.js +20 -20
  128. package/locale/nso/package.json +16 -0
  129. package/locale/nso.json +159 -0
  130. package/locale/nso.json.d.ts +4 -0
  131. package/locale/nso.json.js +159 -0
  132. package/locale/rm.json +151 -85
  133. package/locale/rm.json.js +151 -85
  134. package/locale/ro.json +4 -2
  135. package/locale/ro.json.js +4 -2
  136. package/locale/rw/package.json +16 -0
  137. package/locale/rw.json +159 -0
  138. package/locale/rw.json.d.ts +4 -0
  139. package/locale/rw.json.js +159 -0
  140. package/locale/scn/package.json +16 -0
  141. package/locale/scn.json +249 -0
  142. package/locale/scn.json.d.ts +4 -0
  143. package/locale/scn.json.js +249 -0
  144. package/locale/sd-Deva/package.json +16 -0
  145. package/locale/sd-Deva.json +159 -0
  146. package/locale/sd-Deva.json.d.ts +4 -0
  147. package/locale/sd-Deva.json.js +159 -0
  148. package/locale/sd.json +77 -20
  149. package/locale/sd.json.js +77 -20
  150. package/locale/shn/package.json +16 -0
  151. package/locale/shn.json +159 -0
  152. package/locale/shn.json.d.ts +4 -0
  153. package/locale/shn.json.js +159 -0
  154. package/locale/sv.json +3 -3
  155. package/locale/sv.json.js +3 -3
  156. package/locale/syr.json +27 -27
  157. package/locale/syr.json.js +27 -27
  158. package/locale/ta.json +15 -9
  159. package/locale/ta.json.js +15 -9
  160. package/locale/tn.json +27 -27
  161. package/locale/tn.json.js +27 -27
  162. package/locale/tok/package.json +16 -0
  163. package/locale/tok.json +159 -0
  164. package/locale/tok.json.d.ts +4 -0
  165. package/locale/tok.json.js +159 -0
  166. package/locale/tyv/package.json +16 -0
  167. package/locale/tyv.json +159 -0
  168. package/locale/tyv.json.d.ts +4 -0
  169. package/locale/tyv.json.js +159 -0
  170. package/locale/xh.json +18 -18
  171. package/locale/xh.json.js +18 -18
  172. package/modules/FullDateFormatter.test.js +2 -0
  173. package/modules/FullDateFormatter.test.js.map +1 -1
  174. package/modules/TimeAgo.test.js +190 -189
  175. package/modules/TimeAgo.test.js.map +1 -1
  176. package/modules/cache.test.js +2 -0
  177. package/modules/cache.test.js.map +1 -1
  178. package/modules/isStyleObject.test.js +19 -17
  179. package/modules/isStyleObject.test.js.map +1 -1
  180. package/modules/locale.test.js +12 -10
  181. package/modules/locale.test.js.map +1 -1
  182. package/modules/steps/approximate.test.js +2 -0
  183. package/modules/steps/approximate.test.js.map +1 -1
  184. package/modules/steps/getStep.test.js +7 -5
  185. package/modules/steps/getStep.test.js.map +1 -1
  186. package/modules/steps/getStepDenominator.test.js +6 -4
  187. package/modules/steps/getStepDenominator.test.js.map +1 -1
  188. package/modules/steps/getStepMinTime.test.js +6 -4
  189. package/modules/steps/getStepMinTime.test.js.map +1 -1
  190. package/modules/steps/getTimeToNextUpdate.test.js +36 -34
  191. package/modules/steps/getTimeToNextUpdate.test.js.map +1 -1
  192. package/modules/steps/getTimeToNextUpdateForUnit.test.js +12 -10
  193. package/modules/steps/getTimeToNextUpdateForUnit.test.js.map +1 -1
  194. package/modules/steps/helpers.test.js +4 -2
  195. package/modules/steps/helpers.test.js.map +1 -1
  196. package/modules/steps/renameLegacyProperties.test.js +8 -6
  197. package/modules/steps/renameLegacyProperties.test.js.map +1 -1
  198. package/modules/steps/round.test.js +2 -0
  199. package/modules/steps/round.test.js.map +1 -1
  200. package/modules/style/approximateTime.test.js +3 -2
  201. package/modules/style/approximateTime.test.js.map +1 -1
  202. package/modules/style/mini.test.js +58 -56
  203. package/modules/style/mini.test.js.map +1 -1
  204. package/modules/style/miniMinute.test.js +25 -23
  205. package/modules/style/miniMinute.test.js.map +1 -1
  206. package/modules/style/miniMinuteNow.test.js +25 -23
  207. package/modules/style/miniMinuteNow.test.js.map +1 -1
  208. package/modules/style/miniNow.test.js +25 -23
  209. package/modules/style/miniNow.test.js.map +1 -1
  210. package/modules/style/renameLegacyProperties.test.js +6 -4
  211. package/modules/style/renameLegacyProperties.test.js.map +1 -1
  212. package/modules/style/round.test.js +76 -74
  213. package/modules/style/round.test.js.map +1 -1
  214. package/modules/style/roundMinute.test.js +47 -45
  215. package/modules/style/roundMinute.test.js.map +1 -1
  216. package/modules/style/twitter.test.js +72 -70
  217. package/modules/style/twitter.test.js.map +1 -1
  218. package/modules/style/twitterFirstMinute.test.js +29 -27
  219. package/modules/style/twitterFirstMinute.test.js.map +1 -1
  220. package/modules/style/twitterMinute.test.js +29 -27
  221. package/modules/style/twitterMinute.test.js.map +1 -1
  222. package/modules/style/twitterMinuteNow.test.js +29 -27
  223. package/modules/style/twitterMinuteNow.test.js.map +1 -1
  224. package/modules/style/twitterNow.test.js +31 -29
  225. package/modules/style/twitterNow.test.js.map +1 -1
  226. package/package.json +126 -5
@@ -1 +1 @@
1
- {"version":3,"file":"TimeAgo.test.js","names":["_TimeAgo","_interopRequireDefault","require","_LocaleDataStore","_en","e","__esModule","_slicedToArray","r","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","TimeAgo","setDefaultLocale","describe","it","timeAgo","format","Date","now","should","equal","future","labels","steps","formatAs","flavour","gradation","englishNow","english","addLocale","undefined","NumberFormat","Intl","englishLongTimeMinute","minute","past","mockedDate","getTime","thrower","units","custom","_ref","time","date","locale","_ref2","expect","_ref3","getTimeToNextUpdate","to","style2","style","unit","factor","include","secondLabels","second","refreshedTimes","_timeAgo$format","refresh","text","Error","round","_timeAgo$format2","cancelRefresh","be","timeToNextUpdate","delay","then","deep","getTimeToNextUpdateUncapped","minTime","_ref4","polyfill","global","getDefaultLocale","addDefaultLocale","delayTime","Promise","resolve","setTimeout"],"sources":["../source/TimeAgo.test.js"],"sourcesContent":["import TimeAgo from './TimeAgo.js'\r\nimport { getLocaleData } from './LocaleDataStore.js'\r\n\r\n// Load locale specific relative date/time messages\r\nimport english from '../locale/en.json' with { type: 'json' }\r\n\r\n// Just so this function code is covered.\r\nTimeAgo.setDefaultLocale('en')\r\n\r\ndescribe(`javascript-time-ago`, () => {\r\n\tit('should default to \"round-minute\" style', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now()).should.equal('just now')\r\n\t\ttimeAgo.format(Date.now() + 20 * 1000).should.equal('in a moment')\r\n\t\ttimeAgo.format(Date.now() + 1 * 60 * 1000).should.equal('in 1 minute')\r\n\t\ttimeAgo.format(Date.now() + 4 * 60 * 1000).should.equal('in 4 minutes')\r\n\t})\r\n\r\n\tit('should tell `options` argument from `style` argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), 'mini-now').should.equal('now')\r\n\t\ttimeAgo.format(0, { future: true, now: 0 }).should.equal('in a moment')\r\n\t\ttimeAgo.format(0, { labels: 'mini', steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 }).should.equal('now')\r\n\t\ttimeAgo.format(0, { labels: ['mini'], steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 }).should.equal('now')\r\n\t\t// `flavour` is a legacy name of `labels` property.\r\n\t\ttimeAgo.format(0, { flavour: 'mini' }, { future: true, now: 0 }).should.equal('now')\r\n\t\ttimeAgo.format(0, { flavour: ['mini'] }, { future: true, now: 0 }).should.equal('now')\r\n\t\ttimeAgo.format(0, { steps: [{ formatAs: 'minute' }] }, { future: true, now: 0 }).should.equal('in 0 minutes')\r\n\t\t// `gradation` is a legacy name of `steps` property.\r\n\t\ttimeAgo.format(0, { gradation: [{ formatAs: 'minute' }] }, { future: true, now: 0 }).should.equal('in 0 minutes')\r\n\t})\r\n\r\n\tit('should try various label types until an appropriate one is found', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), { labels: ['exotic', 'short'] }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should support the legacy name \"flavour\" of \"labels\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), { labels: ['exotic', 'short'] }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should fallback to \"second.current\" for \"now\" when \"now\" is not defined', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tdelete english.now\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tenglish.now = undefined\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst NumberFormat = Intl.NumberFormat\r\n\t\tdelete Intl.NumberFormat\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' }).should.equal('1 minute')\r\n\t\tIntl.NumberFormat = NumberFormat\r\n\t})\r\n\r\n\tit('should work when \"past\"/\"future\" messages are same for all quantifiers', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now() + 365 * 24 * 60 * 60 * 1000, { labels: 'short' }).should.equal('in 1 yr.')\r\n\t})\r\n\r\n\tit('should work when \"now\" is a string (does not differentiate between \"past\" and \"future\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tenglish.now = { now: 'now' }\r\n\t\tTimeAgo.addLocale(english)\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\ttimeAgo.format(Date.now(), { labels: 'long' }).should.equal('just now')\r\n\t})\r\n\r\n\tit('should work when a unit has formatting rules for \"past\" and \"future\" which are strings (style: not \"long\", not \"short\", not \"narrow\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishLongTimeMinute = english['long-time'].minute\r\n\t\tenglish['long-time'].minute = {\r\n\t\t\tpast: '{0} minute(s) ago',\r\n\t\t\tfuture: 'in {0} minute(s)'\r\n\t\t}\r\n\t\tTimeAgo.addLocale(english)\r\n\t\t// Past.\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' }).should.equal('1 minute(s) ago')\r\n\t\t// Future (covers an \"else\" branch).\r\n\t\ttimeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' }).should.equal('in 1 minute(s)')\r\n\t\t// Undo.\r\n\t\tenglish['long-time'].minute = englishLongTimeMinute\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' }).should.equal('1 minute')\r\n\t})\r\n\r\n\tit(`should format \"now\" for \"past\" time`, () =>\r\n\t{\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now() + 10, { labels: ['long'] }).should.equal('in a moment')\r\n\t})\r\n\r\n\tit('should accept a string style name argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// \"mini\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'mini').should.equal('0s')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'mini').should.equal('1s')\r\n\t\t// \"mini-now\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'mini-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'mini-now').should.equal('1s')\r\n\t\t// \"mini-minute-now\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'mini-minute-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'mini-minute-now').should.equal('1m')\r\n\t\t// \"mini-minute\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'mini-minute').should.equal('0m')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'mini-minute').should.equal('1m')\r\n\t\t// \"twitter\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'twitter').should.equal('0s')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'twitter').should.equal('1s')\r\n\t\t// \"twitter-now\".\r\n\t\ttimeAgo.format(Date.now() - 0 * 1000, 'twitter-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 1 * 1000, 'twitter-now').should.equal('1s')\r\n\t\t// \"twitter-minute-now\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'twitter-minute-now').should.equal('now')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'twitter-minute-now').should.equal('1m')\r\n\t\t// \"twitter-minute\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'twitter-minute').should.equal('0m')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'twitter-minute').should.equal('1m')\r\n\t\t// \"twitter-first-minute\".\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'twitter-first-minute').should.equal('')\r\n\t\ttimeAgo.format(Date.now() - 60 * 1000, 'twitter-first-minute').should.equal('1m')\r\n\t\t// \"approximate\".\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'approximate').should.equal('just now')\r\n\t\t// \"convenient\" style was renamed to \"approximate\".\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'convenient').should.equal('just now')\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'round').should.equal('45 seconds ago')\r\n\t\t// \"default\" style was renamed to \"round\".\r\n\t\ttimeAgo.format(Date.now() - 45 * 1000, 'default').should.equal('45 seconds ago')\r\n\t\ttimeAgo.format(Date.now() - 29 * 1000, 'round-minute').should.equal('just now')\r\n\t\t// \"time\" style was renamed to \"approximate-time\".\r\n\t\ttimeAgo.format(Date.now() - 2 * 60 * 1000, 'time').should.equal('2 minutes')\r\n\t\ttimeAgo.format(Date.now() - 2 * 60 * 1000, 'approximate-time').should.equal('2 minutes')\r\n\t\ttimeAgo.format(Date.now(), 'exotic').should.equal('just now')\r\n\t})\r\n\r\n\tit('should accept empty constructor parameters', () => {\r\n\t\tconst timeAgo = new TimeAgo()\r\n\t\ttimeAgo.format(new Date()).should.equal('just now')\r\n\t})\r\n\r\n\tit('should accept \"mocked\" Dates when testing', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst mockedDate = { getTime: () => Date.now() }\r\n\t\ttimeAgo.format(mockedDate).should.equal('just now')\r\n\t})\r\n\r\n\tit('should not accept anything but Dates and timestamps', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst thrower = () => timeAgo.format('Jan 14, 2017')\r\n\t\tthrower.should.throw('Unsupported relative time formatter input: string, Jan 14, 2017')\r\n\t})\r\n\r\n\tit('should return an empty string if the specified units are not available in locale data', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), { units: ['femtosecond'] }).should.equal('')\r\n\t})\r\n\r\n\tit('should format for a style with \"custom\" function', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns a string\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t})\r\n\t\t.should.equal('en')\r\n\r\n\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns `undefined`\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t})\r\n\t\t.should.equal('just now')\r\n\t})\r\n\r\n\tit('should throw an error when formating for a style with \"custom\" function and `getTimeToNextUpdate: true` parameter is passed', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\texpect(() => {\r\n\t\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t\t// `custom` returns a string.\r\n\t\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\t\treturn locale\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t})\r\n\t\t}).to.throw('not supported')\r\n\t})\r\n\r\n\tit('should format future dates', () => {\r\n\t\tnew TimeAgo('en').format(Date.now() + 60 * 60 * 1000).should.equal('in 1 hour')\r\n\t\tnew TimeAgo('ru').format(Date.now() + 60 * 1000).should.equal('через 1 минуту')\r\n\t})\r\n\r\n\tit('should accept \"future\" option', () => {\r\n\t\t// \"now\" unit.\r\n\t\tnew TimeAgo('en').format(Date.now()).should.equal('just now')\r\n\t\tnew TimeAgo('en').format(Date.now(), 'approximate', { future: true }).should.equal('in a moment')\r\n\r\n\t\t// Non-\"now\" unit, \"long\" style.\r\n\t\t// const style = {\r\n\t\t// \tgradation: [{\r\n\t\t// \t\tfactor: 1,\r\n\t\t// \t\tunit: 'second'\r\n\t\t// \t}],\r\n\t\t// \tlabels: 'long'\r\n\t\t// }\r\n\t\t// new TimeAgo('en').format(Date.now(), style).should.equal('0 seconds ago')\r\n\t\t// new TimeAgo('en').format(Date.now(), style, { future: true }).should.equal('in 0 seconds')\r\n\r\n\t\t// Non-\"now\" unit, \"mini\" style.\r\n\t\tconst style2 = {\r\n\t\t\tstyle: [{\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini'\r\n\t\t}\r\n\t\tnew TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2).should.equal('5 л')\r\n\t\tnew TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2, { future: true }).should.equal('5 л')\r\n\t})\r\n\r\n\tit('should support the legacy properties: \"gradation\", \"flavour\", \"factor\", \"unit\", \"\\'tiny\\'\" labels style', () => {\r\n\t\t// Non-\"now\" unit, \"tiny\" style.\r\n\t\tconst style = {\r\n\t\t\tgradation: [{\r\n\t\t\t\tfactor: 5,\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tflavour: 'tiny'\r\n\t\t}\r\n\t\tnew TimeAgo('ru').format(Date.now() - 10 * 1000, style).should.equal('2 г')\r\n\t\tnew TimeAgo('ru').format(Date.now() - 10 * 1000, style, { future: true }).should.equal('2 г')\r\n\t})\r\n\r\n\tit('should have generated missing quantifier functions for locales that do not have it in CLDR data', () => {\r\n\t\tnew TimeAgo('ccp').format(Date.now() + 60 * 1000).should.include(' 𑄟𑄨𑄚𑄨𑄘𑄬')\r\n\t})\r\n\r\n\tit('should throw for non-existing locales', () => {\r\n\t\t(() => TimeAgo.addLocale()).should.throw('No locale data passed')\r\n\t})\r\n\r\n\tit('should choose \"future\" variant of a label for `0` if \"future: true\" option is passed', () => {\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tconst secondLabels = english['mini'].second\r\n\t\tenglish['mini'].second = {\r\n\t\t\tpast: '{0} seconds ago',\r\n\t\t\tfuture: 'in {0} seconds'\r\n\t\t}\r\n\r\n\t\tnew TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t}).should.equal('0 seconds ago')\r\n\r\n\t\tnew TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t}, {\r\n\t\t\tfuture: true\r\n\t\t}).should.equal('in 0 seconds')\r\n\r\n\t\tenglish['mini'].second = secondLabels\r\n\t})\r\n\r\n\tit('should refresh the label when `refresh` parameter is passed', () => {\r\n\t\tlet refreshedTimes = 0\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\tconst [text, cancelRefresh] = timeAgo.format(1000, 'twitter', {\r\n\t\t\trefresh: (text) => {\r\n\t\t\t\tif (refreshedTimes === 0) {\r\n\t\t\t\t\texpect(text).to.equal('0s')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error('Refresh should have been cancelled')\r\n\t\t\t\t}\r\n\t\t\t\trefreshedTimes++\r\n\t\t\t},\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})\r\n\t\texpect(text).to.equal('1s')\r\n\t\texpect(cancelRefresh).to.be.a('function')\r\n\t\t// Sidenote: `timeToNextUpdate` is `1`.\r\n\t\tconst timeToNextUpdate = 1\r\n\t\treturn delay(timeToNextUpdate + 1).then(() => {\r\n\t\t\texpect(refreshedTimes).to.equal(1)\r\n\t\t\tcancelRefresh()\r\n\t\t})\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t2147483647\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t15681600001\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (uncapped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\ttimeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t501\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t500 + 1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 500 + 1\r\n\t\t}).should.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000 + 1\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 500\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (first step has non-zero \"minTime\") (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// Future.\r\n\t\t// Inside the first step.\r\n\t\t// Updates soon.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: -0.5 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t0.5 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Future.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates right after zero point.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60 * 1000\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'',\r\n\t\t\t59 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Zero point.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates at the first step's `minTime`.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Past.\r\n\t\t// Inside the first step.\r\n\t\t// Updates at the next minute.\r\n\t\ttimeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 60 * 1000\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Almost in 1 minute.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\t// Updates right after the zero point.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\t// Updates right after zero point.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\t// Updates at the next second.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\ttimeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t}).should.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should pass `formatAs()` in `step.format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(Date.now(), {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformat(date, locale, { formatAs }) {\r\n\t\t\t\t\treturn formatAs('second', 1)\r\n\t\t\t\t}\r\n\t\t\t}]\r\n\t\t}).should.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should support `polyfill: false` option', () => {\r\n\t\tconst timeAgo = new TimeAgo('en', { polyfill: false })\r\n\t\t// Still uses \"now\" labels, even when not polyfilled.\r\n\t\ttimeAgo.format(0, 'round', { now: 0 }).should.equal('just now')\r\n\t\ttimeAgo.format(1000, 'round', { now: 0 }).should.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst Intl = global.Intl\r\n\t\tglobal.Intl = undefined\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(1000, 'round', { now: 0 }).should.equal('in 1 second')\r\n\t\tglobal.Intl = Intl\r\n\t})\r\n\r\n\tit('should format `0` in past mode by default', () => {\r\n\t\tnew TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0 }).should.equal('0 seconds ago')\r\n\t})\r\n\r\n\tit('should format `0` in future mode when `future: true` option was passed', () => {\r\n\t\tnew TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0, future: true }).should.equal('in 0 seconds')\r\n\t})\r\n\r\n\tit('should throw if a step does not define `formatAs` or `format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(() => timeAgo.format(Date.now() + 1000, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{}]\r\n\t\t})).to.throw('Each step must define either `formatAs` or `format()`.')\r\n\t})\r\n\r\n\tit('should add default locale', () => {\r\n\t\tTimeAgo.getDefaultLocale().should.equal('en')\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\tTimeAgo.getDefaultLocale().should.equal('el')\r\n\t\t// Doesn't throw an error because the same locale is already specified as default.\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\t// Could throw an error or output an error message because another locale is already specified as default.\r\n\t\t// expect(() => {\r\n\t\t\tTimeAgo.addDefaultLocale({\r\n\t\t\t\tlocale: 'es'\r\n\t\t\t})\r\n\t\t// }).to.throw('but you have already added \"el\" as the default locale.')\r\n\t\tTimeAgo.setDefaultLocale('en')\r\n\t})\r\n\r\n\tit('should support \"floor\" rounding', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\ttimeAgo.format(0.9 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('0s')\r\n\t\ttimeAgo.format(1 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('1s')\r\n\t\ttimeAgo.format(1.9 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('1s')\r\n\t\ttimeAgo.format(2 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('2s')\r\n\t\ttimeAgo.format(1.9 * 60 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('1m')\r\n\t\ttimeAgo.format(2 * 60 * 1000, 'twitter', { now: 0, round: 'floor' }).should.equal('2m')\r\n\t})\r\n})\r\n\r\nfunction delay(delayTime) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, delayTime)\r\n\t})\r\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TimeAgo.test.js","names":["_mocha","require","_chai","_TimeAgo","_interopRequireDefault","_en","e","__esModule","_slicedToArray","r","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","TimeAgo","setDefaultLocale","describe","it","timeAgo","expect","format","Date","now","to","equal","future","labels","steps","formatAs","flavour","gradation","englishNow","english","addLocale","undefined","NumberFormat","Intl","englishLongTimeMinute","minute","past","mockedDate","getTime","thrower","units","custom","_ref","time","date","locale","_ref2","_ref3","getTimeToNextUpdate","style2","style","unit","factor","include","secondLabels","second","refreshedTimes","_timeAgo$format","refresh","text","Error","round","_timeAgo$format2","cancelRefresh","be","timeToNextUpdate","delay","then","deep","getTimeToNextUpdateUncapped","minTime","_ref4","polyfill","global","getDefaultLocale","addDefaultLocale","delayTime","Promise","resolve","setTimeout"],"sources":["../source/TimeAgo.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport TimeAgo from './TimeAgo.js'\r\n\r\n// Load locale specific relative date/time messages\r\nimport english from '../locale/en.json' with { type: 'json' }\r\n\r\n// Just so this function code is covered.\r\nTimeAgo.setDefaultLocale('en')\r\n\r\ndescribe(`javascript-time-ago`, () => {\r\n\tit('should default to \"round-minute\" style', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now())).to.equal('just now')\r\n\t\texpect(timeAgo.format(Date.now() + 20 * 1000)).to.equal('in a moment')\r\n\t\texpect(timeAgo.format(Date.now() + 1 * 60 * 1000)).to.equal('in 1 minute')\r\n\t\texpect(timeAgo.format(Date.now() + 4 * 60 * 1000)).to.equal('in 4 minutes')\r\n\t})\r\n\r\n\tit('should tell `options` argument from `style` argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), 'mini-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { future: true, now: 0 })).to.equal('in a moment')\r\n\t\texpect(timeAgo.format(0, { labels: 'mini', steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 })).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { labels: ['mini'], steps: [{ formatAs: 'now' }, { formatAs: 'second' }] }, { future: true, now: 0 })).to.equal('now')\r\n\t\t// `flavour` is a legacy name of `labels` property.\r\n\t\texpect(timeAgo.format(0, { flavour: 'mini' }, { future: true, now: 0 })).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { flavour: ['mini'] }, { future: true, now: 0 })).to.equal('now')\r\n\t\texpect(timeAgo.format(0, { steps: [{ formatAs: 'minute' }] }, { future: true, now: 0 })).to.equal('in 0 minutes')\r\n\t\t// `gradation` is a legacy name of `steps` property.\r\n\t\texpect(timeAgo.format(0, { gradation: [{ formatAs: 'minute' }] }, { future: true, now: 0 })).to.equal('in 0 minutes')\r\n\t})\r\n\r\n\tit('should try various label types until an appropriate one is found', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), { labels: ['exotic', 'short'] })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should support the legacy name \"flavour\" of \"labels\"', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), { labels: ['exotic', 'short'] })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should fallback to \"second.current\" for \"now\" when \"now\" is not defined', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tdelete english.now\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tenglish.now = undefined\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst NumberFormat = Intl.NumberFormat\r\n\t\tdelete Intl.NumberFormat\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' })).to.equal('1 minute')\r\n\t\tIntl.NumberFormat = NumberFormat\r\n\t})\r\n\r\n\tit('should work when \"past\"/\"future\" messages are same for all quantifiers', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() + 365 * 24 * 60 * 60 * 1000, { labels: 'short' })).to.equal('in 1 yr.')\r\n\t})\r\n\r\n\tit('should work when \"now\" is a string (does not differentiate between \"past\" and \"future\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishNow = english.now\r\n\t\tenglish.now = { now: 'now' }\r\n\t\tTimeAgo.addLocale(english)\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('now')\r\n\t\tenglish.now = englishNow\r\n\t\texpect(timeAgo.format(Date.now(), { labels: 'long' })).to.equal('just now')\r\n\t})\r\n\r\n\tit('should work when a unit has formatting rules for \"past\" and \"future\" which are strings (style: not \"long\", not \"short\", not \"narrow\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst englishLongTimeMinute = english['long-time'].minute\r\n\t\tenglish['long-time'].minute = {\r\n\t\t\tpast: '{0} minute(s) ago',\r\n\t\t\tfuture: 'in {0} minute(s)'\r\n\t\t}\r\n\t\tTimeAgo.addLocale(english)\r\n\t\t// Past.\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' })).to.equal('1 minute(s) ago')\r\n\t\t// Future (covers an \"else\" branch).\r\n\t\texpect(timeAgo.format(Date.now() + 60 * 1000, { labels: 'long-time' })).to.equal('in 1 minute(s)')\r\n\t\t// Undo.\r\n\t\tenglish['long-time'].minute = englishLongTimeMinute\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, { labels: 'long-time' })).to.equal('1 minute')\r\n\t})\r\n\r\n\tit(`should format \"now\" for \"past\" time`, () =>\r\n\t{\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now() + 10, { labels: ['long'] })).to.equal('in a moment')\r\n\t})\r\n\r\n\tit('should accept a string style name argument', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// \"mini\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'mini')).to.equal('0s')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'mini')).to.equal('1s')\r\n\t\t// \"mini-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'mini-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'mini-now')).to.equal('1s')\r\n\t\t// \"mini-minute-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'mini-minute-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'mini-minute-now')).to.equal('1m')\r\n\t\t// \"mini-minute\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'mini-minute')).to.equal('0m')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'mini-minute')).to.equal('1m')\r\n\t\t// \"twitter\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'twitter')).to.equal('0s')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'twitter')).to.equal('1s')\r\n\t\t// \"twitter-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 0 * 1000, 'twitter-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 1 * 1000, 'twitter-now')).to.equal('1s')\r\n\t\t// \"twitter-minute-now\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'twitter-minute-now')).to.equal('now')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'twitter-minute-now')).to.equal('1m')\r\n\t\t// \"twitter-minute\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'twitter-minute')).to.equal('0m')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'twitter-minute')).to.equal('1m')\r\n\t\t// \"twitter-first-minute\".\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'twitter-first-minute')).to.equal('')\r\n\t\texpect(timeAgo.format(Date.now() - 60 * 1000, 'twitter-first-minute')).to.equal('1m')\r\n\t\t// \"approximate\".\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'approximate')).to.equal('just now')\r\n\t\t// \"convenient\" style was renamed to \"approximate\".\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'convenient')).to.equal('just now')\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'round')).to.equal('45 seconds ago')\r\n\t\t// \"default\" style was renamed to \"round\".\r\n\t\texpect(timeAgo.format(Date.now() - 45 * 1000, 'default')).to.equal('45 seconds ago')\r\n\t\texpect(timeAgo.format(Date.now() - 29 * 1000, 'round-minute')).to.equal('just now')\r\n\t\t// \"time\" style was renamed to \"approximate-time\".\r\n\t\texpect(timeAgo.format(Date.now() - 2 * 60 * 1000, 'time')).to.equal('2 minutes')\r\n\t\texpect(timeAgo.format(Date.now() - 2 * 60 * 1000, 'approximate-time')).to.equal('2 minutes')\r\n\t\texpect(timeAgo.format(Date.now(), 'exotic')).to.equal('just now')\r\n\t})\r\n\r\n\tit('should accept empty constructor parameters', () => {\r\n\t\tconst timeAgo = new TimeAgo()\r\n\t\texpect(timeAgo.format(new Date())).to.equal('just now')\r\n\t})\r\n\r\n\tit('should accept \"mocked\" Dates when testing', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst mockedDate = { getTime: () => Date.now() }\r\n\t\texpect(timeAgo.format(mockedDate)).to.equal('just now')\r\n\t})\r\n\r\n\tit('should not accept anything but Dates and timestamps', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\tconst thrower = () => timeAgo.format('Jan 14, 2017')\r\n\t\texpect(thrower).to.throw('Unsupported relative time formatter input: string, Jan 14, 2017')\r\n\t})\r\n\r\n\tit('should return an empty string if the specified units are not available in locale data', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), { units: ['femtosecond'] })).to.equal('')\r\n\t})\r\n\r\n\tit('should format for a style with \"custom\" function', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\texpect(timeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns a string\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn locale\r\n\t\t\t}\r\n\t\t})\r\n\t\t).to.equal('en')\r\n\r\n\t\texpect(timeAgo.format(Date.now(), {\r\n\t\t\t// `custom` returns `undefined`\r\n\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t})\r\n\t\t).to.equal('just now')\r\n\t})\r\n\r\n\tit('should throw an error when formating for a style with \"custom\" function and `getTimeToNextUpdate: true` parameter is passed', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\texpect(() => {\r\n\t\t\ttimeAgo.format(Date.now(), {\r\n\t\t\t\t// `custom` returns a string.\r\n\t\t\t\tcustom({ now, time, date, locale }) {\r\n\t\t\t\t\treturn locale\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tgetTimeToNextUpdate: true\r\n\t\t\t})\r\n\t\t}).to.throw('not supported')\r\n\t})\r\n\r\n\tit('should format future dates', () => {\r\n\t\texpect(new TimeAgo('en').format(Date.now() + 60 * 60 * 1000)).to.equal('in 1 hour')\r\n\t\texpect(new TimeAgo('ru').format(Date.now() + 60 * 1000)).to.equal('через 1 минуту')\r\n\t})\r\n\r\n\tit('should accept \"future\" option', () => {\r\n\t\t// \"now\" unit.\r\n\t\texpect(new TimeAgo('en').format(Date.now())).to.equal('just now')\r\n\t\texpect(new TimeAgo('en').format(Date.now(), 'approximate', { future: true })).to.equal('in a moment')\r\n\r\n\t\t// Non-\"now\" unit, \"long\" style.\r\n\t\t// const style = {\r\n\t\t// \tgradation: [{\r\n\t\t// \t\tfactor: 1,\r\n\t\t// \t\tunit: 'second'\r\n\t\t// \t}],\r\n\t\t// \tlabels: 'long'\r\n\t\t// }\r\n\t\t// expect(new TimeAgo('en').format(Date.now(), style)).to.equal('0 seconds ago')\r\n\t\t// expect(new TimeAgo('en').format(Date.now(), style, { future: true })).to.equal('in 0 seconds')\r\n\r\n\t\t// Non-\"now\" unit, \"mini\" style.\r\n\t\tconst style2 = {\r\n\t\t\tstyle: [{\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini'\r\n\t\t}\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2)).to.equal('5 л')\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 5 * 365 * 24 * 60 * 60 * 1000, style2, { future: true })).to.equal('5 л')\r\n\t})\r\n\r\n\tit('should support the legacy properties: \"gradation\", \"flavour\", \"factor\", \"unit\", \"\\'tiny\\'\" labels style', () => {\r\n\t\t// Non-\"now\" unit, \"tiny\" style.\r\n\t\tconst style = {\r\n\t\t\tgradation: [{\r\n\t\t\t\tfactor: 5,\r\n\t\t\t\tunit: 'year'\r\n\t\t\t}],\r\n\t\t\tflavour: 'tiny'\r\n\t\t}\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 10 * 1000, style)).to.equal('2 г')\r\n\t\texpect(new TimeAgo('ru').format(Date.now() - 10 * 1000, style, { future: true })).to.equal('2 г')\r\n\t})\r\n\r\n\tit('should have generated missing quantifier functions for locales that do not have it in CLDR data', () => {\r\n\t\texpect(new TimeAgo('ccp').format(Date.now() + 60 * 1000)).to.include(' 𑄟𑄨𑄚𑄨𑄘𑄬')\r\n\t})\r\n\r\n\tit('should throw for non-existing locales', () => {\r\n\t\texpect(() => TimeAgo.addLocale()).to.throw('No locale data passed')\r\n\t})\r\n\r\n\tit('should choose \"future\" variant of a label for `0` if \"future: true\" option is passed', () => {\r\n\t\tTimeAgo.addLocale(english)\r\n\t\tconst secondLabels = english['mini'].second\r\n\t\tenglish['mini'].second = {\r\n\t\t\tpast: '{0} seconds ago',\r\n\t\t\tfuture: 'in {0} seconds'\r\n\t\t}\r\n\r\n\t\texpect(new TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t})).to.equal('0 seconds ago')\r\n\r\n\t\texpect(new TimeAgo('en').format(Date.now(), {\r\n\t\t\tsteps: [{\r\n\t\t\t\tunit: 'second'\r\n\t\t\t}],\r\n\t\t\t// Uses \"mini\" labels so that it doesn't use `Intl.RelativeTimeFormat`.\r\n\t\t\tlabels: 'mini'\r\n\t\t}, {\r\n\t\t\tfuture: true\r\n\t\t})).to.equal('in 0 seconds')\r\n\r\n\t\tenglish['mini'].second = secondLabels\r\n\t})\r\n\r\n\tit('should refresh the label when `refresh` parameter is passed', () => {\r\n\t\tlet refreshedTimes = 0\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\tconst [text, cancelRefresh] = timeAgo.format(1000, 'twitter', {\r\n\t\t\trefresh: (text) => {\r\n\t\t\t\tif (refreshedTimes === 0) {\r\n\t\t\t\t\texpect(text).to.equal('0s')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error('Refresh should have been cancelled')\r\n\t\t\t\t}\r\n\t\t\t\trefreshedTimes++\r\n\t\t\t},\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})\r\n\t\texpect(text).to.equal('1s')\r\n\t\texpect(cancelRefresh).to.be.a('function')\r\n\t\t// Sidenote: `timeToNextUpdate` is `1`.\r\n\t\tconst timeToNextUpdate = 1\r\n\t\treturn delay(timeToNextUpdate + 1).then(() => {\r\n\t\t\texpect(refreshedTimes).to.equal(1)\r\n\t\t\tcancelRefresh()\r\n\t\t})\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t2147483647\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (capped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(0.5 * 365 * 24 * 60 * 60 * 1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tgetTimeToNextUpdateUncapped: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'Jul 2',\r\n\t\t\t15681600001\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (uncapped)', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// in 1 second -> in 0 seconds.\r\n\t\texpect(timeAgo.format(1000, 'twitter', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t501\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (\"mini-now\" style) (round: \"round\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\t// In 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 0\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t500 + 1\r\n\t\t])\r\n\t\t// Almost in 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 500 + 1\r\n\t\t})).to.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59.5 * 1000 + 1\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t// Right after zero point.\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t500 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 500\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should get time to next update (first step has non-zero \"minTime\") (round: \"floor\")', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\r\n\t\t// Future.\r\n\t\t// Inside the first step.\r\n\t\t// Updates soon.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: -0.5 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t0.5 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Future.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates right after zero point.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60 * 1000\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'',\r\n\t\t\t59 * 1000 + 1\r\n\t\t])\r\n\r\n\t\t// Zero point.\r\n\t\t// Outside of the first step.\r\n\t\t// Updates at the first step's `minTime`.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Past.\r\n\t\t// Inside the first step.\r\n\t\t// Updates at the next minute.\r\n\t\texpect(timeAgo.format(60 * 1000, {\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'minute',\r\n\t\t\t\tminTime: 60\r\n\t\t\t}],\r\n\t\t\tlabels: 'mini',\r\n\t\t\tround: 'floor'\r\n\t\t}, {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 60 * 1000\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1m',\r\n\t\t\t60 * 1000\r\n\t\t])\r\n\r\n\t\t// Almost in 1 minute.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'59s',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// In 1 second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Almost in 1 second.\r\n\t\t// Updates right after the zero point.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 59 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: true`.\r\n\t\t// Updates right after zero point.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1\r\n\t\t])\r\n\t\t// Zero point (future to past).\r\n\t\t// `future: false`.\r\n\t\t// Updates at the next second.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000\r\n\t\t])\r\n\t\t// Right after zero point (past).\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'now',\r\n\t\t\t1000 - 1\r\n\t\t])\r\n\t\t// 1 second ago.\r\n\t\texpect(timeAgo.format(60 * 1000, 'mini-now', {\r\n\t\t\tgetTimeToNextUpdate: true,\r\n\t\t\tnow: 60 * 1000 + 1000,\r\n\t\t\tround: 'floor'\r\n\t\t})).to.deep.equal([\r\n\t\t\t'1s',\r\n\t\t\t1000\r\n\t\t])\r\n\t})\r\n\r\n\tit('should pass `formatAs()` in `step.format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(Date.now(), {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformat(date, locale, { formatAs }) {\r\n\t\t\t\t\treturn formatAs('second', 1)\r\n\t\t\t\t}\r\n\t\t\t}]\r\n\t\t})).to.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should support `polyfill: false` option', () => {\r\n\t\tconst timeAgo = new TimeAgo('en', { polyfill: false })\r\n\t\t// Still uses \"now\" labels, even when not polyfilled.\r\n\t\texpect(timeAgo.format(0, 'round', { now: 0 })).to.equal('just now')\r\n\t\texpect(timeAgo.format(1000, 'round', { now: 0 })).to.equal('in 1 second')\r\n\t})\r\n\r\n\tit('should not use Intl.NumberFormat if it is not available', () => {\r\n\t\tconst Intl = global.Intl\r\n\t\tglobal.Intl = undefined\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(1000, 'round', { now: 0 })).to.equal('in 1 second')\r\n\t\tglobal.Intl = Intl\r\n\t})\r\n\r\n\tit('should format `0` in past mode by default', () => {\r\n\t\texpect(new TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0 })).to.equal('0 seconds ago')\r\n\t})\r\n\r\n\tit('should format `0` in future mode when `future: true` option was passed', () => {\r\n\t\texpect(new TimeAgo('en').format(0, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{\r\n\t\t\t\tformatAs: 'second'\r\n\t\t\t}]\r\n\t\t}, { now: 0, future: true })).to.equal('in 0 seconds')\r\n\t})\r\n\r\n\tit('should throw if a step does not define `formatAs` or `format()`', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(() => timeAgo.format(Date.now() + 1000, {\r\n\t\t\tlabels: 'long',\r\n\t\t\tsteps: [{}]\r\n\t\t})).to.throw('Each step must define either `formatAs` or `format()`.')\r\n\t})\r\n\r\n\tit('should add default locale', () => {\r\n\t\texpect(TimeAgo.getDefaultLocale()).to.equal('en')\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\texpect(TimeAgo.getDefaultLocale()).to.equal('el')\r\n\t\t// Doesn't throw an error because the same locale is already specified as default.\r\n\t\tTimeAgo.addDefaultLocale({\r\n\t\t\tlocale: 'el'\r\n\t\t})\r\n\t\t// Could throw an error or output an error message because another locale is already specified as default.\r\n\t\t// expect(() => {\r\n\t\t\tTimeAgo.addDefaultLocale({\r\n\t\t\t\tlocale: 'es'\r\n\t\t\t})\r\n\t\t// }).to.throw('but you have already added \"el\" as the default locale.')\r\n\t\tTimeAgo.setDefaultLocale('en')\r\n\t})\r\n\r\n\tit('should support \"floor\" rounding', () => {\r\n\t\tconst timeAgo = new TimeAgo('en')\r\n\t\texpect(timeAgo.format(0.9 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('0s')\r\n\t\texpect(timeAgo.format(1 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('1s')\r\n\t\texpect(timeAgo.format(1.9 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('1s')\r\n\t\texpect(timeAgo.format(2 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('2s')\r\n\t\texpect(timeAgo.format(1.9 * 60 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('1m')\r\n\t\texpect(timeAgo.format(2 * 60 * 1000, 'twitter', { now: 0, round: 'floor' })).to.equal('2m')\r\n\t})\r\n})\r\n\r\nfunction delay(delayTime) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, delayTime)\r\n\t})\r\n}"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _mocha = require("mocha");
4
+ var _chai = require("chai");
3
5
  var _cache = _interopRequireDefault(require("./cache.js"));
4
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
5
- describe('cache', function () {
6
- it('should cache', function () {
7
+ (0, _mocha.describe)('cache', function () {
8
+ (0, _mocha.it)('should cache', function () {
7
9
  var cache = new _cache["default"]();
8
10
  var value = {};
9
- expect(cache.get('123', '456')).to.be.undefined;
10
- expect(cache.put('123', '456', value)).to.equal(value);
11
- expect(cache.get('123', '456')).to.equal(value);
12
- expect(cache.put('123', '789', 123)).to.equal(123);
11
+ (0, _chai.expect)(cache.get('123', '456')).to.be.undefined;
12
+ (0, _chai.expect)(cache.put('123', '456', value)).to.equal(value);
13
+ (0, _chai.expect)(cache.get('123', '456')).to.equal(value);
14
+ (0, _chai.expect)(cache.put('123', '789', 123)).to.equal(123);
13
15
  });
14
16
  });
15
17
  //# sourceMappingURL=cache.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.test.js","names":["_cache","_interopRequireDefault","require","e","__esModule","describe","it","cache","Cache","value","expect","get","to","be","undefined","put","equal"],"sources":["../source/cache.test.js"],"sourcesContent":["import Cache from './cache.js'\r\n\r\ndescribe('cache', () => {\r\n\tit('should cache', () => {\r\n\t\tconst cache = new Cache()\r\n\r\n\t\tconst value = {}\r\n\t\texpect(cache.get('123', '456')).to.be.undefined\r\n\t\texpect(cache.put('123', '456', value)).to.equal(value)\r\n\t\texpect(cache.get('123', '456')).to.equal(value)\r\n\r\n\t\texpect(cache.put('123', '789', 123)).to.equal(123)\r\n\t})\r\n})\r\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9BE,QAAQ,CAAC,OAAO,EAAE,YAAM;EACvBC,EAAE,CAAC,cAAc,EAAE,YAAM;IACxB,IAAMC,KAAK,GAAG,IAAIC,iBAAK,CAAC,CAAC;IAEzB,IAAMC,KAAK,GAAG,CAAC,CAAC;IAChBC,MAAM,CAACH,KAAK,CAACI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS;IAC/CJ,MAAM,CAACH,KAAK,CAACQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAEN,KAAK,CAAC,CAAC,CAACG,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IACtDC,MAAM,CAACH,KAAK,CAACI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IAE/CC,MAAM,CAACH,KAAK,CAACQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,GAAG,CAAC;EACnD,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"cache.test.js","names":["_mocha","require","_chai","_cache","_interopRequireDefault","e","__esModule","describe","it","cache","Cache","value","expect","get","to","be","undefined","put","equal"],"sources":["../source/cache.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport Cache from './cache.js'\r\n\r\ndescribe('cache', () => {\r\n\tit('should cache', () => {\r\n\t\tconst cache = new Cache()\r\n\r\n\t\tconst value = {}\r\n\t\texpect(cache.get('123', '456')).to.be.undefined\r\n\t\texpect(cache.put('123', '456', value)).to.equal(value)\r\n\t\texpect(cache.get('123', '456')).to.equal(value)\r\n\r\n\t\texpect(cache.put('123', '789', 123)).to.equal(123)\r\n\t})\r\n})\r\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8B,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9B,IAAAE,eAAQ,EAAC,OAAO,EAAE,YAAM;EACvB,IAAAC,SAAE,EAAC,cAAc,EAAE,YAAM;IACxB,IAAMC,KAAK,GAAG,IAAIC,iBAAK,CAAC,CAAC;IAEzB,IAAMC,KAAK,GAAG,CAAC,CAAC;IAChB,IAAAC,YAAM,EAACH,KAAK,CAACI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS;IAC/C,IAAAJ,YAAM,EAACH,KAAK,CAACQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAEN,KAAK,CAAC,CAAC,CAACG,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IACtD,IAAAC,YAAM,EAACH,KAAK,CAACI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAACC,EAAE,CAACI,KAAK,CAACP,KAAK,CAAC;IAE/C,IAAAC,YAAM,EAACH,KAAK,CAACQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,GAAG,CAAC;EACnD,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,37 +1,39 @@
1
1
  "use strict";
2
2
 
3
+ var _mocha = require("mocha");
4
+ var _chai = require("chai");
3
5
  var _isStyleObject = _interopRequireDefault(require("./isStyleObject.js"));
4
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
5
- describe('isStyleObject', function () {
6
- it('should detect a style object', function () {
7
- (0, _isStyleObject["default"])({
7
+ (0, _mocha.describe)('isStyleObject', function () {
8
+ (0, _mocha.it)('should detect a style object', function () {
9
+ (0, _chai.expect)((0, _isStyleObject["default"])({
8
10
  gradation: []
9
- }).should.equal(true);
10
- (0, _isStyleObject["default"])({
11
+ })).to.equal(true);
12
+ (0, _chai.expect)((0, _isStyleObject["default"])({
11
13
  steps: []
12
- }).should.equal(true);
13
- (0, _isStyleObject["default"])({
14
+ })).to.equal(true);
15
+ (0, _chai.expect)((0, _isStyleObject["default"])({
14
16
  flavour: 'long'
15
- }).should.equal(true);
16
- (0, _isStyleObject["default"])({
17
+ })).to.equal(true);
18
+ (0, _chai.expect)((0, _isStyleObject["default"])({
17
19
  flavour: ['long']
18
- }).should.equal(true);
19
- (0, _isStyleObject["default"])({
20
+ })).to.equal(true);
21
+ (0, _chai.expect)((0, _isStyleObject["default"])({
20
22
  labels: 'long'
21
- }).should.equal(true);
22
- (0, _isStyleObject["default"])({
23
+ })).to.equal(true);
24
+ (0, _chai.expect)((0, _isStyleObject["default"])({
23
25
  labels: ['long']
24
- }).should.equal(true);
25
- (0, _isStyleObject["default"])({
26
+ })).to.equal(true);
27
+ (0, _chai.expect)((0, _isStyleObject["default"])({
26
28
  units: ['now']
27
- }).should.equal(true);
28
- (0, _isStyleObject["default"])({
29
+ })).to.equal(true);
30
+ (0, _chai.expect)((0, _isStyleObject["default"])({
29
31
  future: true,
30
32
  round: 'floor',
31
33
  now: 0,
32
34
  getTimeToNextUpdate: true
33
- }).should.equal(false);
34
- (0, _isStyleObject["default"])('round').should.equal(false);
35
+ })).to.equal(false);
36
+ (0, _chai.expect)((0, _isStyleObject["default"])('round')).to.equal(false);
35
37
  });
36
38
  });
37
39
  //# sourceMappingURL=isStyleObject.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isStyleObject.test.js","names":["_isStyleObject","_interopRequireDefault","require","e","__esModule","describe","it","isStyleObject","gradation","should","equal","steps","flavour","labels","units","future","round","now","getTimeToNextUpdate"],"sources":["../source/isStyleObject.test.js"],"sourcesContent":["import isStyleObject from './isStyleObject.js'\r\n\r\ndescribe('isStyleObject', () => {\r\n\tit('should detect a style object', () => {\r\n\t\tisStyleObject({\r\n\t\t\tgradation: []\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tsteps: []\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tflavour: 'long'\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tflavour: ['long']\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tlabels: 'long'\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tlabels: ['long']\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tunits: ['now']\r\n\t\t}).should.equal(true)\r\n\t\tisStyleObject({\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0,\r\n\t\t\tgetTimeToNextUpdate: true\r\n\t\t}).should.equal(false)\r\n\t\tisStyleObject('round').should.equal(false)\r\n\t})\r\n})"],"mappings":";;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9CE,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC/BC,EAAE,CAAC,8BAA8B,EAAE,YAAM;IACxC,IAAAC,yBAAa,EAAC;MACbC,SAAS,EAAE;IACZ,CAAC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbI,KAAK,EAAE;IACR,CAAC,CAAC,CAACF,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbK,OAAO,EAAE;IACV,CAAC,CAAC,CAACH,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbK,OAAO,EAAE,CAAC,MAAM;IACjB,CAAC,CAAC,CAACH,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbM,MAAM,EAAE;IACT,CAAC,CAAC,CAACJ,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbM,MAAM,EAAE,CAAC,MAAM;IAChB,CAAC,CAAC,CAACJ,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbO,KAAK,EAAE,CAAC,KAAK;IACd,CAAC,CAAC,CAACL,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;IACrB,IAAAH,yBAAa,EAAC;MACbQ,MAAM,EAAE,IAAI;MACZC,KAAK,EAAE,OAAO;MACdC,GAAG,EAAE,CAAC;MACNC,mBAAmB,EAAE;IACtB,CAAC,CAAC,CAACT,MAAM,CAACC,KAAK,CAAC,KAAK,CAAC;IACtB,IAAAH,yBAAa,EAAC,OAAO,CAAC,CAACE,MAAM,CAACC,KAAK,CAAC,KAAK,CAAC;EAC3C,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"isStyleObject.test.js","names":["_mocha","require","_chai","_isStyleObject","_interopRequireDefault","e","__esModule","describe","it","expect","isStyleObject","gradation","to","equal","steps","flavour","labels","units","future","round","now","getTimeToNextUpdate"],"sources":["../source/isStyleObject.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport isStyleObject from './isStyleObject.js'\r\n\r\ndescribe('isStyleObject', () => {\r\n\tit('should detect a style object', () => {\r\n\t\texpect(isStyleObject({\r\n\t\t\tgradation: []\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tsteps: []\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tflavour: 'long'\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tflavour: ['long']\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tlabels: 'long'\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tlabels: ['long']\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tunits: ['now']\r\n\t\t})).to.equal(true)\r\n\t\texpect(isStyleObject({\r\n\t\t\tfuture: true,\r\n\t\t\tround: 'floor',\r\n\t\t\tnow: 0,\r\n\t\t\tgetTimeToNextUpdate: true\r\n\t\t})).to.equal(false)\r\n\t\texpect(isStyleObject('round')).to.equal(false)\r\n\t})\r\n})"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8C,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE9C,IAAAE,eAAQ,EAAC,eAAe,EAAE,YAAM;EAC/B,IAAAC,SAAE,EAAC,8BAA8B,EAAE,YAAM;IACxC,IAAAC,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBC,SAAS,EAAE;IACZ,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBI,KAAK,EAAE;IACR,CAAC,CAAC,CAAC,CAACF,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBK,OAAO,EAAE;IACV,CAAC,CAAC,CAAC,CAACH,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBK,OAAO,EAAE,CAAC,MAAM;IACjB,CAAC,CAAC,CAAC,CAACH,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBM,MAAM,EAAE;IACT,CAAC,CAAC,CAAC,CAACJ,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBM,MAAM,EAAE,CAAC,MAAM;IAChB,CAAC,CAAC,CAAC,CAACJ,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBO,KAAK,EAAE,CAAC,KAAK;IACd,CAAC,CAAC,CAAC,CAACL,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC;IAClB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC;MACpBQ,MAAM,EAAE,IAAI;MACZC,KAAK,EAAE,OAAO;MACdC,GAAG,EAAE,CAAC;MACNC,mBAAmB,EAAE;IACtB,CAAC,CAAC,CAAC,CAACT,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;IACnB,IAAAJ,YAAM,EAAC,IAAAC,yBAAa,EAAC,OAAO,CAAC,CAAC,CAACE,EAAE,CAACC,KAAK,CAAC,KAAK,CAAC;EAC/C,CAAC,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ var _mocha = require("mocha");
5
+ var _chai = require("chai");
4
6
  var _locale = _interopRequireWildcard(require("./locale.js"));
5
7
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
6
- describe('locale', function () {
7
- it("should tell if can use Intl for date formatting", function () {
8
- (0, _locale.intlDateTimeFormatSupportedLocale)('en').should.equal('en');
9
- (0, _locale.intlDateTimeFormatSupportedLocale)('en-XX').should.equal('en-XX');
10
- (0, _locale.intlDateTimeFormatSupportedLocale)(['en', 'ru']).should.equal('en');
8
+ (0, _mocha.describe)('locale', function () {
9
+ (0, _mocha.it)("should tell if can use Intl for date formatting", function () {
10
+ (0, _chai.expect)((0, _locale.intlDateTimeFormatSupportedLocale)('en')).to.equal('en');
11
+ (0, _chai.expect)((0, _locale.intlDateTimeFormatSupportedLocale)('en-XX')).to.equal('en-XX');
12
+ (0, _chai.expect)((0, _locale.intlDateTimeFormatSupportedLocale)(['en', 'ru'])).to.equal('en');
11
13
  });
12
- it("should choose the most appropriate locale", function () {
14
+ (0, _mocha.it)("should choose the most appropriate locale", function () {
13
15
  function arrayToObject(array) {
14
16
  return array.reduce(function (object, locale) {
15
17
  object[locale] = true;
@@ -26,14 +28,14 @@ describe('locale', function () {
26
28
  return locales.includes(_);
27
29
  });
28
30
  }
29
- choose('ru-RU', ['en', 'ru']).should.equal('ru');
30
- choose('en-GB', ['en', 'ru']).should.equal('en');
31
- choose('fr-FR', ['en', 'ru']).should.equal('en');
32
- choose(['fr-FR', 'de-DE'], ['en', 'ru']).should.equal('en');
33
- choose(['fr-FR', 'de-DE'], ['en', 'de']).should.equal('de');
34
- choose(['fr-FR', 'de-DE'], ['en', 'de', 'fr']).should.equal('fr');
35
- choose('fr-FR', ['en', 'fr-FR']).should.equal('fr-FR');
36
- expect(function () {
31
+ (0, _chai.expect)(choose('ru-RU', ['en', 'ru'])).to.equal('ru');
32
+ (0, _chai.expect)(choose('en-GB', ['en', 'ru'])).to.equal('en');
33
+ (0, _chai.expect)(choose('fr-FR', ['en', 'ru'])).to.equal('en');
34
+ (0, _chai.expect)(choose(['fr-FR', 'de-DE'], ['en', 'ru'])).to.equal('en');
35
+ (0, _chai.expect)(choose(['fr-FR', 'de-DE'], ['en', 'de'])).to.equal('de');
36
+ (0, _chai.expect)(choose(['fr-FR', 'de-DE'], ['en', 'de', 'fr'])).to.equal('fr');
37
+ (0, _chai.expect)(choose('fr-FR', ['en', 'fr-FR'])).to.equal('fr-FR');
38
+ (0, _chai.expect)(function () {
37
39
  return choose('fr-FR', ['de', 'ru']);
38
40
  }).to["throw"]('No locale data has been registered for any of the locales: fr-FR');
39
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"locale.test.js","names":["_locale","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","describe","it","intlDateTimeFormatSupportedLocale","should","equal","arrayToObject","array","reduce","object","locale","choose","locales","defaultLocale","arguments","length","undefined","concat","chooseLocale","_","includes","expect","to"],"sources":["../source/locale.test.js"],"sourcesContent":["import chooseLocale, { intlDateTimeFormatSupportedLocale } from './locale.js'\r\n\r\ndescribe('locale', () => {\r\n\tit(`should tell if can use Intl for date formatting`, () => {\r\n\t\tintlDateTimeFormatSupportedLocale('en').should.equal('en')\r\n\t\tintlDateTimeFormatSupportedLocale('en-XX').should.equal('en-XX')\r\n\t\tintlDateTimeFormatSupportedLocale(['en', 'ru']).should.equal('en')\r\n\t})\r\n\r\n\tit(`should choose the most appropriate locale`, () => {\r\n\t\tfunction arrayToObject(array) {\r\n\t\t\treturn array.reduce((object, locale) => {\r\n\t\t\t\tobject[locale] = true\r\n\t\t\t\treturn object\r\n\t\t\t}, {})\r\n\t\t}\r\n\r\n\t\tfunction choose(locale, locales, defaultLocale = 'en') {\r\n\t\t\tif (typeof locale === 'string') {\r\n\t\t\t\tlocale = [locale]\r\n\t\t\t}\r\n\t\t\tlocale = locale.concat(defaultLocale)\r\n\t\t\treturn chooseLocale(locale, _ => locales.includes(_))\r\n\t\t}\r\n\r\n\t\tchoose('ru-RU', ['en', 'ru']).should.equal('ru')\r\n\t\tchoose('en-GB', ['en', 'ru']).should.equal('en')\r\n\t\tchoose('fr-FR', ['en', 'ru']).should.equal('en')\r\n\t\tchoose(['fr-FR', 'de-DE'], ['en', 'ru']).should.equal('en')\r\n\t\tchoose(['fr-FR', 'de-DE'], ['en', 'de']).should.equal('de')\r\n\t\tchoose(['fr-FR', 'de-DE'], ['en', 'de', 'fr']).should.equal('fr')\r\n\t\tchoose('fr-FR', ['en', 'fr-FR']).should.equal('fr-FR')\r\n\r\n\t\texpect(() => choose('fr-FR', ['de', 'ru'])).to.throw(\r\n\t\t\t'No locale data has been registered for any of the locales: fr-FR'\r\n\t\t)\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"locale.test.js","names":["_mocha","require","_chai","_locale","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","describe","it","expect","intlDateTimeFormatSupportedLocale","to","equal","arrayToObject","array","reduce","object","locale","choose","locales","defaultLocale","arguments","length","undefined","concat","chooseLocale","_","includes"],"sources":["../source/locale.test.js"],"sourcesContent":["import { describe, it } from 'mocha'\r\nimport { expect } from 'chai'\r\n\r\nimport chooseLocale, { intlDateTimeFormatSupportedLocale } from './locale.js'\r\n\r\ndescribe('locale', () => {\r\n\tit(`should tell if can use Intl for date formatting`, () => {\r\n\t\texpect(intlDateTimeFormatSupportedLocale('en')).to.equal('en')\r\n\t\texpect(intlDateTimeFormatSupportedLocale('en-XX')).to.equal('en-XX')\r\n\t\texpect(intlDateTimeFormatSupportedLocale(['en', 'ru'])).to.equal('en')\r\n\t})\r\n\r\n\tit(`should choose the most appropriate locale`, () => {\r\n\t\tfunction arrayToObject(array) {\r\n\t\t\treturn array.reduce((object, locale) => {\r\n\t\t\t\tobject[locale] = true\r\n\t\t\t\treturn object\r\n\t\t\t}, {})\r\n\t\t}\r\n\r\n\t\tfunction choose(locale, locales, defaultLocale = 'en') {\r\n\t\t\tif (typeof locale === 'string') {\r\n\t\t\t\tlocale = [locale]\r\n\t\t\t}\r\n\t\t\tlocale = locale.concat(defaultLocale)\r\n\t\t\treturn chooseLocale(locale, _ => locales.includes(_))\r\n\t\t}\r\n\r\n\t\texpect(choose('ru-RU', ['en', 'ru'])).to.equal('ru')\r\n\t\texpect(choose('en-GB', ['en', 'ru'])).to.equal('en')\r\n\t\texpect(choose('fr-FR', ['en', 'ru'])).to.equal('en')\r\n\t\texpect(choose(['fr-FR', 'de-DE'], ['en', 'ru'])).to.equal('en')\r\n\t\texpect(choose(['fr-FR', 'de-DE'], ['en', 'de'])).to.equal('de')\r\n\t\texpect(choose(['fr-FR', 'de-DE'], ['en', 'de', 'fr'])).to.equal('fr')\r\n\t\texpect(choose('fr-FR', ['en', 'fr-FR'])).to.equal('fr-FR')\r\n\r\n\t\texpect(() => choose('fr-FR', ['de', 'ru'])).to.throw(\r\n\t\t\t'No locale data has been registered for any of the locales: fr-FR'\r\n\t\t)\r\n\t})\r\n})"],"mappings":"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","ignoreList":[]}
@@ -1,45 +1,47 @@
1
1
  "use strict";
2
2
 
3
+ var _mocha = require("mocha");
4
+ var _chai = require("chai");
3
5
  var _getStep = _interopRequireDefault(require("./getStep.js"));
4
6
  var _approximate = _interopRequireDefault(require("./approximate.js"));
5
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
6
- describe('steps/approximate', function () {
7
- it('should get step correctly', function () {
8
+ (0, _mocha.describe)('steps/approximate', function () {
9
+ (0, _mocha.it)('should get step correctly', function () {
8
10
  var getStepFor = function getStepFor(secondsPassed) {
9
11
  return (0, _getStep["default"])(_approximate["default"], secondsPassed, {
10
12
  now: 0,
11
13
  units: ['now', 'second', 'minute', 'hour', 'day', 'week', 'month', 'year']
12
14
  });
13
15
  };
14
- expect(getStepFor(0).unit).to.equal('now');
15
- expect(getStepFor(1).unit).to.equal('now');
16
- expect(getStepFor(45).unit).to.equal('now');
17
- expect(getStepFor(46).unit).to.equal('minute');
18
- expect(getStepFor(46).factor).to.equal(60);
19
- expect(getStepFor(46).granularity).to.be.undefined;
20
- expect(getStepFor(2.5 * 60 - 1).unit).to.equal('minute');
21
- expect(getStepFor(2.5 * 60 - 1).factor).to.equal(60);
22
- expect(getStepFor(2.5 * 60 - 1).granularity).to.be.undefined;
23
- expect(getStepFor(2.5 * 60).unit).to.equal('minute');
24
- expect(getStepFor(2.5 * 60).factor).to.equal(60);
25
- expect(getStepFor(2.5 * 60).granularity).to.equal(5);
26
- expect(getStepFor(52.5 * 60 - 1).unit).to.equal('minute');
27
- expect(getStepFor(52.5 * 60 - 1).factor).to.equal(60);
28
- expect(getStepFor(52.5 * 60 - 1).granularity).to.equal(5);
29
- expect(getStepFor(52.5 * 60).unit).to.equal('hour');
30
- expect(getStepFor(52.5 * 60).factor).to.equal(60 * 60);
16
+ (0, _chai.expect)(getStepFor(0).unit).to.equal('now');
17
+ (0, _chai.expect)(getStepFor(1).unit).to.equal('now');
18
+ (0, _chai.expect)(getStepFor(45).unit).to.equal('now');
19
+ (0, _chai.expect)(getStepFor(46).unit).to.equal('minute');
20
+ (0, _chai.expect)(getStepFor(46).factor).to.equal(60);
21
+ (0, _chai.expect)(getStepFor(46).granularity).to.be.undefined;
22
+ (0, _chai.expect)(getStepFor(2.5 * 60 - 1).unit).to.equal('minute');
23
+ (0, _chai.expect)(getStepFor(2.5 * 60 - 1).factor).to.equal(60);
24
+ (0, _chai.expect)(getStepFor(2.5 * 60 - 1).granularity).to.be.undefined;
25
+ (0, _chai.expect)(getStepFor(2.5 * 60).unit).to.equal('minute');
26
+ (0, _chai.expect)(getStepFor(2.5 * 60).factor).to.equal(60);
27
+ (0, _chai.expect)(getStepFor(2.5 * 60).granularity).to.equal(5);
28
+ (0, _chai.expect)(getStepFor(52.5 * 60 - 1).unit).to.equal('minute');
29
+ (0, _chai.expect)(getStepFor(52.5 * 60 - 1).factor).to.equal(60);
30
+ (0, _chai.expect)(getStepFor(52.5 * 60 - 1).granularity).to.equal(5);
31
+ (0, _chai.expect)(getStepFor(52.5 * 60).unit).to.equal('hour');
32
+ (0, _chai.expect)(getStepFor(52.5 * 60).factor).to.equal(60 * 60);
31
33
  });
32
- it('should get step correctly ("now" unit not allowed)', function () {
34
+ (0, _mocha.it)('should get step correctly ("now" unit not allowed)', function () {
33
35
  var getStepFor = function getStepFor(secondsPassed) {
34
36
  return (0, _getStep["default"])(_approximate["default"], secondsPassed, {
35
37
  now: 0,
36
38
  units: ['second', 'minute', 'hour', 'day', 'week', 'month', 'year']
37
39
  });
38
40
  };
39
- expect(getStepFor(0)).to.be.undefined;
40
- expect(getStepFor(1).unit).to.equal('second');
41
- expect(getStepFor(45).unit).to.equal('second');
42
- expect(getStepFor(46).unit).to.equal('minute');
41
+ (0, _chai.expect)(getStepFor(0)).to.be.undefined;
42
+ (0, _chai.expect)(getStepFor(1).unit).to.equal('second');
43
+ (0, _chai.expect)(getStepFor(45).unit).to.equal('second');
44
+ (0, _chai.expect)(getStepFor(46).unit).to.equal('minute');
43
45
  });
44
46
  });
45
47
  //# sourceMappingURL=approximate.test.js.map