@@ -281,6 +281,21 @@ describe('Datetime.vue', function () {
281
281
} )
282
282
} )
283
283
} )
284
+
285
+ it ( 'should be a time type' , function ( done ) {
286
+ const vm = createVM ( this ,
287
+ `<Datetime type="time"></Datetime>` ,
288
+ {
289
+ components : { Datetime }
290
+ } )
291
+
292
+ vm . $ ( '.vdatetime-input' ) . click ( )
293
+
294
+ vm . $nextTick ( ( ) => {
295
+ expect ( vm . $ ( '.vdatetime-time-picker' ) ) . to . exist
296
+ done ( )
297
+ } )
298
+ } )
284
299
} )
285
300
286
301
describe ( 'value' , function ( ) {
@@ -373,6 +388,59 @@ describe('Datetime.vue', function () {
373
388
374
389
expect ( vm . datetime ) . to . be . equal ( '2017-12-08T00:00:00.000+03:00' )
375
390
} )
391
+
392
+ it ( 'should be a time with the specified time zone' , function ( done ) {
393
+ const vm = createVM ( this ,
394
+ `<Datetime v-model="datetime" type='time' zone='UTC-03:00'></Datetime>` ,
395
+ {
396
+ components : { Datetime } ,
397
+ data ( ) {
398
+ return {
399
+ datetime : '2017-12-07T09:00:00.000Z'
400
+ }
401
+ }
402
+ } )
403
+
404
+ vm . $nextTick ( ( ) => {
405
+ expect ( vm . $ ( '.vdatetime-input' ) . value ) . to . be . equal ( '06:00' )
406
+ done ( )
407
+ } )
408
+ } )
409
+
410
+ it ( 'should be a time in the local time zone on default' , function ( done ) {
411
+ const vm = createVM ( this ,
412
+ `<Datetime v-model="datetime" type='time'></Datetime>` ,
413
+ {
414
+ components : { Datetime } ,
415
+ data ( ) {
416
+ return {
417
+ datetime : '2017-12-07T09:00:00.000Z'
418
+ }
419
+ }
420
+ } )
421
+
422
+ vm . $nextTick ( ( ) => {
423
+ const time = LuxonDateTime . fromISO ( '2017-12-07T09:00:00.000Z' ) . toUTC ( ) . setZone ( 'local' ) . toLocaleString ( LuxonDateTime . TIME_24_SIMPLE )
424
+
425
+ expect ( vm . $ ( '.vdatetime-input' ) . value ) . to . be . equal ( time )
426
+ done ( )
427
+ } )
428
+ } )
429
+
430
+ it ( 'should be a time converted to utc' , function ( ) {
431
+ const vm = createVM ( this ,
432
+ `<Datetime v-model="datetime" type='time' value-zone="UTC-05:00"></Datetime>` ,
433
+ {
434
+ components : { Datetime } ,
435
+ data ( ) {
436
+ return {
437
+ datetime : '2017-12-05T00:00:00.000Z'
438
+ }
439
+ }
440
+ } )
441
+
442
+ expect ( vm . datetime ) . to . be . equal ( '2017-12-04T19:00:00.000-05:00' )
443
+ } )
376
444
} )
377
445
378
446
describe ( 'input value' , function ( ) {
@@ -471,6 +539,38 @@ describe('Datetime.vue', function () {
471
539
expect ( vm . $ ( '.vdatetime-input' ) . value ) . to . be . equal ( '2017-12-07 19:34:54' )
472
540
} )
473
541
542
+ it ( 'should be formatted in the specified format (time)' , function ( ) {
543
+ const vm = createVM ( this ,
544
+ `<Datetime v-model="datetime" type="time" :format="format" zone="UTC+03:00"></Datetime>` ,
545
+ {
546
+ components : { Datetime } ,
547
+ data ( ) {
548
+ return {
549
+ datetime : '2017-12-07T19:34:54.078+03:00' ,
550
+ format : LuxonDateTime . TIME_24_WITH_SECONDS
551
+ }
552
+ }
553
+ } )
554
+
555
+ expect ( vm . $ ( '.vdatetime-input' ) . value ) . to . be . equal ( '19:34:54' )
556
+ } )
557
+
558
+ it ( 'should be formatted in the specified macro format (time)' , function ( ) {
559
+ const vm = createVM ( this ,
560
+ `<Datetime v-model="datetime" type="time" :format="format" zone="UTC+03:00"></Datetime>` ,
561
+ {
562
+ components : { Datetime } ,
563
+ data ( ) {
564
+ return {
565
+ datetime : '2017-12-07T19:34:54.078+03:00' ,
566
+ format : 'HH:mm:ss'
567
+ }
568
+ }
569
+ } )
570
+
571
+ expect ( vm . $ ( '.vdatetime-input' ) . value ) . to . be . equal ( '19:34:54' )
572
+ } )
573
+
474
574
it ( 'should be updated if value is updated' , function ( done ) {
475
575
const vm = createVM ( this ,
476
576
`<Datetime v-model="datetime"></Datetime>` ,
0 commit comments