@@ -87,7 +87,7 @@ describe('datetimepicker', function() {
87
87
var expectedValue = 11 ;
88
88
89
89
expect ( util . _convert24to12 ( expectedValue + 12 * 3 ) ) . toBe ( "" + expectedValue ) ;
90
- } )
90
+ } ) ;
91
91
} ) ;
92
92
93
93
describe ( 'detectSupport' , function ( ) {
@@ -338,21 +338,21 @@ describe('datetimepicker', function() {
338
338
339
339
describe ( 'timezoneOffsetString' , function ( ) {
340
340
it ( 'returns NaN if the input is NaN' , function ( ) {
341
- expect ( $ . timepicker . timezoneOffsetString ( NaN ) ) . toBeNaN ( ) ;
341
+ expect ( $ . timepicker . timezoneOffsetString ( NaN , false ) ) . toBeNaN ( ) ;
342
342
} ) ;
343
343
344
344
it ( 'returns the input if the input is greater than 840 (+14:00)' , function ( ) {
345
345
var expectedMinutes = 850 ;
346
346
347
- var actualMinutes = $ . timepicker . timezoneOffsetString ( expectedMinutes ) ;
347
+ var actualMinutes = $ . timepicker . timezoneOffsetString ( expectedMinutes , false ) ;
348
348
349
349
expect ( actualMinutes ) . toBe ( expectedMinutes ) ;
350
350
} ) ;
351
351
352
352
it ( 'returns the input if the input is less than -720 (-12:00)' , function ( ) {
353
353
var expectedMinutes = - 730 ;
354
354
355
- var actualMinutes = $ . timepicker . timezoneOffsetString ( expectedMinutes ) ;
355
+ var actualMinutes = $ . timepicker . timezoneOffsetString ( expectedMinutes , false ) ;
356
356
357
357
expect ( actualMinutes ) . toBe ( expectedMinutes ) ;
358
358
} ) ;
@@ -461,4 +461,143 @@ describe('datetimepicker', function() {
461
461
} ) ;
462
462
} ) ;
463
463
} ) ;
464
+
465
+ describe ( 'datepicker functions' , function ( ) {
466
+ describe ( 'formatTime' , function ( ) {
467
+ describe ( 'single formats, default options' , function ( ) {
468
+ var emptyTime = { } ;
469
+
470
+ describe ( 'hours' , function ( ) {
471
+ var earlyHour = { hour : 7 } ,
472
+ lateHour = { hour : 17 } ;
473
+
474
+ it ( 'formats HH correctly' , function ( ) {
475
+ expect ( $ . datepicker . formatTime ( 'HH' , emptyTime ) ) . toBe ( '00' ) ;
476
+ expect ( $ . datepicker . formatTime ( 'HH' , earlyHour ) ) . toBe ( '07' ) ;
477
+ expect ( $ . datepicker . formatTime ( 'HH' , lateHour ) ) . toBe ( '17' ) ;
478
+ } ) ;
479
+
480
+ it ( 'formats H correctly' , function ( ) {
481
+ expect ( $ . datepicker . formatTime ( 'H' , emptyTime ) ) . toBe ( '0' ) ;
482
+ expect ( $ . datepicker . formatTime ( 'H' , earlyHour ) ) . toBe ( '7' ) ;
483
+ expect ( $ . datepicker . formatTime ( 'H' , lateHour ) ) . toBe ( '17' ) ;
484
+ } ) ;
485
+
486
+ it ( 'formats hh correctly' , function ( ) {
487
+ expect ( $ . datepicker . formatTime ( 'hh' , emptyTime ) ) . toBe ( '12' ) ;
488
+ expect ( $ . datepicker . formatTime ( 'hh' , earlyHour ) ) . toBe ( '07' ) ;
489
+ expect ( $ . datepicker . formatTime ( 'hh' , lateHour ) ) . toBe ( '05' ) ;
490
+ } ) ;
491
+
492
+ it ( 'formats h correctly' , function ( ) {
493
+ expect ( $ . datepicker . formatTime ( 'h' , emptyTime ) ) . toBe ( '12' ) ;
494
+ expect ( $ . datepicker . formatTime ( 'h' , earlyHour ) ) . toBe ( '7' ) ;
495
+ expect ( $ . datepicker . formatTime ( 'h' , lateHour ) ) . toBe ( '5' ) ;
496
+ } ) ;
497
+ } ) ;
498
+
499
+ describe ( 'minutes' , function ( ) {
500
+ var singleDigitMinute = { minute : 3 } ,
501
+ doubleDigitMinute = { minute : 42 } ;
502
+
503
+ it ( 'formats mm correctly' , function ( ) {
504
+ expect ( $ . datepicker . formatTime ( 'mm' , emptyTime ) ) . toBe ( '00' ) ;
505
+ expect ( $ . datepicker . formatTime ( 'mm' , singleDigitMinute ) ) . toBe ( '03' ) ;
506
+ expect ( $ . datepicker . formatTime ( 'mm' , doubleDigitMinute ) ) . toBe ( '42' ) ;
507
+ } ) ;
508
+
509
+ it ( 'formats m correctly' , function ( ) {
510
+ expect ( $ . datepicker . formatTime ( 'm' , emptyTime ) ) . toBe ( '0' ) ;
511
+ expect ( $ . datepicker . formatTime ( 'm' , singleDigitMinute ) ) . toBe ( '3' ) ;
512
+ expect ( $ . datepicker . formatTime ( 'm' , doubleDigitMinute ) ) . toBe ( '42' ) ;
513
+ } ) ;
514
+ } ) ;
515
+
516
+ describe ( 'seconds' , function ( ) {
517
+ var singleDigitSecond = { second : 5 } ,
518
+ doubleDigitSecond = { second : 31 } ;
519
+
520
+ it ( 'formats ss correctly' , function ( ) {
521
+ expect ( $ . datepicker . formatTime ( 'ss' , emptyTime ) ) . toBe ( '00' ) ;
522
+ expect ( $ . datepicker . formatTime ( 'ss' , singleDigitSecond ) ) . toBe ( '05' ) ;
523
+ expect ( $ . datepicker . formatTime ( 'ss' , doubleDigitSecond ) ) . toBe ( '31' ) ;
524
+ } ) ;
525
+
526
+ it ( 'formats s correctly' , function ( ) {
527
+ expect ( $ . datepicker . formatTime ( 's' , emptyTime ) ) . toBe ( '0' ) ;
528
+ expect ( $ . datepicker . formatTime ( 's' , singleDigitSecond ) ) . toBe ( '5' ) ;
529
+ expect ( $ . datepicker . formatTime ( 's' , doubleDigitSecond ) ) . toBe ( '31' ) ;
530
+ } ) ;
531
+ } ) ;
532
+
533
+ describe ( 'milliseconds' , function ( ) {
534
+ it ( 'formats l correctly' , function ( ) {
535
+ var singleDigitMillis = { millisec : 3 } ,
536
+ doubleDigitMillis = { millisec : 17 } ,
537
+ tripleDigitMillis = { millisec : 123 } ;
538
+
539
+ expect ( $ . datepicker . formatTime ( 'l' , emptyTime ) ) . toBe ( '000' ) ;
540
+ expect ( $ . datepicker . formatTime ( 'l' , singleDigitMillis ) ) . toBe ( '003' ) ;
541
+ expect ( $ . datepicker . formatTime ( 'l' , doubleDigitMillis ) ) . toBe ( '017' ) ;
542
+ expect ( $ . datepicker . formatTime ( 'l' , tripleDigitMillis ) ) . toBe ( '123' ) ;
543
+ } ) ;
544
+ } ) ;
545
+
546
+ describe ( 'microseconds' , function ( ) {
547
+ it ( 'formats c correctly' , function ( ) {
548
+ var singleDigitMicros = { microsec : 3 } ,
549
+ doubleDigitMicros = { microsec : 17 } ,
550
+ tripleDigitMicros = { microsec : 123 } ;
551
+
552
+ expect ( $ . datepicker . formatTime ( 'c' , emptyTime ) ) . toBe ( '000' ) ;
553
+ expect ( $ . datepicker . formatTime ( 'c' , singleDigitMicros ) ) . toBe ( '003' ) ;
554
+ expect ( $ . datepicker . formatTime ( 'c' , doubleDigitMicros ) ) . toBe ( '017' ) ;
555
+ expect ( $ . datepicker . formatTime ( 'c' , tripleDigitMicros ) ) . toBe ( '123' ) ;
556
+ } ) ;
557
+ } ) ;
558
+
559
+ describe ( 'timezone' , function ( ) {
560
+ // TODO: Finish
561
+ } ) ;
562
+
563
+ describe ( 'am/pm' , function ( ) {
564
+ var morningHour = { hour : 3 } ,
565
+ afternoonHour = { hour : 15 } ;
566
+
567
+ it ( 'formats t correctly' , function ( ) {
568
+ expect ( $ . datepicker . formatTime ( 't' , emptyTime ) ) . toBe ( 'a' ) ;
569
+ expect ( $ . datepicker . formatTime ( 't' , morningHour ) ) . toBe ( 'a' ) ;
570
+ expect ( $ . datepicker . formatTime ( 't' , afternoonHour ) ) . toBe ( 'p' ) ;
571
+ } ) ;
572
+
573
+ it ( 'formats T correctly' , function ( ) {
574
+ expect ( $ . datepicker . formatTime ( 'T' , emptyTime ) ) . toBe ( 'A' ) ;
575
+ expect ( $ . datepicker . formatTime ( 'T' , morningHour ) ) . toBe ( 'A' ) ;
576
+ expect ( $ . datepicker . formatTime ( 'T' , afternoonHour ) ) . toBe ( 'P' ) ;
577
+ } ) ;
578
+
579
+ it ( 'formats tt correctly' , function ( ) {
580
+ expect ( $ . datepicker . formatTime ( 'tt' , emptyTime ) ) . toBe ( 'am' ) ;
581
+ expect ( $ . datepicker . formatTime ( 'tt' , morningHour ) ) . toBe ( 'am' ) ;
582
+ expect ( $ . datepicker . formatTime ( 'tt' , afternoonHour ) ) . toBe ( 'pm' ) ;
583
+ } ) ;
584
+
585
+ it ( 'formats TT correctly' , function ( ) {
586
+ expect ( $ . datepicker . formatTime ( 'TT' , emptyTime ) ) . toBe ( 'AM' ) ;
587
+ expect ( $ . datepicker . formatTime ( 'TT' , morningHour ) ) . toBe ( 'AM' ) ;
588
+ expect ( $ . datepicker . formatTime ( 'TT' , afternoonHour ) ) . toBe ( 'PM' ) ;
589
+ } ) ;
590
+ } ) ;
591
+
592
+ describe ( 'other' , function ( ) {
593
+ expect ( $ . datepicker . formatTime ( '' ) ) . toBe ( '' ) ;
594
+ expect ( $ . datepicker . formatTime ( "'abc'" ) ) . toBe ( 'abc' ) ;
595
+ expect ( $ . datepicker . formatTime ( '"abc"' ) ) . toBe ( '"abc"' ) ;
596
+ expect ( $ . datepicker . formatTime ( "'" ) ) . toBe ( "'" ) ;
597
+ expect ( $ . datepicker . formatTime ( "''" ) ) . toBe ( "" ) ;
598
+ expect ( $ . datepicker . formatTime ( "'abc' h 'def'" ) ) . toBe ( 'abc 12 def' ) ;
599
+ } ) ;
600
+ } ) ;
601
+ } ) ;
602
+ } ) ;
464
603
} ) ;
0 commit comments