@@ -68,3 +68,55 @@ func Test_setpos()
6868 call win_gotoid (twowin)
6969 bwipe!
7070endfunc
71+
72+ func Test_marks_cmd ()
73+ new Xone
74+ call setline (1 , [' aaa' , ' bbb' ])
75+ norm! maG$mB
76+ w !
77+ new Xtwo
78+ call setline (1 , [' ccc' , ' ddd' ])
79+ norm! $mcGmD
80+ w !
81+
82+ b Xone
83+ let a = split (execute (' marks' ), " \n " )
84+ call assert_equal (9 , len (a ))
85+ call assert_equal (' mark line col file/text' , a [0 ])
86+ call assert_equal (" ' 2 0 bbb" , a [1 ])
87+ call assert_equal (' a 1 0 aaa' , a [2 ])
88+ call assert_equal (' B 2 2 bbb' , a [3 ])
89+ call assert_equal (' D 2 0 Xtwo' , a [4 ])
90+ call assert_equal (' " 1 0 aaa' , a [5 ])
91+ call assert_equal (' [ 1 0 aaa' , a [6 ])
92+ call assert_equal (' ] 2 0 bbb' , a [7 ])
93+ call assert_equal (' . 2 0 bbb' , a [8 ])
94+
95+ b Xtwo
96+ let a = split (execute (' marks' ), " \n " )
97+ call assert_equal (9 , len (a ))
98+ call assert_equal (' mark line col file/text' , a [0 ])
99+ call assert_equal (" ' 1 0 ccc" , a [1 ])
100+ call assert_equal (' c 1 2 ccc' , a [2 ])
101+ call assert_equal (' B 2 2 Xone' , a [3 ])
102+ call assert_equal (' D 2 0 ddd' , a [4 ])
103+ call assert_equal (' " 2 0 ddd' , a [5 ])
104+ call assert_equal (' [ 1 0 ccc' , a [6 ])
105+ call assert_equal (' ] 2 0 ddd' , a [7 ])
106+ call assert_equal (' . 2 0 ddd' , a [8 ])
107+
108+ b Xone
109+ delmarks aB
110+ let a = split (execute (' marks aBcD' ), " \n " )
111+ call assert_equal (2 , len (a ))
112+ call assert_equal (' mark line col file/text' , a [0 ])
113+ call assert_equal (' D 2 0 Xtwo' , a [1 ])
114+
115+ b Xtwo
116+ delmarks cD
117+ call assert_fails (' marks aBcD' , ' E283:' )
118+
119+ call delete (' Xone' )
120+ call delete (' Xtwo' )
121+ % bwipe
122+ endfunc
0 commit comments