'use strict';

var exec = require('child_process').exec;

module.exports = function(grunt) {
  grunt.initConfig({
    vimlint: {
      succeeded: {
        src: ['test/succeeded.vim']
      },
      failed: {
        src: ['test/failed.vim']
      }
    }
  });
  
  grunt.registerTask('test', function() {
    var done = this.async();
    
    console.log('> grunt vimlint:succeeded');
    exec('grunt vimlint:succeeded', function (err, stdout, stderr) {
      if (err) {
        console.error(stdout || stderr);
        return done(err);
      }
      
      console.log('> grunt vimlint:failed');
      exec('grunt vimlint:failed', function (err, stdout, stderr) {
        if (!err) {
          console.error('vimlint succeeded');
          return done(true);
        }
        
        done();
      });
    });
  });
  
  grunt.loadTasks('tasks');
};
@@ -8,16 +8,44 @@
 rict';%0A%0A
+var util = require('util');%0A
 var exec
@@ -491,55 +491,79 @@
 if (
-err) %7B%0A        console.error(stdout %7C%7C 
+stdout) %7B util.print(stdout); %7D%0A      if (stderr) %7B util.print(
 stderr);
 %0A   
@@ -558,24 +558,42 @@
 stderr);
+ %7D
 %0A      
+%0A    
  
+ if (err) %7B
  return 
@@ -602,22 +602,16 @@
 ne(err);
-%0A     
  %7D%0A     
@@ -741,61 +741,83 @@
 if (
-!err) %7B%0A          console.error('vimlint succeeded');
+stdout) %7B util.print(stdout); %7D%0A        if (stderr) %7B util.print(stderr); %7D
 %0A   
@@ -821,17 +821,36 @@
         
+%0A 
  
+      if (!err) %7B
  return 
@@ -860,24 +860,16 @@
 e(true);
-%0A       
  %7D%0A     

Fix tests