@@ -453,64 +453,37 @@ describe('Agenda item', function()
453
453
assert .are .same (' 10:00...... Scheduled:' , agenda_item .label )
454
454
end )
455
455
456
- it (' should properly read date ranges bigger than current day' , function ()
456
+ it (' should properly read same day date ranges and time ranges' , function ()
457
+ -- Same day date range
457
458
local range_start = Date .from_string (' 2021-06-13 Sun 13:30' )
458
- local range_end = range_start :add ({ day = 4 , hour = 1 })
459
+ local range_end = range_start :add ({ hour = 1 })
459
460
local headline = generate (string.format (' Some text <%s>--<%s>' , range_start :to_string (), range_end :to_string ()))
460
461
local day = range_start :clone ()
461
462
local agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
462
463
assert .is .True (agenda_item .is_valid )
463
- assert .are .same (' 13:30...... (1/5): ' , agenda_item . label )
464
+ assert .are .same (agenda_item . label , ' 13:30-14:30 ' )
464
465
agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
465
466
assert .is .False (agenda_item .is_valid )
466
467
467
- day = day :add ({ day = 1 })
468
- agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
468
+ -- Time range on a single date
469
+ local date_with_time_range = Date .from_string (' 2021-06-13 Sun 15:00-16:30' )
470
+ headline = generate (string.format (' Some text <%s>' , date_with_time_range :to_string ()))
471
+ agenda_item = AgendaItem :new (headline .dates [1 ], headline , date_with_time_range )
469
472
assert .is .True (agenda_item .is_valid )
470
- assert .are .same (' (2/5):' , agenda_item .label )
471
- agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
472
- assert .is .False (agenda_item .is_valid )
473
-
474
- day = day :add ({ day = 1 })
475
- agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
476
- assert .is .True (agenda_item .is_valid )
477
- assert .are .same (' (3/5):' , agenda_item .label )
478
- agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
479
- assert .is .False (agenda_item .is_valid )
473
+ assert .are .same (agenda_item .label , ' 15:00-16:30 ' )
480
474
481
- day = day :add ({ day = 1 })
482
- agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
475
+ -- Time range on a date has precedence over same day date range
476
+ date_with_time_range = Date .from_string (' 2021-06-13 Sun 18:00-19:30' )
477
+ local date_with_time_range_end = Date .from_string (' 2021-06-13 Sun 20:00' )
478
+ headline = generate (string.format (' Some text <%s>--<%s>' , date_with_time_range :to_string (), date_with_time_range_end :to_string ()))
479
+ agenda_item = AgendaItem :new (headline .dates [1 ], headline , date_with_time_range )
483
480
assert .is .True (agenda_item .is_valid )
484
- assert .are .same (' (4/5):' , agenda_item .label )
485
- agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
486
- assert .is .False (agenda_item .is_valid )
487
-
488
- day = day :add ({ day = 1 })
489
- agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
490
- assert .is .False (agenda_item .is_valid )
491
-
492
- agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
493
- assert .is .True (agenda_item .is_valid )
494
- assert .are .same (' 14:30...... (5/5):' , agenda_item .label )
481
+ assert .are .same (agenda_item .label , ' 18:00-19:30 ' )
495
482
end )
496
483
497
- it (' should ignore end range if it is set to the same day as start day' , function ()
498
484
local range_start = Date .from_string (' 2021-06-13 Sun 13:30' )
499
- local range_end = range_start :add ({ hour = 5 })
485
+ local range_end = range_start :add ({ day = 4 , hour = 1 })
500
486
local headline = generate (string.format (' Some text <%s>--<%s>' , range_start :to_string (), range_end :to_string ()))
501
- local day = range_start :clone ()
502
- local agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
503
- assert .is .True (agenda_item .is_valid )
504
- assert .are .same (' 13:30...... ' , agenda_item .label )
505
- agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
506
- assert .is .False (agenda_item .is_valid )
507
-
508
- day = day :add ({ day = 1 })
509
- agenda_item = AgendaItem :new (headline .dates [1 ], headline , day )
510
- assert .is .False (agenda_item .is_valid )
511
- agenda_item = AgendaItem :new (headline .dates [2 ], headline , day )
512
- assert .is .False (agenda_item .is_valid )
513
- end )
514
487
515
488
it (' should not show scheduled DONE item if disabled in config' , function ()
516
489
local future_day = Date .now ():add ({ day = 2 })
0 commit comments