@@ -431,9 +431,10 @@ def g:Test_SurroundSimple_one_line()
431431 ]
432432 utils.SurroundSimple (' **' , ' **' , text_style_dict, text_style_dict)
433433 actual_value = getline (20 , 22 )
434- echom actual_value
435- echom assert_equal (expected_value, actual_value)
434+ assert_equal (expected_value, actual_value)
436435
436+ cursor (19 , 53 )
437+ utils.SurroundSimple (' *' , ' *' , text_style_dict, text_style_dict, ' iw' )
437438 :% bw !
438439 Cleanup_testfile (src_name_2)
439440enddef
@@ -496,6 +497,20 @@ def g:Test_SurroundSmart_one_line()
496497 ]
497498 cursor (15 , 13 )
498499 utils.SurroundSmart (' **' , ' **' , text_style_dict, text_style_dict, ' a(' )
500+ # Do the same operation, nothing should change
501+ utils.SurroundSmart (' **' , ' **' , text_style_dict, text_style_dict, ' a(' )
502+ actual_value = getline (14 , 16 )
503+ assert_equal (expected_value, actual_value)
504+
505+ # Prolong delimiter
506+ expected_value = [
507+ ' Quis autem vel eum iure reprehenderit qui in ea **voluptate velit esse**' ,
508+ ' quam nihil **(molestiae consequatur), vel** illum qui dolorem eum fugiat quo' ,
509+ ' voluptas nulla pariatur?' ,
510+ ]
511+ cursor (15 , 32 )
512+ exe " norm! veee\<esc> "
513+ utils.SurroundSmart (' **' , ' **' , text_style_dict, text_style_dict)
499514 actual_value = getline (14 , 16 )
500515 assert_equal (expected_value, actual_value)
501516
@@ -640,7 +655,7 @@ def g:Test_RemoveSurrounding_multi_line()
640655 cursor (28 , 25 )
641656 utils.RemoveSurrounding (code_dict, code_dict)
642657 var actual_value = getline (28 , 30 )
643- echom assert_equal (expected_value, actual_value)
658+ assert_equal (expected_value, actual_value)
644659
645660 # Test 2 : preserve inner surrounding
646661 expected_value = [
@@ -650,7 +665,62 @@ def g:Test_RemoveSurrounding_multi_line()
650665 cursor (32 , 28 )
651666 utils.RemoveSurrounding (italic_dict, italic_dict)
652667 actual_value = getline (32 , 33 )
653- echom assert_equal (expected_value, actual_value)
668+ assert_equal (expected_value, actual_value)
669+
670+ :% bw !
671+ Cleanup_testfile (src_name_2)
672+ enddef
673+
674+
675+ def g: Test_code_block ()
676+ vnew
677+ Generate_testfile (lines_2, src_name_2)
678+ exe $ " edit {src_name_2}"
679+
680+ g: markdown_extras_config = {}
681+ g: markdown_extras_config [' block_label' ] = ' '
682+
683+ var expected_value = [
684+ ' ab illo inventore veritatis ' ,
685+ ' ```' ,
686+ ' et quasi architecto beatae vitae dicta' ,
687+ ' sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit' ,
688+ ' aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos' ,
689+ ' qui ratione voluptatem sequi ' ,
690+ ' ```' ,
691+ ' nesciunt.' ,
692+ ]
693+ cursor (3 , 29 )
694+ exe " norm! v3j\<esc> "
695+ utils.SetBlock (codeblock_dict, codeblock_dict)
696+ var actual_value = getline (3 , 10 )
697+ assert_equal (expected_value, actual_value)
698+
699+ # Check that it won't undo
700+ cursor (6 , 10 )
701+ utils.SetBlock (codeblock_dict, codeblock_dict)
702+ assert_equal (expected_value, actual_value)
703+
704+ # Check that it won't undo when on the border
705+ cursor (4 , 2 )
706+ utils.SetBlock (codeblock_dict, codeblock_dict)
707+ assert_equal (expected_value, actual_value)
708+
709+ # check with motion
710+ expected_value = [
711+ ' ```' ,
712+ ' Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet,' ,
713+ ' consectetur, adipisci velit, sed quia non numquam eius modi tempora' ,
714+ ' incidunt ut (labore et ~~dolore magnam) aliquam quaerat~~ voluptatem. Ut' ,
715+ ' enim ad `minima [veniam`, quis no~~strum] exercitationem~~ ullam corporis' ,
716+ ' ```' ,
717+ ]
718+ cursor (12 , 1 )
719+ utils.SetBlock (codeblock_dict, codeblock_dict, ' 3j' )
720+ actual_value = getline (13 , 18 )
721+ assert_equal (expected_value, actual_value)
722+
723+ unlet g: markdown_extras_config
654724
655725 :% bw !
656726 Cleanup_testfile (src_name_2)
0 commit comments