Skip to content

Commit 526bcc6

Browse files
committed
Fix tests
1 parent 764eb7d commit 526bcc6

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

test/scratch_buffer.vim

+71-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,26 @@ const s:suite = themis#suite('scratch_buffer')
22
const s:expect = themis#helper('expect')
33

44
function! s:suite.before() abort
5-
let g:scratch_buffer_tmp_file_pattern = '/tmp/scratch-%d'
5+
" Backup default values
6+
let g:backup_scratch_buffer_default_file_ext = g:scratch_buffer_default_file_ext
7+
let g:backup_scratch_buffer_default_open_method = g:scratch_buffer_default_open_method
8+
let g:backup_scratch_buffer_default_buffer_size = g:scratch_buffer_default_buffer_size
9+
let g:backup_scratch_buffer_auto_save_file_buffer = g:scratch_buffer_auto_save_file_buffer
10+
let g:backup_scratch_buffer_use_default_keymappings = g:scratch_buffer_use_default_keymappings
11+
let g:backup_scratch_buffer_auto_hide_buffer = g:scratch_buffer_auto_hide_buffer
612
endfunction
713

814
function! s:suite.before_each() abort
15+
" Don't waste our environment
16+
let g:scratch_buffer_tmp_file_pattern = system('realpath "./test/tmp/scratch-%d"')[:-2]
17+
" Restore default values
18+
let g:scratch_buffer_default_file_ext = g:backup_scratch_buffer_default_file_ext
19+
let g:scratch_buffer_default_open_method = g:backup_scratch_buffer_default_open_method
20+
let g:scratch_buffer_default_buffer_size = g:backup_scratch_buffer_default_buffer_size
21+
let g:scratch_buffer_auto_save_file_buffer = g:backup_scratch_buffer_auto_save_file_buffer
22+
let g:scratch_buffer_use_default_keymappings=g:backup_scratch_buffer_use_default_keymappings
23+
let g:scratch_buffer_auto_hide_buffer = g:backup_scratch_buffer_auto_hide_buffer
24+
925
" Clean all created scratch files and buffers
1026
ScratchBufferClean
1127
endfunction
@@ -70,3 +86,57 @@ function! s:suite.wipes_opened_files_and_buffer() abort
7086
\ new_all_buffer_names->scratch_buffer#helper#contains(second_file),
7187
\ ).not.to_equal(-1)
7288
endfunction
89+
90+
function! s:suite.uses_default_values() abort
91+
let g:scratch_buffer_default_file_ext = 'ts'
92+
let g:scratch_buffer_default_open_method = 'vsp'
93+
let g:scratch_buffer_default_buffer_size = 20
94+
95+
" Open another window to resize a scratch buffer
96+
new
97+
" Open buffer without arguments
98+
ScratchBufferOpen
99+
100+
const file_name = expand('%:p')
101+
const expected = printf(g:scratch_buffer_tmp_file_pattern, 0) .. '.ts'
102+
call s:expect(file_name).to_equal(expected)
103+
call s:expect(winwidth(0)).to_be_same(20)
104+
endfunction
105+
106+
function! s:suite.auto_saves_file_buffer() abort
107+
let g:scratch_buffer_auto_save_file_buffer = v:true
108+
109+
" Create a file buffer
110+
ScratchBufferOpenFile md
111+
112+
" Add some content
113+
call setline(1, 'test content')
114+
115+
" Trigger TextChanged event
116+
doautocmd TextChanged
117+
118+
" Check if file was saved
119+
const file_name = expand('%:p')
120+
call s:expect(filereadable(file_name)).to_equal(1)
121+
call s:expect(readfile(file_name)[0]).to_equal('test content')
122+
endfunction
123+
124+
function! s:suite.auto_hide_buffer_behavior() abort
125+
" Test temporary buffer auto-hiding
126+
let g:scratch_buffer_auto_hide_buffer = #{
127+
\ when_tmp_buffer: v:true,
128+
\ when_file_buffer: v:false,
129+
\ }
130+
only
131+
ScratchBufferOpen md
132+
wincmd p " Trigger WinLeave
133+
call s:expect(winnr('$')).to_be_same(1)
134+
135+
" Test file buffer auto-hiding
136+
let g:scratch_buffer_auto_hide_buffer.when_tmp_buffer = v:false
137+
let g:scratch_buffer_auto_hide_buffer.when_file_buffer = v:true
138+
only
139+
ScratchBufferOpenFile md
140+
wincmd p " Trigger WinLeave
141+
call s:expect(winnr('$')).to_be_same(1)
142+
endfunction

0 commit comments

Comments
 (0)