Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 1 | Tests for the exists() function. vim: set ft=vim : |
| 2 | |
| 3 | STARTTEST |
| 4 | :so small.vim |
| 5 | :function! RunTest(str, result) |
| 6 | if exists(a:str) == a:result |
| 7 | echo "OK" |
| 8 | else |
| 9 | echo "FAILED: Checking for " . a:str |
| 10 | endif |
| 11 | endfunction |
| 12 | :function! TestExists() |
| 13 | augroup myagroup |
| 14 | autocmd! BufEnter *.my echo 'myfile edited' |
| 15 | augroup END |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 16 | |
| 17 | let test_cases = [] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 18 | |
| 19 | " valid autocmd group |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 20 | let test_cases += [['#myagroup', 1]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 21 | " Valid autocmd group and event |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 22 | let test_cases += [['#myagroup#BufEnter', 1]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 23 | " Valid autocmd group, event and pattern |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 24 | let test_cases += [['#myagroup#BufEnter#*.my', 1]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 25 | " Valid autocmd event |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 26 | let test_cases += [['#BufEnter', 1]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 27 | " Valid autocmd event and pattern |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 28 | let test_cases += [['#BufEnter#*.my', 1]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 29 | " Non-existing autocmd group or event |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 30 | let test_cases += [['#xyzagroup', 0]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 31 | " Non-existing autocmd group and valid autocmd event |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 32 | let test_cases += [['#xyzagroup#BufEnter', 0]] |
| 33 | " Valid autocmd group and event with no matching pattern |
| 34 | let test_cases += [['#myagroup#CmdwinEnter', 0]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 35 | " Valid autocmd group and non-existing autocmd event |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 36 | let test_cases += [['#myagroup#xyzacmd', 0]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 37 | " Valid autocmd group and event and non-matching pattern |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 38 | let test_cases += [['#myagroup#BufEnter#xyzpat', 0]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 39 | " Valid autocmd event and non-matching pattern |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 40 | let test_cases += [['#BufEnter#xyzpat', 0]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 41 | " Empty autocmd group, event and pattern |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 42 | let test_cases += [['###', 0]] |
| 43 | " Empty autocmd group and event or empty event and pattern |
| 44 | let test_cases += [['##', 0]] |
| 45 | " Valid autocmd event |
| 46 | let test_cases += [['##FileReadCmd', 1]] |
| 47 | " Non-existing autocmd event |
| 48 | let test_cases += [['##MySpecialCmd', 0]] |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 49 | |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 50 | redir! > test.out |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 51 | |
Bram Moolenaar | 8fa0445 | 2005-12-23 22:13:51 +0000 | [diff] [blame] | 52 | for [test_case, result] in test_cases |
| 53 | echo test_case . ": " . result |
| 54 | call RunTest(test_case, result) |
| 55 | endfor |
Bram Moolenaar | f4cd3e8 | 2005-12-22 22:47:02 +0000 | [diff] [blame] | 56 | |
| 57 | redir END |
| 58 | endfunction |
| 59 | :call TestExists() |
| 60 | :edit! test.out |
| 61 | :set ff=unix |
| 62 | :w |
| 63 | :qa! |
| 64 | ENDTEST |
| 65 | |