func Test_yank_shows_register() enew set report=0 call setline(1, ['foo', 'bar']) " Line-wise exe 'norm! yy' call assert_equal('1 line yanked', v:statusmsg) exe 'norm! "zyy' call assert_equal('1 line yanked into "z', v:statusmsg) exe 'norm! yj' call assert_equal('2 lines yanked', v:statusmsg) exe 'norm! "zyj' call assert_equal('2 lines yanked into "z', v:statusmsg) " Block-wise exe "norm! \y" call assert_equal('block of 1 line yanked', v:statusmsg) exe "norm! \\"zy" call assert_equal('block of 1 line yanked into "z', v:statusmsg) exe "norm! \jy" call assert_equal('block of 2 lines yanked', v:statusmsg) exe "norm! \j\"zy" call assert_equal('block of 2 lines yanked into "z', v:statusmsg) bwipe! endfunc func Test_display_registers() e file1 e file2 call setline(1, ['foo', 'bar']) /bar exe 'norm! y2l"axx' call feedkeys("i\=2*4\n\") call feedkeys(":ls\n", 'xt') let a = execute('display') let b = execute('registers') call assert_equal(a, b) call assert_match('^\n--- Registers ---\n' \ . '"" a\n' \ . '"0 ba\n' \ . '"1 b\n' \ . '"a b\n' \ . '.*' \ . '"- a\n' \ . '.*' \ . '": ls\n' \ . '"% file2\n' \ . '"# file1\n' \ . '"/ bar\n' \ . '"= 2\*4', a) let a = execute('registers a') call assert_match('^\n--- Registers ---\n' \ . '"a b', a) let a = execute('registers :') call assert_match('^\n--- Registers ---\n' \ . '": ls', a) bwipe! endfunc