@@ -210,7 +210,11 @@ let block =
210
210
, check_aux
211
211
" :PROPERTIES:\n :XXX: 1\n :yyy: 2\n :END:\n #+ZZZ: 3\n #+UUU: 4"
212
212
(Property_Drawer
213
- [ (" XXX" , " 1" , [] ); (" yyy" , " 2" , [] ); (" ZZZ" , " 3" , [] ); (" UUU" , " 4" , [] ) ]) )
213
+ [ (" XXX" , " 1" , [] )
214
+ ; (" yyy" , " 2" , [] )
215
+ ; (" ZZZ" , " 3" , [] )
216
+ ; (" UUU" , " 4" , [] )
217
+ ]) )
214
218
; ( " no drawer in quote"
215
219
, `Quick
216
220
, check_aux " #+BEGIN_QUOTE\n a:: b\n #+END_QUOTE"
@@ -283,6 +287,109 @@ let block =
283
287
; size = None
284
288
}) )
285
289
] )
290
+ ; ( " Headline with timestamps"
291
+ , testcases
292
+ [ ( " Schedule"
293
+ , `Quick
294
+ , check_aux " * aaa\n SCHEDULED: <1999-03-31 Wed>"
295
+ (Type. Heading
296
+ { title = [ (I. Plain " aaa" , None ) ]
297
+ ; tags = []
298
+ ; marker = None
299
+ ; level = 1
300
+ ; numbering = None
301
+ ; priority = None
302
+ ; anchor = " aaa"
303
+ ; meta =
304
+ { Type. timestamps =
305
+ [ I. Scheduled
306
+ { date = { day = 31 ; month = 3 ; year = 1999 }
307
+ ; time = None
308
+ ; repetition = None
309
+ ; wday = " Wed"
310
+ ; active = true
311
+ }
312
+ ]
313
+ ; properties = []
314
+ }
315
+ ; unordered = true
316
+ ; size = None
317
+ }) )
318
+ ; ( " Schedule repeater"
319
+ , `Quick
320
+ , check_aux " * aaa\n SCHEDULED: <1999-03-31 Wed .+1y>"
321
+ (Type. Heading
322
+ { title = [ (I. Plain " aaa" , None ) ]
323
+ ; tags = []
324
+ ; marker = None
325
+ ; level = 1
326
+ ; numbering = None
327
+ ; priority = None
328
+ ; anchor = " aaa"
329
+ ; meta =
330
+ { Type. timestamps =
331
+ [ I. Scheduled
332
+ { date = { day = 31 ; month = 3 ; year = 1999 }
333
+ ; time = None
334
+ ; repetition = Some (Dotted , Year , 1 )
335
+ ; wday = " Wed"
336
+ ; active = true
337
+ }
338
+ ]
339
+ ; properties = []
340
+ }
341
+ ; unordered = true
342
+ ; size = None
343
+ }) )
344
+ ; ( " Schedule repeater and deadline"
345
+ , `Quick
346
+ , check_aux
347
+ " * aaa [[link][label]] :bb:cc:\n \
348
+ SCHEDULED: <1999-03-31 Wed 12:00-12:30 ++2w>\n \
349
+ DEADLINE: <1999-04-01 Thu>"
350
+ (Type. Heading
351
+ { title =
352
+ [ (I. Plain " aaa " , None )
353
+ ; ( I. Link
354
+ { I. url = I. Search " link"
355
+ ; label = [ I. Plain " label" ]
356
+ ; title = None
357
+ ; full_text = " [[link][label]]"
358
+ ; metadata = " "
359
+ }
360
+ , None )
361
+ ]
362
+ ; tags = [ " bb" ; " cc" ]
363
+ ; marker = None
364
+ ; level = 1
365
+ ; numbering = None
366
+ ; priority = None
367
+ ; anchor = " aaa_label"
368
+ ; meta =
369
+ { Type. timestamps =
370
+ [ I. Scheduled
371
+ { date =
372
+ { day = 31 ; month = 3 ; year = 1999 }
373
+ (* Having a time range like 12:00-12:30 doesn’t seem supported *)
374
+ ; time = Some { hour = 12 ; min = 0 }
375
+ ; repetition = Some (DoublePlus , Week , 2 )
376
+ ; wday = " Wed"
377
+ ; active = true
378
+ }
379
+ ; I. Deadline
380
+ { date = { day = 1 ; month = 4 ; year = 1999 }
381
+ ; time = None
382
+ ; repetition = None
383
+ ; wday = " Thu"
384
+ ; active = true
385
+ }
386
+ ]
387
+ ; properties = []
388
+ }
389
+ ; unordered = true
390
+ ; size = None
391
+ }) )
392
+ ] )
286
393
]
287
394
288
395
let () = Alcotest. run " mldoc" @@ List. concat [ block; inline ]
0 commit comments