diff --git a/autoload/delimitMateTests.vim b/autoload/delimitMateTests.vim deleted file mode 100644 index 4a7e542..0000000 --- a/autoload/delimitMateTests.vim +++ /dev/null @@ -1,260 +0,0 @@ -function! delimitMateTests#Main() - if !exists("g:delimitMate_testing") - echoerr "delimitMateTests#Main(): If you really want to use me, you must set delimitMate_testing to any value." - return - elseif g:delimitMate_testing == "fork" - !gvim -N -u NONE -U NONE -c "set runtimepath+=~/.vim/bundle/pathogen" -c "call pathogen\#runtime_append_all_bundles('bundle','symlinks')" -c "set backspace=eol,start" -c "set background=light" -c "syntax on" -c "let delimitMate_testing = 1" -c "ru autoload/delimitMate.vim" -c "ru autoload/delimitMateTests.vim" -c "ru plugin/delimitMate.vim" -c "call delimitMateTests\#Main()" - return "" - endif - nmap :qall! - let nomore = &more - set nomore - let b:test_results = {} - let b:errors = 0 - let b:corrects = 0 - let b:ignores = 0 - - function! SetOptions(list) " {{{ - let b:delimitMate_autoclose = 1 - let b:delimitMate_matchpairs = &matchpairs - let b:delimitMate_quotes = "\" ' `" - let b:delimitMate_excluded_regions = "Comment" - let b:delimitMate_expand_space = 0 - let b:delimitMate_expand_cr = 0 - let b:delimitMate_smart_quotes = 1 - let b:delimitMate_apostrophes = "" - let b:delimitMate_tab2exit = 1 - " Set current test options: - for str in a:list - "echom '1:'.str - let op = strpart(str, 0, stridx(str,':')) - "echom op - let val = strpart(str, stridx(str, ':' ) + 1) - "echom val - exec "let b:delimitMate_" . op . " = " . val - endfor - DelimitMateReload - endfunction " }}} - - function! Type(name, input, output, options, ...) " {{{ - if a:0 > 0 - let ignore = a:1 - else - let ignore = 0 - endif - if a:input != "\." - " Set default options: - call SetOptions(a:options) - let CapR = "" - normal ggVG"_d - exec "normal i" . a:input . "|\" - else - let CapR = "_R" - normal gg. - endif - - exec "normal \" - call setpos('.', [0, 1, 1, 0]) - let result = len(a:output) != line('$') - for line in a:output - if getline('.') != line || result == 1 - let result = 1 - break - endif - call setpos('.', [0, line('.') + 1, 1, 0]) - endfor - let text = getline('.') - let i = 2 - while i <= line('$') - let text = text . "" . getline(i) - let i += 1 - endwhile - if ignore == 1 - let label = "Ignored" - let result = "?=" - let b:ignores += 1 - elseif result == 0 - let label = "Passed" - let result = "==" - let b:corrects += 1 - else - let label = "Failed" - let result = "!=" - let b:errors += 1 - endif - exec "let b:test_results['" . - \ substitute(a:name, "[^a-zA-Z0-9_]", "_", "g") . CapR . "'] = '" . - \ label . ": ' . a:input . ' => ' . text . ' " . - \ result . " ' . join(a:output, '')" - endfunction " }}} - - function! RepeatLast(name, output, ...) " {{{ - if a:0 > 0 - let arg1 = a:1 - else - let arg1 = '' - endif - call Type(a:name, "\.", a:output, [], arg1) - endfunction " }}} - - " Test's test {{{ - call Type("Test 1", "123", ["123|"], []) - call RepeatLast("Test 1", ["123|123|"]) - - " Auto-closing parens - call Type("Autoclose parens", "(", ["(|)"], []) - call RepeatLast("Autoclose_parens", ["(|)(|)"]) - - " Auto-closing quotes - call Type("Autoclose quotes", '"', ['"|"'], []) - call RepeatLast("Autoclose_quotes", ['"|""|"']) - - " Deleting parens - call Type("Delete empty parens", "(\", ["|"], []) - call RepeatLast("Delete empty parens", ["||"]) - - " Deleting quotes - call Type("Delete emtpy quotes", "\"\", ['|'], []) - call RepeatLast("Delete empty quotes", ["||"]) - - " Manual closing parens - call Type("Manual closing parens", "()", ["(|)"], ["autoclose:0"]) - call RepeatLast("Manual closing parens", ["(|)(|)"]) - - " Manual closing quotes - call Type("Manual closing quotes", "\"\"", ['"|"'], ["autoclose:0"]) - call RepeatLast("Manual closing quotes", ['"|""|"']) - - " Jump over paren - call Type("Jump over paren", "()", ['()|'], []) - call RepeatLast("Jump over paren", ['()|()|']) - - " Jump over quote - call Type("Jump over quote", "\"\"", ['""|'], []) - call RepeatLast("Jump over quote", ['""|""|']) - - " Apostrophe - call Type("Apostrophe", "test'", ["test'|"], []) - call RepeatLast("Apostrophe", ["test'|test'|"]) - - " Close quote - call Type("Close quote", "'\\a'", ["'|'"], []) - - " Closing paren - call Type("Closing paren", "abcd)", ["abcd)|"], []) - - " - call Type("S Tab", "(\", ["()|"], []) - call RepeatLast("S Tab", ["()|()|"]) - - " Space expansion - call Type("Space expansion", "(\\", ['(|)'], ['expand_space:1']) - call RepeatLast("BS with space expansion", ['(|)(|)']) - - " BS with space expansion - call Type("BS with space expansion", "(\", ['( | )'], ['expand_space:1']) - call RepeatLast("Space expansion", ['( | )( | )']) - - " Car return expansion - call Type("CR expansion", "(\", ['(', '|', ')'], ['expand_cr:1']) - call RepeatLast("CR expansion", ['(', '|', ')(', '|', ')'], 1) - - " BS with car return expansion - call Type("BS with CR expansion", "(\\", ['(|)'], ['expand_cr:1']) - call RepeatLast("BS with CR expansion", ['(|)(|)'], 1) - - " Smart quotes - call Type("Smart quote alphanumeric", "a\"4", ['a"4|'], []) - call RepeatLast("Smart quote alphanumeric", ['a"4|a"4|']) - - " Smart quotes - call Type("Smart quote escaped", "esc\\\"", ['esc\"|'], []) - call RepeatLast("Smart quote escaped", ['esc\"|esc\"|']) - - " Smart quotes - call Type("Smart quote apostrophe", "I'm", ["I'm|"], ['smart_quotes:0']) - call RepeatLast("Smart quote escaped", ["I'm|I'm|"]) - - " Backspace inside space expansion - call Type("Backspace inside space expansion", "(\\", ['(|)'], ['expand_space:1']) - call RepeatLast("Backspace inside space expansion", ['(|)(|)']) - - " inserts text - call Type(" inserts text", "(he\\th\\", ['(he) th|'], []) - - " Backspace inside CR expansion - call Type("Backspace inside CR expansion", "(\\", ['(|)'], ['expand_cr:1']) - call RepeatLast("Backspace inside CR expansion", ['(|)(|)'], 1) - - " FileType event - let g:delimitMate_excluded_ft = "vim" - set ft=vim - call Type("FileType Autoclose parens", "(", ["(|"], []) - unlet g:delimitMate_excluded_ft - set ft= - - " Duplicated delimiter after CR - call Type("Duplicated delimiter after CR", "(\", ['(', '|)'], []) - - " Deactivate on comments: The first call to a closing delimiter - " will not work here as expected, but it does in real life tests. - set ft=vim - call Type("Deactivate on comments", "\"()``[]''\"\"", ["\"()``[]''\"\"|"], ["autoclose:0"], 1) - set ft= - - " Deactivate parens on comments: The first call to a closing delimiter - " will not work here as expected, but it does in real life tests. - set ft=vim - call Type("Deactivate parens on comments", "\"()[]", ["\"()[]|"], ["autoclose:0"], 1) - set ft= - - " Deactivate quotes on comments: See previous note. - set ft=vim - call Type("Deactivate parens on comments", "\"(`", ["\"(``|"], [], 1) - set ft= - - " Manual close at start of line - call Type("Manual close at start of line", "m)\\)", [')|m)'], ["autoclose:0"]) - - " Use | in quotes - call Type("Use in quotes", "\bars", ['|bars|'], ["quotes:'|'"]) - - " Use | in matchpairs - call Type("Use in matchpairs", "\bars", ['|bars|$$'], ["matchpairs:'|:$'"]) - - "}}} - - " Show results: {{{ - normal ggVG"_d - call append(0, split(string(b:test_results)[1:-2], ', ')) - call append(0, "*TESTS REPORT: " . b:errors . " failed, " . b:corrects . " passed and " . b:ignores . " ignored.") - normal "_ddgg - let @/ = ".\\+Failed:.*!=" - 2,$sort /^.\+':/ - normal gg - exec search('Ignored:','nW').",$sort! /^.\\+':/" - set nohlsearch - syn match lineIgnored ".*Ignored.*" - syn match labelPassed "'\@<=.\+\(': 'Passed\)\@=" - syn match labelFailed "'\@<=.\+\(': 'Failed\)\@=" - syn match resultPassed "\('Passed: \)\@<=.\+\('$\)\@=" - syn match resultFailed "\('Failed: \)\@<=.\+\('$\)\@=" contains=resultInequal - syn match resultIgnored "\('Ignored: \)\@<=.\+\('$\)\@=" - syn match resultInequal "!=" - syn match resultSummary "^\*.\+" contains=resultSummaryNumber - syn match resultSummaryNumber "[1-9][0-9]* failed*" contained - - hi def link lineIgnored Ignore - hi def link labelPassed Comment - hi def link labelFailed Special - hi def link resultPassed Ignore - hi def link resultFailed Boolean - hi def link resultInequal Error - hi def link resultSummary SpecialComment - hi def link resultSummaryNumber Error - " }}} - - let &more = nomore -endfunction -" vim:foldmethod=marker:foldcolumn=4 -