@@ -322,6 +322,53 @@ describe('Mappings', function()
322322 assert .are .same (' - [ ] The checkbox 2' , vim .fn .getline (3 ))
323323 end )
324324
325+ it (' should toggle the current line into a headline and vice versa' , function ()
326+ helpers .load_file_content ({
327+ ' top level line' ,
328+ ' * top level heading' ,
329+ ' simple line' ,
330+ ' - list item' ,
331+ ' * [ ] unfinished checkbox item' ,
332+ ' - [X] finished checkbox item' ,
333+ })
334+
335+ assert .are .same (' top level line' , vim .fn .getline (1 ))
336+ assert .are .same (' simple line' , vim .fn .getline (3 ))
337+ assert .are .same (' - list item' , vim .fn .getline (4 ))
338+ assert .are .same (' * [ ] unfinished checkbox item' , vim .fn .getline (5 ))
339+ assert .are .same (' - [X] finished checkbox item' , vim .fn .getline (6 ))
340+
341+ vim .fn .cursor (1 , 1 )
342+ vim .cmd ([[ norm ,o*]] )
343+ assert .are .same (' * top level line' , vim .fn .getline (1 ))
344+ vim .cmd ([[ norm ,o*]] )
345+ assert .are .same (' top level line' , vim .fn .getline (1 ))
346+
347+ vim .fn .cursor (3 , 1 )
348+ vim .cmd ([[ norm ,o*]] )
349+ assert .are .same (' ** simple line' , vim .fn .getline (3 ))
350+ vim .cmd ([[ norm ,o*]] )
351+ assert .are .same (' simple line' , vim .fn .getline (3 ))
352+
353+ vim .fn .cursor (4 , 1 )
354+ vim .cmd ([[ norm ,o*]] )
355+ assert .are .same (' ** list item' , vim .fn .getline (4 ))
356+ vim .cmd ([[ norm ,o*]] )
357+ assert .are .same (' list item' , vim .fn .getline (4 ))
358+
359+ vim .fn .cursor (5 , 1 )
360+ vim .cmd ([[ norm ,o*]] )
361+ assert .are .same (' ** TODO unfinished checkbox item' , vim .fn .getline (5 ))
362+ vim .cmd ([[ norm ,o*]] )
363+ assert .are .same (' TODO unfinished checkbox item' , vim .fn .getline (5 ))
364+
365+ vim .fn .cursor (6 , 1 )
366+ vim .cmd ([[ norm ,o*]] )
367+ assert .are .same (' ** DONE finished checkbox item' , vim .fn .getline (6 ))
368+ vim .cmd ([[ norm ,o*]] )
369+ assert .are .same (' DONE finished checkbox item' , vim .fn .getline (6 ))
370+ end )
371+
325372 it (' should toggle archive tag on headline (org_toggle_archive_tag)' , function ()
326373 helpers .load_file_content ({
327374 ' #TITLE: Test' ,
0 commit comments