From 9d651daf08895b9666db25feccea7f4bc81ea908 Mon Sep 17 00:00:00 2001 From: "Christopher H. Laco" Date: Wed, 9 Feb 2011 01:09:17 -0500 Subject: [PATCH] Added support for Red/Green when specs pass/fail --- autoload/jasmine.vim | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/autoload/jasmine.vim b/autoload/jasmine.vim index d51c966..c822f7a 100644 --- a/autoload/jasmine.vim +++ b/autoload/jasmine.vim @@ -72,19 +72,38 @@ endfunction function jasmine#run_tests() let b:jasmine_root = jasmine#find_root() - execute "make --rakefile=\"".b:jasmine_rakefile."\" jasmine:ci" + + echon "Running Jasmine tests..." + silent! let result = system("rake --rakefile=\"".b:jasmine_rakefile."\" jasmine:ci BACKGROUND=true") + redraw + + let lines = split(result, "\n") + for line in lines + if line =~ '\d\+ examples, \(\d\+\) failure' + if line =~ ', 0 failure' + call jasmine#greenbar(line) + else + call jasmine#redbar(line) + endif + + redraw + break + endif + endfor endfunction -function jasmine#redbar() - hi RedBar ctermfg=white ctermbg=red guibg=red +function jasmine#redbar(message) + let message = " ".a:message + hi RedBar ctermfg=white ctermbg=red guifg=white guibg=red echohl RedBar - echon repeat(" ",&columns - 1) + echon message repeat(" ", &columns - strlen(message) - 1) echohl endfunction -function jasmine#greenbar() - hi GreenBar ctermfg=white ctermbg=green guibg=green +function jasmine#greenbar(message) + let message = " ".a:message + hi GreenBar ctermfg=black ctermbg=green guifg=black guibg=green echohl GreenBar - echon repeat(" ",&columns - 1) + echon message repeat(" ", &columns - strlen(message) - 1) echohl endfunction