react / wstein / node_modules / jest-cli / node_modules / istanbul / node_modules / fileset / tests / test.js
80684 views1var EventEmitter = require('events').EventEmitter,2fileset = require('../'),3assert = require('assert'),4test = require('./helper');56// Given a **.coffee pattern7test('Given a **.md pattern', function() {89return {10'should return the list of matching file in this repo': function(em) {11fileset('*.md', function(err, results) {12if(err) return em.emit('error', err);13assert.ok(Array.isArray(results), 'should be an array');14assert.ok(results.length, 'should return at least one element');15assert.equal(results.length, 1, 'actually, should return only one');16em.emit('end');17});18}19}20});2122test('Say we want the **.js files, but not those in node_modules', function() {2324return {25'Should recursively walk the dir and return the matching list': function(em) {26fileset('**/*.js', 'node_modules/**', function(err, results) {27if(err) return em.emit('error', err);28assert.ok(Array.isArray(results), 'should be an array');29assert.equal(results.length, 4);30em.emit('end');31});32},3334'Should support multiple paths at once': function(em) {35fileset('**/*.js *.md', 'node_modules/**', function(err, results) {36if(err) return em.emit('error', err);37assert.ok(Array.isArray(results), 'should be an array');38assert.equal(results.length, 5);3940assert.deepEqual(results, [41'README.md',42'lib/fileset.js',43'tests/fixtures/an (odd) filename.js',44'tests/helper.js',45'tests/test.js'46]);4748em.emit('end');49});50},5152'Should support multiple paths for excludes as well': function(em) {53fileset('**/*.js *.md', 'node_modules/** **.md tests/*.js', function(err, results) {54if(err) return em.emit('error', err);55assert.ok(Array.isArray(results), 'should be an array');56assert.equal(results.length, 2);5758assert.deepEqual(results, [59'lib/fileset.js',60'tests/fixtures/an (odd) filename.js',61]);6263em.emit('end');64});65}66}67});686970test('Testing out emmited events', function() {7172// todos: the tests for match, include, exclude events, but seems like it's ok73return {74'Should recursively walk the dir and return the matching list': function(em) {75fileset('**/*.js', 'node_modules/**')76.on('error', em.emit.bind(em, 'error'))77.on('end', function(results) {78assert.ok(Array.isArray(results), 'should be an array');79assert.equal(results.length, 4);80em.emit('end');81});82},8384'Should support multiple paths at once': function(em) {85fileset('**/*.js *.md', 'node_modules/**')86.on('error', em.emit.bind(em, 'error'))87.on('end', function(results) {88assert.ok(Array.isArray(results), 'should be an array');89assert.equal(results.length, 5);9091assert.deepEqual(results, [92'README.md',93'lib/fileset.js',94'tests/fixtures/an (odd) filename.js',95'tests/helper.js',96'tests/test.js'97]);9899em.emit('end');100});101}102}103});104105106test('Testing patterns passed as arrays', function() {107108return {109'Should match files passed as an array with odd filenames': function(em) {110fileset(['lib/*.js', 'tests/fixtures/an (odd) filename.js'], ['node_modules/**'])111.on('error', em.emit.bind(em, 'error'))112.on('end', function(results) {113assert.ok(Array.isArray(results), 'should be an array');114assert.equal(results.length, 2);115116assert.deepEqual(results, [117'lib/fileset.js',118'tests/fixtures/an (odd) filename.js',119]);120121em.emit('end');122});123}124}125126});127128129130test.run();131132133134135