| var test = require("tap").test |
| var glob = require('../') |
| process.chdir(__dirname) |
| |
| // expose timing issues |
| var lag = 5 |
| glob.Glob.prototype._stat = function(o) { return function(f, cb) { |
| var args = arguments |
| setTimeout(function() { |
| o.call(this, f, cb) |
| }.bind(this), lag += 5) |
| }}(glob.Glob.prototype._stat) |
| |
| |
| test("mark, with **", function (t) { |
| glob("a/*b*/**", {mark: true}, function (er, results) { |
| if (er) |
| throw er |
| var expect = |
| [ 'a/abcdef/', |
| 'a/abcdef/g/', |
| 'a/abcdef/g/h', |
| 'a/abcfed/', |
| 'a/abcfed/g/', |
| 'a/abcfed/g/h', |
| 'a/b/', |
| 'a/b/c/', |
| 'a/b/c/d', |
| 'a/bc/', |
| 'a/bc/e/', |
| 'a/bc/e/f', |
| 'a/cb/', |
| 'a/cb/e/', |
| 'a/cb/e/f' ] |
| |
| t.same(results, expect) |
| t.end() |
| }) |
| }) |
| |
| test("mark, no / on pattern", function (t) { |
| glob("a/*", {mark: true}, function (er, results) { |
| if (er) |
| throw er |
| var expect = [ 'a/abcdef/', |
| 'a/abcfed/', |
| 'a/b/', |
| 'a/bc/', |
| 'a/c/', |
| 'a/cb/' ] |
| |
| if (process.platform !== "win32") |
| expect.push('a/symlink/') |
| |
| t.same(results, expect) |
| t.end() |
| }).on('match', function(m) { |
| t.similar(m, /\/$/) |
| }) |
| }) |
| |
| test("mark=false, no / on pattern", function (t) { |
| glob("a/*", function (er, results) { |
| if (er) |
| throw er |
| var expect = [ 'a/abcdef', |
| 'a/abcfed', |
| 'a/b', |
| 'a/bc', |
| 'a/c', |
| 'a/cb' ] |
| |
| if (process.platform !== "win32") |
| expect.push('a/symlink') |
| t.same(results, expect) |
| t.end() |
| }).on('match', function(m) { |
| t.similar(m, /[^\/]$/) |
| }) |
| }) |
| |
| test("mark=true, / on pattern", function (t) { |
| glob("a/*/", {mark: true}, function (er, results) { |
| if (er) |
| throw er |
| var expect = [ 'a/abcdef/', |
| 'a/abcfed/', |
| 'a/b/', |
| 'a/bc/', |
| 'a/c/', |
| 'a/cb/' ] |
| if (process.platform !== "win32") |
| expect.push('a/symlink/') |
| t.same(results, expect) |
| t.end() |
| }).on('match', function(m) { |
| t.similar(m, /\/$/) |
| }) |
| }) |
| |
| test("mark=false, / on pattern", function (t) { |
| glob("a/*/", function (er, results) { |
| if (er) |
| throw er |
| var expect = [ 'a/abcdef/', |
| 'a/abcfed/', |
| 'a/b/', |
| 'a/bc/', |
| 'a/c/', |
| 'a/cb/' ] |
| if (process.platform !== "win32") |
| expect.push('a/symlink/') |
| t.same(results, expect) |
| t.end() |
| }).on('match', function(m) { |
| t.similar(m, /\/$/) |
| }) |
| }) |