Mercurial > vim
view src/testdir/test_sound.vim @ 17089:8e9e9124c7a2 v8.1.1544
patch 8.1.1544: some balloon tests don't run when they can
commit https://github.com/vim/vim/commit/b46fecd3454399f8ebdc5055302e4bfc5a10f98b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 15 17:58:09 2019 +0200
patch 8.1.1544: some balloon tests don't run when they can
Problem: Some balloon tests don't run when they can.
Solution: Split GUI balloon tests off into a separate file. (Ozaki Kiichi,
closes #4538) Change the feature check into a command for
consistency.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 15 Jun 2019 18:00:08 +0200 |
parents | 905e1b154058 |
children | be5a5cfc991a |
line wrap: on
line source
" Tests for the sound feature if !has('sound') throw 'Skipped: sound feature not available' endif func PlayCallback(id, result) let g:id = a:id let g:result = a:result endfunc func Test_play_event() let id = sound_playevent('bell', 'PlayCallback') if id == 0 throw 'Skipped: bell event not available' endif " Stop it quickly, avoid annoying the user. sleep 20m call sound_stop(id) sleep 20m call assert_equal(id, g:id) call assert_equal(1, g:result) " sound was aborted endfunc func Test_play_silent() let fname = fnamemodify('silent.wav', '%p') " play without callback let id1 = sound_playfile(fname) if id1 == 0 throw 'Skipped: playing a sound is not working' endif " play until the end let id2 = sound_playfile(fname, 'PlayCallback') call assert_true(id2 > 0) sleep 500m call assert_equal(id2, g:id) call assert_equal(0, g:result) let id2 = sound_playfile(fname, 'PlayCallback') call assert_true(id2 > 0) sleep 20m call sound_clear() call assert_equal(id2, g:id) call assert_equal(1, g:result) endfunc