" Test: vim-fakeclip pastebuffer-gnuscreen runtime! plugin/fakeclip.vim call vspec#hint({ \ 'scope': 'fakeclip#_local_variables()', \ 'sid': 'fakeclip#_sid_prefix()', \ }) function! s:write(...) "{{{1 let _ = tempname() call writefile(a:000, _, 'b') call system('screen -X readbuf ' . shellescape(_)) call delete(_) endfunction let g:fakeclip_delay_to_read_pastebuffer_gnuscreen = '3' function s:describe__s_read_pastebuffer_gnuscreen() "{{{1 It should read the paste buffer which contains empty string call s:write('') Should Call('s:read_pastebuffer_gnuscreen') ==# '' Should Call('s:read_pastebuffer_gnuscreen') ==# '' It should read the paste buffer which contains string without newline call s:write('A') Should Call('s:read_pastebuffer_gnuscreen') ==# 'A' Should Call('s:read_pastebuffer_gnuscreen') ==# 'A' It should read the paste buffer which contains single-line string call s:write('B', '') Should Call('s:read_pastebuffer_gnuscreen') ==# "B\n" Should Call('s:read_pastebuffer_gnuscreen') ==# "B\n" It should read the paste buffer which contains multi-line string call s:write('C', 'D', '') Should Call('s:read_pastebuffer_gnuscreen') ==# "C\nD\n" Should Call('s:read_pastebuffer_gnuscreen') ==# "C\nD\n" It should read the paste buffer which contains multi-line string w/o last LF call s:write('E', 'F') Should Call('s:read_pastebuffer_gnuscreen') ==# "E\nF" Should Call('s:read_pastebuffer_gnuscreen') ==# "E\nF" It should read the paste buffer which is emptied by "register . ''" silent !screen -X register . '' Should Call('s:read_pastebuffer_gnuscreen') ==# '' Should Call('s:read_pastebuffer_gnuscreen') ==# '' endfunction function s:describe__s_write_pastebuffer_gnuscreen() "{{{1 It should succeed call Call('s:write_pastebuffer_gnuscreen', ['']) Should Call('s:read_pastebuffer_gnuscreen') ==# '' call Call('s:write_pastebuffer_gnuscreen', ['A']) Should Call('s:read_pastebuffer_gnuscreen') ==# 'A' call Call('s:write_pastebuffer_gnuscreen', ['B', '']) Should Call('s:read_pastebuffer_gnuscreen') ==# "B\n" call Call('s:write_pastebuffer_gnuscreen', ['C', 'D', '']) Should Call('s:read_pastebuffer_gnuscreen') ==# "C\nD\n" call Call('s:write_pastebuffer_gnuscreen', ['E', 'F']) Should Call('s:read_pastebuffer_gnuscreen') ==# "E\nF" endfunction function s:describe__s_read_pastebuffer() "{{{1 It should read the paste buffer which contains empty string call s:write('') Should Call('s:read_pastebuffer') ==# '' Should Call('s:read_pastebuffer') ==# '' It should read the paste buffer which contains string without newline call s:write('A') Should Call('s:read_pastebuffer') ==# 'A' Should Call('s:read_pastebuffer') ==# 'A' It should read the paste buffer which contains single-line string call s:write('B', '') Should Call('s:read_pastebuffer') ==# "B\n" Should Call('s:read_pastebuffer') ==# "B\n" It should read the paste buffer which contains multi-line string call s:write('C', 'D', '') Should Call('s:read_pastebuffer') ==# "C\nD\n" Should Call('s:read_pastebuffer') ==# "C\nD\n" It should read the paste buffer which contains multi-line string w/o last LF call s:write('E', 'F') Should Call('s:read_pastebuffer') ==# "E\nF" Should Call('s:read_pastebuffer') ==# "E\nF" It should read the paste buffer which is emptied by "register . ''" silent !screen -X register . '' Should Call('s:read_pastebuffer') ==# '' Should Call('s:read_pastebuffer') ==# '' endfunction function s:describe__s_write_pastebuffer() "{{{1 It should succeed call Call('s:write_pastebuffer', '') Should Call('s:read_pastebuffer') ==# '' call Call('s:write_pastebuffer', 'A') Should Call('s:read_pastebuffer') ==# 'A' call Call('s:write_pastebuffer', "B\n") Should Call('s:read_pastebuffer') ==# "B\n" call Call('s:write_pastebuffer', "C\nD\n") Should Call('s:read_pastebuffer') ==# "C\nD\n" call Call('s:write_pastebuffer', "E\nF") Should Call('s:read_pastebuffer') ==# "E\nF" endfunction " __END__ "{{{1 " vim: filetype=vim foldmethod=marker