parseInvalidISO.baseline 6.0 KB

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