parseInvalidISO.baseline 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. // Definitely invalid ISO strings
  3. // Field value outside valid range
  4. 0001-00-01T01:01:01.001Z
  5. Invalid Date
  6. 0001-13-01T01:01:01.001Z
  7. Invalid Date
  8. 0001-01-00T01:01:01.001Z
  9. Invalid Date
  10. 0001-01-32T01:01:01.001Z
  11. Invalid Date
  12. 0001-01-01T25:01:01.001Z
  13. Invalid Date
  14. 0001-01-01T01:01:01.001+25:00
  15. 0000-12-31T00:01:01.001Z
  16. -62135683138999 === -62135683138999
  17. 0001-01-01T01:60:01.001Z
  18. Invalid Date
  19. 0001-01-01T01:01:01.001+00:60
  20. 0001-01-01T00:01:01.001Z
  21. -62135596738999 === -62135596738999
  22. 0001-01-01T01:01:60.001Z
  23. Invalid Date
  24. // Time value outside valid range
  25. -300000-01-01T01:01:01.001Z
  26. Invalid Date
  27. +300000-01-01T01:01:01.001Z
  28. Invalid Date
  29. Total: 11
  30. Accepted: 2
  31. Rejected: 9
  32. Failed: 0
  33. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  34. // Potential cross-browser compatibility issues
  35. // Leading and trailing whitespace, nulls, or non-whitespace non-nulls
  36. 0001-01-01T01:01:01.001Z
  37. 0001-01-01T01:01:01.001Z
  38. -62135593138999 === -62135593138999
  39. 0001-01-01T01:01:01.001Z
  40. 0001-01-01T01:01:01.001Z
  41. -62135593138999 === -62135593138999
  42. 0001-01-01T01:01:01.001Zx
  43. Invalid Date
  44. \00001-01-01T01:01:01.001Z
  45. Invalid Date
  46. 0001-01-01T01:01:01.001Z\0
  47. Invalid Date
  48. 0001-01-01T01:01:01.001Z\0x
  49. Invalid Date
  50. \x090001-01-01T01:01:01.001Z
  51. 0001-01-01T01:01:01.001Z
  52. -62135593138999 === -62135593138999
  53. 0001-01-01T01:01:01.001Z\x09
  54. 0001-01-01T01:01:01.001Z
  55. -62135593138999 === -62135593138999
  56. 0001-01-01T01:01:01.001Z\x09x
  57. Invalid Date
  58. \x0a0001-01-01T01:01:01.001Z
  59. 0001-01-01T01:01:01.001Z
  60. -62135593138999 === -62135593138999
  61. 0001-01-01T01:01:01.001Z\x0a
  62. 0001-01-01T01:01:01.001Z
  63. -62135593138999 === -62135593138999
  64. 0001-01-01T01:01:01.001Z\x0ax
  65. Invalid Date
  66. \x0b0001-01-01T01:01:01.001Z
  67. 0001-01-01T01:01:01.001Z
  68. -62135593138999 === -62135593138999
  69. 0001-01-01T01:01:01.001Z\x0b
  70. 0001-01-01T01:01:01.001Z
  71. -62135593138999 === -62135593138999
  72. 0001-01-01T01:01:01.001Z\x0bx
  73. Invalid Date
  74. \x0c0001-01-01T01:01:01.001Z
  75. 0001-01-01T01:01:01.001Z
  76. -62135593138999 === -62135593138999
  77. 0001-01-01T01:01:01.001Z\x0c
  78. 0001-01-01T01:01:01.001Z
  79. -62135593138999 === -62135593138999
  80. 0001-01-01T01:01:01.001Z\x0cx
  81. Invalid Date
  82. \x0d0001-01-01T01:01:01.001Z
  83. 0001-01-01T01:01:01.001Z
  84. -62135593138999 === -62135593138999
  85. 0001-01-01T01:01:01.001Z\x0d
  86. 0001-01-01T01:01:01.001Z
  87. -62135593138999 === -62135593138999
  88. 0001-01-01T01:01:01.001Z\x0dx
  89. Invalid Date
  90. 0001-01-01T01:01:01.001Z
  91. 0001-01-01T01:01:01.001Z
  92. -62135593138999 === -62135593138999
  93. 0001-01-01T01:01:01.001Z
  94. 0001-01-01T01:01:01.001Z
  95. -62135593138999 === -62135593138999
  96. 0001-01-01T01:01:01.001Z x
  97. Invalid Date
  98. \xa00001-01-01T01:01:01.001Z
  99. 0001-01-01T01:01:01.001Z
  100. -62135593138999 === -62135593138999
  101. 0001-01-01T01:01:01.001Z\xa0
  102. 0001-01-01T01:01:01.001Z
  103. -62135593138999 === -62135593138999
  104. 0001-01-01T01:01:01.001Z\xa0x
  105. Invalid Date
  106. \u20280001-01-01T01:01:01.001Z
  107. 0001-01-01T01:01:01.001Z
  108. -62135593138999 === -62135593138999
  109. 0001-01-01T01:01:01.001Z\u2028
  110. 0001-01-01T01:01:01.001Z
  111. -62135593138999 === -62135593138999
  112. 0001-01-01T01:01:01.001Z\u2028x
  113. Invalid Date
  114. \u20290001-01-01T01:01:01.001Z
  115. 0001-01-01T01:01:01.001Z
  116. -62135593138999 === -62135593138999
  117. 0001-01-01T01:01:01.001Z\u2029
  118. 0001-01-01T01:01:01.001Z
  119. -62135593138999 === -62135593138999
  120. 0001-01-01T01:01:01.001Z\u2029x
  121. Invalid Date
  122. \ufeff0001-01-01T01:01:01.001Z
  123. 0001-01-01T01:01:01.001Z
  124. -62135593138999 === -62135593138999
  125. 0001-01-01T01:01:01.001Z\ufeff
  126. 0001-01-01T01:01:01.001Z
  127. -62135593138999 === -62135593138999
  128. 0001-01-01T01:01:01.001Z\ufeffx
  129. Invalid Date
  130. // Less and more digits per field
  131. 001-01-01T01:01:01.001Z
  132. Invalid Date
  133. 00001-01-01T01:01:01.001Z
  134. Invalid Date
  135. 0001-1-01T01:01:01.001Z
  136. Invalid Date
  137. 0001-001-01T01:01:01.001Z
  138. Invalid Date
  139. 0001-01-1T01:01:01.001Z
  140. Invalid Date
  141. 0001-01-001T01:01:01.001Z
  142. Invalid Date
  143. 0001-01-01T1:01:01.001Z
  144. Invalid Date
  145. 0001-01-01T001:01:01.001Z
  146. Invalid Date
  147. 0001-01-01T01:1:01.001Z
  148. Invalid Date
  149. 0001-01-01T01:001:01.001Z
  150. Invalid Date
  151. 0001-01-01T01:01:1.001Z
  152. Invalid Date
  153. 0001-01-01T01:01:001.001Z
  154. Invalid Date
  155. 0001-01-01T01:01:01.01Z
  156. 0001-01-01T01:01:01.010Z
  157. -62135593138990 === -62135593138990
  158. 0001-01-01T01:01:01.0001Z
  159. 0001-01-01T01:01:01.000Z
  160. -62135593139000 === -62135593139000
  161. // Date-only forms with UTC offset
  162. 0001Z
  163. Invalid Date
  164. 0001-01Z
  165. Invalid Date
  166. 0001-01-01Z
  167. 0001-01-01T00:00:00.000Z
  168. -62135596800000 === -62135596800000
  169. // Optionality of minutes
  170. 0001-01-01T01Z
  171. Invalid Date
  172. 0001-01-01T01:01:01.001+01
  173. 0001-01-01T00:01:01.001Z
  174. -62135596738999 === -62135596738999
  175. // Time-only forms
  176. T01:01Z
  177. Invalid Date
  178. T01:01:01Z
  179. Invalid Date
  180. T01:01:01.001Z
  181. Invalid Date
  182. // Field before missing optional field ending with separator
  183. 0001-
  184. Invalid Date
  185. 0001-01-
  186. Invalid Date
  187. 0001-T01:01:01.001Z
  188. Invalid Date
  189. 0001-01-T01:01:01.001Z
  190. Invalid Date
  191. 0001-01-01T01:01:Z
  192. Invalid Date
  193. 0001-01-01T01:01:01.Z
  194. Invalid Date
  195. // Optionality and type of sign on years
  196. +0001-01-01T01:01:01.001Z
  197. Invalid Date
  198. -0001-01-01T01:01:01.001Z
  199. Invalid Date
  200. 010000-01-01T01:01:01.001Z
  201. Invalid Date
  202. -000000-01-01T01:01:01.001Z
  203. Invalid Date
  204. // Test support for zones without colons (DEVDIV2: 481975)
  205. 2012-02-22T03:08:26+0000
  206. 2012-02-22T03:08:26.000Z
  207. 1329880106000 === 1329880106000
  208. // Test support for zones(Issue#1402:OS8026281)
  209. Wed Jul 22 16:04:54 2016 +0000
  210. 2016-07-22T16:04:54.000Z
  211. 1469203494000 === 1469203494000
  212. Wed Jul 22 16:04:54 +0000 2016
  213. 2016-07-22T16:04:54.000Z
  214. 1469203494000 === 1469203494000
  215. Wed Jul 22 +0000 16:04:54 2016
  216. Invalid Date
  217. Wed Jul +0000 22 16:04:54 2016
  218. Invalid Date
  219. Wed +0000 Jul 22 16:04:54 2016
  220. Invalid Date
  221. +0000 Wed Jul 22 16:04:54 2016
  222. Invalid Date
  223. Wed Jul 22 16:04:54 2016
  224. 2016-07-22T23:04:54.000Z
  225. 1469228694000 === 1469228694000
  226. Total: 76
  227. Accepted: 30
  228. Rejected: 46
  229. Failed: 0