mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var finder = (function () {
 | 
						|
 | 
						|
var exports = {};
 | 
						|
 | 
						|
var _ = require('third/underscore/underscore.js');
 | 
						|
var fs = require('fs');
 | 
						|
var path = require('path');
 | 
						|
 | 
						|
exports.find_files_to_run = function () {
 | 
						|
    var oneFileFilter = [];
 | 
						|
    var testsDifference = [];
 | 
						|
    if (process.argv[2]) {
 | 
						|
        oneFileFilter = process.argv
 | 
						|
          .slice(2)
 | 
						|
          .filter(function (filename) {return (/[.]js$/).test(filename);})
 | 
						|
          .map(function (filename) {return filename.replace(/\.js$/i, '');});
 | 
						|
    }
 | 
						|
 | 
						|
    // tests_dir is where we find our specific unit tests (as opposed
 | 
						|
    // to framework code)
 | 
						|
    var tests_dir = __dirname.replace(/zjsunit/, 'node_tests');
 | 
						|
 | 
						|
    var tests = fs.readdirSync(tests_dir)
 | 
						|
      .filter(function (filename) {return (/\.js$/i).test(filename);})
 | 
						|
      .map(function (filename) {return filename.replace(/\.js$/i, '');});
 | 
						|
 | 
						|
    if (oneFileFilter.length > 0) {
 | 
						|
        tests = tests.filter(function (filename) {
 | 
						|
            return oneFileFilter.indexOf(filename) !== -1;
 | 
						|
        });
 | 
						|
        testsDifference = _.difference(oneFileFilter, tests);
 | 
						|
    }
 | 
						|
 | 
						|
    testsDifference.forEach(function (filename) {
 | 
						|
        console.log(filename + " does not exist");
 | 
						|
    });
 | 
						|
 | 
						|
    tests.sort();
 | 
						|
 | 
						|
    var files = tests.map(function (fn) {
 | 
						|
        var obj = {};
 | 
						|
        obj.name = fn;
 | 
						|
        obj.full_name = path.join(tests_dir, fn);
 | 
						|
        return obj;
 | 
						|
    });
 | 
						|
 | 
						|
    return files;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
return exports;
 | 
						|
}());
 | 
						|
module.exports = finder;
 |