@@ -214,6 +214,36 @@ public static function processProvider()
214214 ['start ' => '2012-08-29T00:00:00Z ' , 'end ' => '2013-09-27T23:59:00Z ' ],
215215 ['start ' => '2012-08-28 20:00 ' , 'end ' => '2013-09-27 19:59 ' ],
216216 ],
217+ 'date-only format ' => [
218+ 'UTC ' ,
219+ ['format ' => 'Y-m-d ' ],
220+ '2012-08-29 ' ,
221+ '2012-08-29 ' ,
222+ ],
223+ 'date-only format in a different timezone ' => [
224+ 'America/New_York ' ,
225+ ['format ' => 'Y-m-d ' ],
226+ '2012-08-29 ' ,
227+ '2012-08-29 ' ,
228+ ],
229+ 'date-only custom format ' => [
230+ 'UTC ' ,
231+ ['format ' => 'Y--m--d ' ],
232+ '2012-08-29 ' ,
233+ '2012--08--29 ' ,
234+ ],
235+ 'date-only format range ' => [
236+ 'UTC ' ,
237+ ['mode ' => 'range ' , 'format ' => 'Y-m-d ' ],
238+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
239+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
240+ ],
241+ 'date-only format range in a different timezone ' => [
242+ 'America/New_York ' ,
243+ ['mode ' => 'range ' , 'format ' => 'Y-m-d ' ],
244+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
245+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
246+ ],
217247 ];
218248 }
219249
@@ -294,6 +324,30 @@ public static function preProcessProvider()
294324 '2012-08-29 13:43 ' ,
295325 '2012-08-29T17:43:00.000Z ' ,
296326 ],
327+ 'date-only format ' => [
328+ 'UTC ' ,
329+ ['format ' => 'Y-m-d ' ],
330+ '2012-08-29 ' ,
331+ '2012-08-29 ' ,
332+ ],
333+ 'date-only format in a different timezone ' => [
334+ 'America/New_York ' ,
335+ ['format ' => 'Y-m-d ' ],
336+ '2012-08-29 ' ,
337+ '2012-08-29 ' ,
338+ ],
339+ 'date-only format in a positive offset timezone ' => [
340+ 'Australia/Sydney ' ,
341+ ['format ' => 'Y-m-d ' ],
342+ '2012-08-29 ' ,
343+ '2012-08-29 ' ,
344+ ],
345+ 'date-only custom format ' => [
346+ 'America/New_York ' ,
347+ ['format ' => 'Y--m--d ' ],
348+ '2012--08--29 ' ,
349+ '2012-08-29 ' ,
350+ ],
297351 'null range ' => [
298352 'UTC ' ,
299353 ['mode ' => 'range ' ],
@@ -318,6 +372,18 @@ public static function preProcessProvider()
318372 ['start ' => '2012-08-29 00:00 ' , 'end ' => '2013-09-27 23:59 ' ],
319373 ['start ' => '2012-08-29T04:00:00.000Z ' , 'end ' => '2013-09-28T03:59:00.000Z ' ],
320374 ],
375+ 'date-only format range ' => [
376+ 'UTC ' ,
377+ ['mode ' => 'range ' , 'format ' => 'Y-m-d ' ],
378+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
379+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
380+ ],
381+ 'date-only format range in a different timezone ' => [
382+ 'America/New_York ' ,
383+ ['mode ' => 'range ' , 'format ' => 'Y-m-d ' ],
384+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
385+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
386+ ],
321387 'range where single date has been provided ' => [
322388 'UTC ' ,
323389 // e.g. If it was once a non-range field.
@@ -326,11 +392,11 @@ public static function preProcessProvider()
326392 '2012-08-29 ' ,
327393 ['start ' => '2012-08-29T00:00:00.000Z ' , 'end ' => '2012-08-29T23:59:59.999Z ' ],
328394 ],
329- 'range where single date has been provided with custom format ' => [
395+ 'range where single date has been provided with date-only custom format ' => [
330396 'UTC ' ,
331397 ['mode ' => 'range ' , 'format ' => 'Y--m--d ' ],
332398 '2012--08--29 ' ,
333- ['start ' => '2012-08-29T00:00:00.000Z ' , 'end ' => '2012-08-29T23:59:59.999Z ' ],
399+ ['start ' => '2012-08-29 ' , 'end ' => '2012-08-29 ' ],
334400 ],
335401 'date where range has been provided ' => [
336402 'UTC ' ,
@@ -459,6 +525,30 @@ public static function preProcessIndexProvider()
459525 ['start ' => '2012-08-29 00:00 ' , 'end ' => '2013-09-27 00:00 ' ],
460526 ['start ' => '2012-08-29T00:00:00.000Z ' , 'end ' => '2013-09-27T00:00:00.000Z ' , 'mode ' => 'range ' , 'time_enabled ' => true ],
461527 ],
528+ 'date-only format ' => [
529+ 'UTC ' ,
530+ ['format ' => 'Y-m-d ' ],
531+ '2012-08-29 ' ,
532+ ['date ' => '2012-08-29 ' , 'mode ' => 'single ' , 'time_enabled ' => false ],
533+ ],
534+ 'date-only format in a different timezone ' => [
535+ 'America/New_York ' ,
536+ ['format ' => 'Y-m-d ' ],
537+ '2012-08-29 ' ,
538+ ['date ' => '2012-08-29 ' , 'mode ' => 'single ' , 'time_enabled ' => false ],
539+ ],
540+ 'date-only format range ' => [
541+ 'UTC ' ,
542+ ['mode ' => 'range ' , 'format ' => 'Y-m-d ' ],
543+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
544+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' , 'mode ' => 'range ' , 'time_enabled ' => false ],
545+ ],
546+ 'date-only format range in a different timezone ' => [
547+ 'America/New_York ' ,
548+ ['mode ' => 'range ' , 'format ' => 'Y-m-d ' ],
549+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' ],
550+ ['start ' => '2012-08-29 ' , 'end ' => '2013-09-27 ' , 'mode ' => 'range ' , 'time_enabled ' => false ],
551+ ],
462552 ];
463553 }
464554
@@ -603,6 +693,16 @@ public static function validationProvider()
603693 '2024-01-29 ' ,
604694 ['Not a valid date. ' ],
605695 ],
696+ 'valid date-only format ' => [
697+ ['format ' => 'Y-m-d ' ],
698+ '2024-01-29 ' ,
699+ [],
700+ ],
701+ 'invalid date-only format ' => [
702+ ['format ' => 'Y-m-d ' ],
703+ 'marchtember oneteenth ' ,
704+ ['Not a valid date. ' ],
705+ ],
606706 'ridiculous invalid date format ' => [
607707 [],
608708 'marchtember oneteenth ' ,
0 commit comments