@@ -69,13 +69,15 @@ protected void tearDown() throws Exception {
69
69
public void test_dateParser () {
70
70
DateTimeFormatter parser = ISODateTimeFormat .dateParser ();
71
71
assertParse (parser , true , "2006-06-09" );
72
+ assertParse (parser , true , "+2006-06-09" );
72
73
assertParse (parser , true , "2006-W27-3" );
73
74
assertParse (parser , true , "2006-123" );
74
75
assertParse (parser , true , "2006-06-09T+02:00" );
75
76
assertParse (parser , true , "2006-W27-3T+02:00" );
76
77
assertParse (parser , true , "2006-123T+02:00" );
77
78
78
79
assertParse (parser , false , "2006-06-09T10:20:30.040" );
80
+ assertParse (parser , false , "+2006-06-09T10:20:30.040" );
79
81
assertParse (parser , false , "2006-W27-3T10:20:30.040" );
80
82
assertParse (parser , false , "2006-123T10:20:30.040" );
81
83
assertParse (parser , false , "2006-06-09T10:20:30.040+02:00" );
@@ -100,6 +102,7 @@ public void test_localDateParser() {
100
102
DateTimeFormatter parser = ISODateTimeFormat .localDateParser ();
101
103
assertEquals (DateTimeZone .UTC , parser .getZone ());
102
104
assertParse (parser , true , "2006-06-09" );
105
+ assertParse (parser , true , "+2006-06-09" );
103
106
assertParse (parser , true , "2006-W27-3" );
104
107
assertParse (parser , true , "2006-123" );
105
108
assertParse (parser , false , "2006-06-09T+02:00" );
@@ -133,6 +136,7 @@ public void test_dateElementParser() {
133
136
assertParse (parser , "2006-06-9" , new DateTime (2006 , 6 , 9 , 0 , 0 , 0 , 0 ));
134
137
assertParse (parser , "2006-6-09" , new DateTime (2006 , 6 , 9 , 0 , 0 , 0 , 0 ));
135
138
assertParse (parser , "2006-6-9" , new DateTime (2006 , 6 , 9 , 0 , 0 , 0 , 0 ));
139
+ assertParse (parser , "+2006-06-09" , new DateTime (2006 , 6 , 9 , 0 , 0 , 0 , 0 ));
136
140
assertParse (parser , true , "2006-W27-3" );
137
141
assertParse (parser , true , "2006-123" );
138
142
assertParse (parser , false , "2006-06-09T+02:00" );
@@ -361,6 +365,7 @@ public void test_date() {
361
365
assertParse (parser , "2006-2-04" , new DateTime (2006 , 2 , 4 , 0 , 0 , 0 , 0 ));
362
366
assertParse (parser , "2006-02-4" , new DateTime (2006 , 2 , 4 , 0 , 0 , 0 , 0 ));
363
367
assertParse (parser , "2006-2-4" , new DateTime (2006 , 2 , 4 , 0 , 0 , 0 , 0 ));
368
+ assertParse (parser , "+2006-02-04" , new DateTime (2006 , 2 , 4 , 0 , 0 , 0 , 0 ));
364
369
assertParse (parser , false , "2006-02-" );
365
370
assertParse (parser , false , "2006-02" );
366
371
assertParse (parser , false , "2006--4" );
@@ -434,6 +439,7 @@ public void test_dateTime() {
434
439
assertParse (parser , "2006-2-04T10:20:30.400Z" , new DateTime (2006 , 2 , 4 , 10 , 20 , 30 , 400 ));
435
440
assertParse (parser , "2006-2-4T10:20:30.400Z" , new DateTime (2006 , 2 , 4 , 10 , 20 , 30 , 400 ));
436
441
assertParse (parser , "2006-02-04T5:6:7.800Z" , new DateTime (2006 , 2 , 4 , 5 , 6 , 7 , 800 ));
442
+ assertParse (parser , "+2006-02-04T5:6:7.800Z" , new DateTime (2006 , 2 , 4 , 5 , 6 , 7 , 800 ));
437
443
assertParse (parser , false , "2006-02-T10:20:30.400Z" );
438
444
assertParse (parser , false , "2006-12T10:20:30.400Z" );
439
445
assertParse (parser , false , "2006-1T10:20:30.400Z" );
@@ -456,6 +462,7 @@ public void test_dateTimeNoMillis() {
456
462
assertParse (parser , "2006-2-04T10:20:30Z" , new DateTime (2006 , 2 , 4 , 10 , 20 , 30 , 0 ));
457
463
assertParse (parser , "2006-2-4T10:20:30Z" , new DateTime (2006 , 2 , 4 , 10 , 20 , 30 , 0 ));
458
464
assertParse (parser , "2006-02-04T5:6:7Z" , new DateTime (2006 , 2 , 4 , 5 , 6 , 7 , 0 ));
465
+ assertParse (parser , "+2006-02-04T5:6:7Z" , new DateTime (2006 , 2 , 4 , 5 , 6 , 7 , 0 ));
459
466
assertParse (parser , false , "2006-02-T10:20:30Z" );
460
467
assertParse (parser , false , "2006-12T10:20:30Z" );
461
468
assertParse (parser , false , "2006-1T10:20:30Z" );
@@ -475,6 +482,7 @@ public void test_ordinalDate() {
475
482
assertParse (parser , "2006-123" , new DateTime (2006 , 1 , 1 , 0 , 0 , 0 , 0 ).withDayOfYear (123 ));
476
483
assertParse (parser , "2006-12" , new DateTime (2006 , 1 , 1 , 0 , 0 , 0 , 0 ).withDayOfYear (12 ));
477
484
assertParse (parser , "2006-1" , new DateTime (2006 , 1 , 1 , 0 , 0 , 0 , 0 ).withDayOfYear (1 ));
485
+ assertParse (parser , "+2006-123" , new DateTime (2006 , 1 , 1 , 0 , 0 , 0 , 0 ).withDayOfYear (123 ));
478
486
assertParse (parser , false , "2006-" );
479
487
assertParse (parser , false , "2006" );
480
488
}
@@ -490,6 +498,7 @@ public void test_ordinalDateTime() {
490
498
assertParse (parser , "2006-12T10:20:30.400Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 400 ).withDayOfYear (12 ));
491
499
assertParse (parser , "2006-1T10:20:30.400Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 400 ).withDayOfYear (1 ));
492
500
assertParse (parser , "2006-123T5:6:7.800Z" , new DateTime (2006 , 1 , 1 , 5 , 6 , 7 , 800 ).withDayOfYear (123 ));
501
+ assertParse (parser , "+2006-123T5:6:7.800Z" , new DateTime (2006 , 1 , 1 , 5 , 6 , 7 , 800 ).withDayOfYear (123 ));
493
502
assertParse (parser , false , "2006-T10:20:30.400Z" );
494
503
assertParse (parser , false , "2006T10:20:30.400Z" );
495
504
assertParse (parser , false , "2006-123T10:20.400Z" );
@@ -506,6 +515,7 @@ public void test_ordinalDateTimeNoMillis() {
506
515
assertParse (parser , "2006-12T10:20:30Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 0 ).withDayOfYear (12 ));
507
516
assertParse (parser , "2006-1T10:20:30Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 0 ).withDayOfYear (1 ));
508
517
assertParse (parser , "2006-123T5:6:7Z" , new DateTime (2006 , 1 , 1 , 5 , 6 , 7 , 0 ).withDayOfYear (123 ));
518
+ assertParse (parser , "+2006-123T5:6:7Z" , new DateTime (2006 , 1 , 1 , 5 , 6 , 7 , 0 ).withDayOfYear (123 ));
509
519
assertParse (parser , false , "2006-T10:20:30Z" );
510
520
assertParse (parser , false , "2006T10:20:30Z" );
511
521
assertParse (parser , false , "2006-123T10:20Z" );
@@ -519,6 +529,7 @@ public void test_weekDate() {
519
529
DateTimeFormatter parser = ISODateTimeFormat .weekDate ();
520
530
assertParse (parser , "2006-W27-3" , new DateTime (2006 , 6 , 1 , 0 , 0 , 0 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
521
531
assertParse (parser , "2006-W2-3" , new DateTime (2006 , 6 , 1 , 0 , 0 , 0 , 0 ).withWeekOfWeekyear (2 ).withDayOfWeek (3 ));
532
+ assertParse (parser , "+2006-W27-3" , new DateTime (2006 , 6 , 1 , 0 , 0 , 0 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
522
533
assertParse (parser , false , "2006-W-3" );
523
534
assertParse (parser , false , "2006-W27-" );
524
535
assertParse (parser , false , "2006-W27" );
@@ -536,6 +547,7 @@ public void test_weekDateTime() {
536
547
assertParse (parser , "2006-W27-3T10:20:30.4Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 400 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
537
548
assertParse (parser , "2006-W2-3T10:20:30.400Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 400 ).withWeekOfWeekyear (2 ).withDayOfWeek (3 ));
538
549
assertParse (parser , "2006-W27-3T5:6:7.800Z" , new DateTime (2006 , 6 , 1 , 5 , 6 , 7 , 800 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
550
+ assertParse (parser , "+2006-W27-3T5:6:7.800Z" , new DateTime (2006 , 6 , 1 , 5 , 6 , 7 , 800 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
539
551
assertParse (parser , false , "2006-W27-T10:20:30.400Z" );
540
552
assertParse (parser , false , "2006-W27T10:20:30.400Z" );
541
553
assertParse (parser , false , "2006-W2T10:20:30.400Z" );
@@ -553,6 +565,7 @@ public void test_weekDateTimeNoMillis() {
553
565
assertParse (parser , "2006-W27-3T10:20:30Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
554
566
assertParse (parser , "2006-W2-3T10:20:30Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 0 ).withWeekOfWeekyear (2 ).withDayOfWeek (3 ));
555
567
assertParse (parser , "2006-W27-3T5:6:7Z" , new DateTime (2006 , 6 , 1 , 5 , 6 , 7 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
568
+ assertParse (parser , "+2006-W27-3T5:6:7Z" , new DateTime (2006 , 6 , 1 , 5 , 6 , 7 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
556
569
assertParse (parser , false , "2006-W27-T10:20:30Z" );
557
570
assertParse (parser , false , "2006-W27T10:20:30Z" );
558
571
assertParse (parser , false , "2006-W2T10:20:30Z" );
@@ -569,6 +582,7 @@ public void test_weekDateTimeNoMillis() {
569
582
public void test_basicDate () {
570
583
DateTimeFormatter parser = ISODateTimeFormat .basicDate ();
571
584
assertParse (parser , "20060204" , new DateTime (2006 , 2 , 4 , 0 , 0 , 0 , 0 ));
585
+ assertParse (parser , "+20060204" , new DateTime (2006 , 2 , 4 , 0 , 0 , 0 , 0 ));
572
586
assertParse (parser , false , "2006024" );
573
587
assertParse (parser , false , "200602" );
574
588
assertParse (parser , false , "20061" );
@@ -637,6 +651,7 @@ public void test_basicDateTime() {
637
651
assertParse (parser , "20061204T102030.400Z" , new DateTime (2006 , 12 , 4 , 10 , 20 , 30 , 400 ));
638
652
assertParse (parser , "20061204T102030.40Z" , new DateTime (2006 , 12 , 4 , 10 , 20 , 30 , 400 ));
639
653
assertParse (parser , "20061204T102030.4Z" , new DateTime (2006 , 12 , 4 , 10 , 20 , 30 , 400 ));
654
+ assertParse (parser , "+20061204T102030.4Z" , new DateTime (2006 , 12 , 4 , 10 , 20 , 30 , 400 ));
640
655
assertParse (parser , false , "2006120T102030.400Z" );
641
656
assertParse (parser , false , "200612T102030.400Z" );
642
657
assertParse (parser , false , "20061T102030.400Z" );
@@ -656,6 +671,7 @@ public void test_basicDateTimeNoMillis() {
656
671
DateTimeZone .setDefault (DateTimeZone .UTC );
657
672
DateTimeFormatter parser = ISODateTimeFormat .basicDateTimeNoMillis ();
658
673
assertParse (parser , "20061204T102030Z" , new DateTime (2006 , 12 , 4 , 10 , 20 , 30 , 0 ));
674
+ assertParse (parser , "+20061204T102030Z" , new DateTime (2006 , 12 , 4 , 10 , 20 , 30 , 0 ));
659
675
assertParse (parser , false , "2006120T102030Z" );
660
676
assertParse (parser , false , "200612T102030Z" );
661
677
assertParse (parser , false , "20061T102030Z" );
@@ -674,6 +690,7 @@ public void test_basicDateTimeNoMillis() {
674
690
public void test_basicOrdinalDate () {
675
691
DateTimeFormatter parser = ISODateTimeFormat .basicOrdinalDate ();
676
692
assertParse (parser , "2006123" , new DateTime (2006 , 1 , 1 , 0 , 0 , 0 , 0 ).withDayOfYear (123 ));
693
+ assertParse (parser , "+2006123" , new DateTime (2006 , 1 , 1 , 0 , 0 , 0 , 0 ).withDayOfYear (123 ));
677
694
assertParse (parser , false , "200612" );
678
695
assertParse (parser , false , "20061" );
679
696
assertParse (parser , false , "2006" );
@@ -687,6 +704,7 @@ public void test_basicOrdinalDateTime() {
687
704
assertParse (parser , "2006123T102030.400Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 400 ).withDayOfYear (123 ));
688
705
assertParse (parser , "2006123T102030.40Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 400 ).withDayOfYear (123 ));
689
706
assertParse (parser , "2006123T102030.4Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 400 ).withDayOfYear (123 ));
707
+ assertParse (parser , "+2006123T102030.4Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 400 ).withDayOfYear (123 ));
690
708
assertParse (parser , false , "200612T102030.400Z" );
691
709
assertParse (parser , false , "20061T102030.400Z" );
692
710
assertParse (parser , false , "2006T102030.400Z" );
@@ -705,6 +723,7 @@ public void test_basicOrdinalDateTimeNoMillis() {
705
723
DateTimeZone .setDefault (DateTimeZone .UTC );
706
724
DateTimeFormatter parser = ISODateTimeFormat .basicOrdinalDateTimeNoMillis ();
707
725
assertParse (parser , "2006123T102030Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 0 ).withDayOfYear (123 ));
726
+ assertParse (parser , "+2006123T102030Z" , new DateTime (2006 , 1 , 1 , 10 , 20 , 30 , 0 ).withDayOfYear (123 ));
708
727
assertParse (parser , false , "200612T102030Z" );
709
728
assertParse (parser , false , "20061T102030Z" );
710
729
assertParse (parser , false , "2006T102030Z" );
@@ -722,6 +741,7 @@ public void test_basicOrdinalDateTimeNoMillis() {
722
741
public void test_basicWeekDate () {
723
742
DateTimeFormatter parser = ISODateTimeFormat .basicWeekDate ();
724
743
assertParse (parser , "2006W273" , new DateTime (2006 , 6 , 1 , 0 , 0 , 0 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
744
+ assertParse (parser , "+2006W273" , new DateTime (2006 , 6 , 1 , 0 , 0 , 0 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
725
745
assertParse (parser , false , "2006W27" );
726
746
assertParse (parser , false , "2006W2" );
727
747
assertParse (parser , false , "2006W" );
@@ -735,6 +755,7 @@ public void test_basicWeekDateTime() {
735
755
assertParse (parser , "2006W273T102030.400Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 400 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
736
756
assertParse (parser , "2006W273T102030.40Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 400 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
737
757
assertParse (parser , "2006W273T102030.4Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 400 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
758
+ assertParse (parser , "+2006W273T102030.4Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 400 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
738
759
assertParse (parser , false , "2006W27T102030.400Z" );
739
760
assertParse (parser , false , "2006W2T102030.400Z" );
740
761
assertParse (parser , false , "2006W273T10203.400Z" );
@@ -749,6 +770,7 @@ public void test_basicWeekDateTimeNoMillis() {
749
770
DateTimeZone .setDefault (DateTimeZone .UTC );
750
771
DateTimeFormatter parser = ISODateTimeFormat .basicWeekDateTimeNoMillis ();
751
772
assertParse (parser , "2006W273T102030Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
773
+ assertParse (parser , "+2006W273T102030Z" , new DateTime (2006 , 6 , 1 , 10 , 20 , 30 , 0 ).withWeekOfWeekyear (27 ).withDayOfWeek (3 ));
752
774
assertParse (parser , false , "2006W27T102030Z" );
753
775
assertParse (parser , false , "2006W2T102030Z" );
754
776
assertParse (parser , false , "2006W273T10203Z" );
0 commit comments