diff options
Diffstat (limited to 'src/testdir/test_sound.vim')
-rw-r--r-- | src/testdir/test_sound.vim | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/testdir/test_sound.vim b/src/testdir/test_sound.vim index e74aa132d..6ffd7e65f 100644 --- a/src/testdir/test_sound.vim +++ b/src/testdir/test_sound.vim @@ -13,7 +13,6 @@ func Test_play_event() if has('win32') throw 'Skipped: Playing event with callback is not supported on Windows' endif - let id = sound_playevent('bell', 'PlayCallback') if id == 0 throw 'Skipped: bell event not available' @@ -21,7 +20,7 @@ func Test_play_event() " Stop it quickly, avoid annoying the user. sleep 20m call sound_stop(id) - sleep 20m + sleep 30m call assert_equal(id, g:id) call assert_equal(1, g:result) " sound was aborted endfunc @@ -46,6 +45,20 @@ func Test_play_silent() call assert_true(id2 > 0) sleep 20m call sound_clear() + sleep 30m call assert_equal(id2, g:id) call assert_equal(1, g:result) + + " recursive use was causing a crash + func PlayAgain(id, fname) + let g:id = a:id + let g:id_again = sound_playfile(a:fname) + endfunc + + let id3 = sound_playfile(fname, {id, res -> PlayAgain(id, fname)}) + call assert_true(id3 > 0) + sleep 50m + call sound_clear() + sleep 30m + call assert_true(g:id_again > 0) endfunc |