stylus-source 0.31.0 → 0.32.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/vendor/lib/nodes/unit.js +1 -1
- data/vendor/lib/parser.js +0 -1
- data/vendor/lib/renderer.js +2 -0
- data/vendor/lib/visitor/compiler.js +6 -0
- data/vendor/node_modules/cssom/README.mdown +34 -0
- data/vendor/node_modules/cssom/package.json +2 -1
- data/vendor/node_modules/debug/History.md +15 -0
- data/vendor/node_modules/debug/Readme.md +3 -18
- data/vendor/node_modules/debug/component.json +9 -0
- data/vendor/node_modules/debug/debug.js +10 -2
- data/vendor/node_modules/debug/index.js +5 -2
- data/vendor/node_modules/debug/lib/debug.js +5 -6
- data/vendor/node_modules/debug/package.json +11 -6
- data/vendor/node_modules/mkdirp/package.json +6 -9
- data/vendor/node_modules/mkdirp/{README.markdown → readme.markdown} +26 -24
- data/vendor/node_modules/mocha/History.md +140 -58
- data/vendor/node_modules/mocha/LICENSE +2 -2
- data/vendor/node_modules/mocha/Makefile +20 -5
- data/vendor/node_modules/mocha/Readme.md +110 -22
- data/vendor/node_modules/mocha/_mocha.js +574 -182
- data/vendor/node_modules/mocha/bin/_mocha +39 -22
- data/vendor/node_modules/mocha/bin/mocha +6 -2
- data/vendor/node_modules/mocha/component.json +16 -0
- data/vendor/node_modules/mocha/lib/browser/debug.js +1 -2
- data/vendor/node_modules/mocha/lib/browser/diff.js +287 -0
- data/vendor/node_modules/mocha/lib/browser/tty.js +7 -2
- data/vendor/node_modules/mocha/lib/hook.js +0 -1
- data/vendor/node_modules/mocha/lib/interfaces/bdd.js +3 -3
- data/vendor/node_modules/mocha/lib/interfaces/exports.js +5 -5
- data/vendor/node_modules/mocha/lib/interfaces/qunit.js +38 -9
- data/vendor/node_modules/mocha/lib/interfaces/tdd.js +15 -2
- data/vendor/node_modules/mocha/lib/mocha.js +20 -4
- data/vendor/node_modules/mocha/lib/reporters/base.js +57 -37
- data/vendor/node_modules/mocha/lib/reporters/html.js +2 -4
- data/vendor/node_modules/mocha/lib/reporters/json-stream.js +4 -14
- data/vendor/node_modules/mocha/lib/reporters/json.js +9 -19
- data/vendor/node_modules/mocha/lib/reporters/markdown.js +0 -1
- data/vendor/node_modules/mocha/lib/reporters/min.js +2 -2
- data/vendor/node_modules/mocha/lib/reporters/nyan.js +33 -39
- data/vendor/node_modules/mocha/lib/reporters/tap.js +12 -2
- data/vendor/node_modules/mocha/lib/reporters/templates/coverage.jade +3 -3
- data/vendor/node_modules/mocha/lib/reporters/templates/menu.jade +1 -1
- data/vendor/node_modules/mocha/lib/reporters/xunit.js +4 -4
- data/vendor/node_modules/mocha/lib/runnable.js +7 -9
- data/vendor/node_modules/mocha/lib/runner.js +24 -9
- data/vendor/node_modules/mocha/lib/template.html +2 -1
- data/vendor/node_modules/mocha/lib/utils.js +3 -3
- data/vendor/node_modules/mocha/mocha.css +37 -13
- data/vendor/node_modules/mocha/mocha.js +661 -253
- data/vendor/node_modules/mocha/node_modules/commander/package.json +5 -1
- data/vendor/node_modules/mocha/node_modules/diff/package.json +5 -1
- data/vendor/node_modules/mocha/node_modules/glob/LICENSE +27 -0
- data/vendor/node_modules/mocha/node_modules/glob/README.md +250 -0
- data/vendor/node_modules/mocha/node_modules/glob/examples/g.js +9 -0
- data/vendor/node_modules/mocha/node_modules/glob/examples/usr-local.js +9 -0
- data/vendor/node_modules/mocha/node_modules/glob/glob.js +675 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/LICENSE +27 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/README.md +33 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/graceful-fs.js +442 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/package.json +49 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/test/open.js +46 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/test/ulimit.js +158 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/inherits/README.md +51 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/inherits/inherits.js +29 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/inherits/package.json +26 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/README.md +218 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/minimatch.js +1079 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/AUTHORS +8 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +257 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json +59 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/s.js +25 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js +329 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json +38 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/package.json +36 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/test/brace-expand.js +33 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/test/caching.js +14 -0
- data/vendor/node_modules/mocha/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
- data/vendor/node_modules/mocha/node_modules/glob/package.json +40 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/00-setup.js +176 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/bash-comparison.js +63 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/bash-results.json +350 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/cwd-test.js +55 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/globstar-match.js +19 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/mark.js +74 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/nocase-nomagic.js +113 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/pause-resume.js +73 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/root-nomount.js +39 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/root.js +46 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/stat.js +32 -0
- data/vendor/node_modules/mocha/node_modules/glob/test/zz-cleanup.js +11 -0
- data/vendor/node_modules/mocha/node_modules/growl/History.md +5 -0
- data/vendor/node_modules/mocha/node_modules/growl/lib/growl.js +2 -0
- data/vendor/node_modules/mocha/node_modules/growl/package.json +7 -3
- data/vendor/node_modules/mocha/node_modules/jade/node_modules/mkdirp/package.json +5 -1
- data/vendor/node_modules/mocha/node_modules/jade/package.json +5 -1
- data/vendor/node_modules/mocha/node_modules/ms/package.json +5 -1
- data/vendor/node_modules/mocha/package.json +13 -7
- data/vendor/node_modules/mocha/test.js +10 -21
- data/vendor/node_modules/should/History.md +5 -0
- data/vendor/node_modules/should/Readme.md +172 -172
- data/vendor/node_modules/should/lib/eql.js +2 -0
- data/vendor/node_modules/should/lib/should.js +4 -3
- data/vendor/node_modules/should/package.json +8 -4
- data/vendor/node_modules/should/test/should.test.js +27 -0
- data/vendor/package.json +1 -1
- metadata +61 -35
- data/vendor/node_modules/debug/Makefile +0 -4
- data/vendor/node_modules/debug/debug.component.js +0 -120
- data/vendor/node_modules/debug/head.js +0 -1
- data/vendor/node_modules/debug/tail.js +0 -4
- data/vendor/node_modules/mocha/node_modules/mkdirp/LICENSE +0 -21
- data/vendor/node_modules/mocha/node_modules/mkdirp/README.markdown +0 -61
- data/vendor/node_modules/mocha/node_modules/mkdirp/examples/pow.js +0 -6
- data/vendor/node_modules/mocha/node_modules/mkdirp/examples/pow.js.orig +0 -6
- data/vendor/node_modules/mocha/node_modules/mkdirp/examples/pow.js.rej +0 -19
- data/vendor/node_modules/mocha/node_modules/mkdirp/index.js +0 -94
- data/vendor/node_modules/mocha/node_modules/mkdirp/package.json +0 -33
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/chmod.js +0 -38
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/clobber.js +0 -37
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/mkdirp.js +0 -28
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/perm.js +0 -32
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/perm_sync.js +0 -39
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/race.js +0 -41
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/rel.js +0 -32
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/return.js +0 -25
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/return_sync.js +0 -24
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/root.js +0 -18
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/sync.js +0 -32
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/umask.js +0 -28
- data/vendor/node_modules/mocha/node_modules/mkdirp/test/umask_sync.js +0 -32
@@ -0,0 +1,74 @@
|
|
1
|
+
var test = require("tap").test
|
2
|
+
var glob = require('../')
|
3
|
+
process.chdir(__dirname)
|
4
|
+
|
5
|
+
test("mark, no / on pattern", function (t) {
|
6
|
+
glob("a/*", {mark: true}, function (er, results) {
|
7
|
+
if (er)
|
8
|
+
throw er
|
9
|
+
var expect = [ 'a/abcdef/',
|
10
|
+
'a/abcfed/',
|
11
|
+
'a/b/',
|
12
|
+
'a/bc/',
|
13
|
+
'a/c/',
|
14
|
+
'a/cb/' ]
|
15
|
+
|
16
|
+
if (process.platform !== "win32")
|
17
|
+
expect.push('a/symlink/')
|
18
|
+
|
19
|
+
t.same(results, expect)
|
20
|
+
t.end()
|
21
|
+
})
|
22
|
+
})
|
23
|
+
|
24
|
+
test("mark=false, no / on pattern", function (t) {
|
25
|
+
glob("a/*", function (er, results) {
|
26
|
+
if (er)
|
27
|
+
throw er
|
28
|
+
var expect = [ 'a/abcdef',
|
29
|
+
'a/abcfed',
|
30
|
+
'a/b',
|
31
|
+
'a/bc',
|
32
|
+
'a/c',
|
33
|
+
'a/cb' ]
|
34
|
+
|
35
|
+
if (process.platform !== "win32")
|
36
|
+
expect.push('a/symlink')
|
37
|
+
t.same(results, expect)
|
38
|
+
t.end()
|
39
|
+
})
|
40
|
+
})
|
41
|
+
|
42
|
+
test("mark=true, / on pattern", function (t) {
|
43
|
+
glob("a/*/", {mark: true}, function (er, results) {
|
44
|
+
if (er)
|
45
|
+
throw er
|
46
|
+
var expect = [ 'a/abcdef/',
|
47
|
+
'a/abcfed/',
|
48
|
+
'a/b/',
|
49
|
+
'a/bc/',
|
50
|
+
'a/c/',
|
51
|
+
'a/cb/' ]
|
52
|
+
if (process.platform !== "win32")
|
53
|
+
expect.push('a/symlink/')
|
54
|
+
t.same(results, expect)
|
55
|
+
t.end()
|
56
|
+
})
|
57
|
+
})
|
58
|
+
|
59
|
+
test("mark=false, / on pattern", function (t) {
|
60
|
+
glob("a/*/", function (er, results) {
|
61
|
+
if (er)
|
62
|
+
throw er
|
63
|
+
var expect = [ 'a/abcdef/',
|
64
|
+
'a/abcfed/',
|
65
|
+
'a/b/',
|
66
|
+
'a/bc/',
|
67
|
+
'a/c/',
|
68
|
+
'a/cb/' ]
|
69
|
+
if (process.platform !== "win32")
|
70
|
+
expect.push('a/symlink/')
|
71
|
+
t.same(results, expect)
|
72
|
+
t.end()
|
73
|
+
})
|
74
|
+
})
|
@@ -0,0 +1,113 @@
|
|
1
|
+
var fs = require('graceful-fs');
|
2
|
+
var test = require('tap').test;
|
3
|
+
var glob = require('../');
|
4
|
+
|
5
|
+
test('mock fs', function(t) {
|
6
|
+
var stat = fs.stat
|
7
|
+
var statSync = fs.statSync
|
8
|
+
var readdir = fs.readdir
|
9
|
+
var readdirSync = fs.readdirSync
|
10
|
+
|
11
|
+
function fakeStat(path) {
|
12
|
+
var ret
|
13
|
+
switch (path.toLowerCase()) {
|
14
|
+
case '/tmp': case '/tmp/':
|
15
|
+
ret = { isDirectory: function() { return true } }
|
16
|
+
break
|
17
|
+
case '/tmp/a':
|
18
|
+
ret = { isDirectory: function() { return false } }
|
19
|
+
break
|
20
|
+
}
|
21
|
+
return ret
|
22
|
+
}
|
23
|
+
|
24
|
+
fs.stat = function(path, cb) {
|
25
|
+
var f = fakeStat(path);
|
26
|
+
if (f) {
|
27
|
+
process.nextTick(function() {
|
28
|
+
cb(null, f)
|
29
|
+
})
|
30
|
+
} else {
|
31
|
+
stat.call(fs, path, cb)
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
fs.statSync = function(path) {
|
36
|
+
return fakeStat(path) || statSync.call(fs, path)
|
37
|
+
}
|
38
|
+
|
39
|
+
function fakeReaddir(path) {
|
40
|
+
var ret
|
41
|
+
switch (path.toLowerCase()) {
|
42
|
+
case '/tmp': case '/tmp/':
|
43
|
+
ret = [ 'a', 'A' ]
|
44
|
+
break
|
45
|
+
case '/':
|
46
|
+
ret = ['tmp', 'tMp', 'tMP', 'TMP']
|
47
|
+
}
|
48
|
+
return ret
|
49
|
+
}
|
50
|
+
|
51
|
+
fs.readdir = function(path, cb) {
|
52
|
+
var f = fakeReaddir(path)
|
53
|
+
if (f)
|
54
|
+
process.nextTick(function() {
|
55
|
+
cb(null, f)
|
56
|
+
})
|
57
|
+
else
|
58
|
+
readdir.call(fs, path, cb)
|
59
|
+
}
|
60
|
+
|
61
|
+
fs.readdirSync = function(path) {
|
62
|
+
return fakeReaddir(path) || readdirSync.call(fs, path)
|
63
|
+
}
|
64
|
+
|
65
|
+
t.pass('mocked')
|
66
|
+
t.end()
|
67
|
+
})
|
68
|
+
|
69
|
+
test('nocase, nomagic', function(t) {
|
70
|
+
var n = 2
|
71
|
+
var want = [ '/TMP/A',
|
72
|
+
'/TMP/a',
|
73
|
+
'/tMP/A',
|
74
|
+
'/tMP/a',
|
75
|
+
'/tMp/A',
|
76
|
+
'/tMp/a',
|
77
|
+
'/tmp/A',
|
78
|
+
'/tmp/a' ]
|
79
|
+
glob('/tmp/a', { nocase: true }, function(er, res) {
|
80
|
+
if (er)
|
81
|
+
throw er
|
82
|
+
t.same(res.sort(), want)
|
83
|
+
if (--n === 0) t.end()
|
84
|
+
})
|
85
|
+
glob('/tmp/A', { nocase: true }, function(er, res) {
|
86
|
+
if (er)
|
87
|
+
throw er
|
88
|
+
t.same(res.sort(), want)
|
89
|
+
if (--n === 0) t.end()
|
90
|
+
})
|
91
|
+
})
|
92
|
+
|
93
|
+
test('nocase, with some magic', function(t) {
|
94
|
+
t.plan(2)
|
95
|
+
var want = [ '/TMP/A',
|
96
|
+
'/TMP/a',
|
97
|
+
'/tMP/A',
|
98
|
+
'/tMP/a',
|
99
|
+
'/tMp/A',
|
100
|
+
'/tMp/a',
|
101
|
+
'/tmp/A',
|
102
|
+
'/tmp/a' ]
|
103
|
+
glob('/tmp/*', { nocase: true }, function(er, res) {
|
104
|
+
if (er)
|
105
|
+
throw er
|
106
|
+
t.same(res.sort(), want)
|
107
|
+
})
|
108
|
+
glob('/tmp/*', { nocase: true }, function(er, res) {
|
109
|
+
if (er)
|
110
|
+
throw er
|
111
|
+
t.same(res.sort(), want)
|
112
|
+
})
|
113
|
+
})
|
@@ -0,0 +1,73 @@
|
|
1
|
+
// show that no match events happen while paused.
|
2
|
+
var tap = require("tap")
|
3
|
+
, child_process = require("child_process")
|
4
|
+
// just some gnarly pattern with lots of matches
|
5
|
+
, pattern = "test/a/!(symlink)/**"
|
6
|
+
, bashResults = require("./bash-results.json")
|
7
|
+
, patterns = Object.keys(bashResults)
|
8
|
+
, glob = require("../")
|
9
|
+
, Glob = glob.Glob
|
10
|
+
, path = require("path")
|
11
|
+
|
12
|
+
// run from the root of the project
|
13
|
+
// this is usually where you're at anyway, but be sure.
|
14
|
+
process.chdir(path.resolve(__dirname, ".."))
|
15
|
+
|
16
|
+
function alphasort (a, b) {
|
17
|
+
a = a.toLowerCase()
|
18
|
+
b = b.toLowerCase()
|
19
|
+
return a > b ? 1 : a < b ? -1 : 0
|
20
|
+
}
|
21
|
+
|
22
|
+
function cleanResults (m) {
|
23
|
+
// normalize discrepancies in ordering, duplication,
|
24
|
+
// and ending slashes.
|
25
|
+
return m.map(function (m) {
|
26
|
+
return m.replace(/\/+/g, "/").replace(/\/$/, "")
|
27
|
+
}).sort(alphasort).reduce(function (set, f) {
|
28
|
+
if (f !== set[set.length - 1]) set.push(f)
|
29
|
+
return set
|
30
|
+
}, []).sort(alphasort).map(function (f) {
|
31
|
+
// de-windows
|
32
|
+
return (process.platform !== 'win32') ? f
|
33
|
+
: f.replace(/^[a-zA-Z]:\\\\/, '/').replace(/\\/g, '/')
|
34
|
+
})
|
35
|
+
}
|
36
|
+
|
37
|
+
var globResults = []
|
38
|
+
tap.test("use a Glob object, and pause/resume it", function (t) {
|
39
|
+
var g = new Glob(pattern)
|
40
|
+
, paused = false
|
41
|
+
, res = []
|
42
|
+
, expect = bashResults[pattern]
|
43
|
+
|
44
|
+
g.on("pause", function () {
|
45
|
+
console.error("pause")
|
46
|
+
})
|
47
|
+
|
48
|
+
g.on("resume", function () {
|
49
|
+
console.error("resume")
|
50
|
+
})
|
51
|
+
|
52
|
+
g.on("match", function (m) {
|
53
|
+
t.notOk(g.paused, "must not be paused")
|
54
|
+
globResults.push(m)
|
55
|
+
g.pause()
|
56
|
+
t.ok(g.paused, "must be paused")
|
57
|
+
setTimeout(g.resume.bind(g), 10)
|
58
|
+
})
|
59
|
+
|
60
|
+
g.on("end", function (matches) {
|
61
|
+
t.pass("reached glob end")
|
62
|
+
globResults = cleanResults(globResults)
|
63
|
+
matches = cleanResults(matches)
|
64
|
+
t.deepEqual(matches, globResults,
|
65
|
+
"end event matches should be the same as match events")
|
66
|
+
|
67
|
+
t.deepEqual(matches, expect,
|
68
|
+
"glob matches should be the same as bash results")
|
69
|
+
|
70
|
+
t.end()
|
71
|
+
})
|
72
|
+
})
|
73
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
var tap = require("tap")
|
2
|
+
|
3
|
+
var origCwd = process.cwd()
|
4
|
+
process.chdir(__dirname)
|
5
|
+
|
6
|
+
tap.test("changing root and searching for /b*/**", function (t) {
|
7
|
+
var glob = require('../')
|
8
|
+
var path = require('path')
|
9
|
+
t.test('.', function (t) {
|
10
|
+
glob('/b*/**', { globDebug: true, root: '.', nomount: true }, function (er, matches) {
|
11
|
+
t.ifError(er)
|
12
|
+
t.like(matches, [])
|
13
|
+
t.end()
|
14
|
+
})
|
15
|
+
})
|
16
|
+
|
17
|
+
t.test('a', function (t) {
|
18
|
+
glob('/b*/**', { globDebug: true, root: path.resolve('a'), nomount: true }, function (er, matches) {
|
19
|
+
t.ifError(er)
|
20
|
+
t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ])
|
21
|
+
t.end()
|
22
|
+
})
|
23
|
+
})
|
24
|
+
|
25
|
+
t.test('root=a, cwd=a/b', function (t) {
|
26
|
+
glob('/b*/**', { globDebug: true, root: 'a', cwd: path.resolve('a/b'), nomount: true }, function (er, matches) {
|
27
|
+
t.ifError(er)
|
28
|
+
t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ])
|
29
|
+
t.end()
|
30
|
+
})
|
31
|
+
})
|
32
|
+
|
33
|
+
t.test('cd -', function (t) {
|
34
|
+
process.chdir(origCwd)
|
35
|
+
t.end()
|
36
|
+
})
|
37
|
+
|
38
|
+
t.end()
|
39
|
+
})
|
@@ -0,0 +1,46 @@
|
|
1
|
+
var t = require("tap")
|
2
|
+
|
3
|
+
var origCwd = process.cwd()
|
4
|
+
process.chdir(__dirname)
|
5
|
+
|
6
|
+
var glob = require('../')
|
7
|
+
var path = require('path')
|
8
|
+
|
9
|
+
t.test('.', function (t) {
|
10
|
+
glob('/b*/**', { globDebug: true, root: '.' }, function (er, matches) {
|
11
|
+
t.ifError(er)
|
12
|
+
t.like(matches, [])
|
13
|
+
t.end()
|
14
|
+
})
|
15
|
+
})
|
16
|
+
|
17
|
+
|
18
|
+
t.test('a', function (t) {
|
19
|
+
console.error("root=" + path.resolve('a'))
|
20
|
+
glob('/b*/**', { globDebug: true, root: path.resolve('a') }, function (er, matches) {
|
21
|
+
t.ifError(er)
|
22
|
+
var wanted = [
|
23
|
+
'/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f'
|
24
|
+
].map(function (m) {
|
25
|
+
return path.join(path.resolve('a'), m).replace(/\\/g, '/')
|
26
|
+
})
|
27
|
+
|
28
|
+
t.like(matches, wanted)
|
29
|
+
t.end()
|
30
|
+
})
|
31
|
+
})
|
32
|
+
|
33
|
+
t.test('root=a, cwd=a/b', function (t) {
|
34
|
+
glob('/b*/**', { globDebug: true, root: 'a', cwd: path.resolve('a/b') }, function (er, matches) {
|
35
|
+
t.ifError(er)
|
36
|
+
t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ].map(function (m) {
|
37
|
+
return path.join(path.resolve('a'), m).replace(/\\/g, '/')
|
38
|
+
}))
|
39
|
+
t.end()
|
40
|
+
})
|
41
|
+
})
|
42
|
+
|
43
|
+
t.test('cd -', function (t) {
|
44
|
+
process.chdir(origCwd)
|
45
|
+
t.end()
|
46
|
+
})
|
@@ -0,0 +1,32 @@
|
|
1
|
+
var glob = require('../')
|
2
|
+
var test = require('tap').test
|
3
|
+
var path = require('path')
|
4
|
+
|
5
|
+
test('stat all the things', function(t) {
|
6
|
+
var g = new glob.Glob('a/*abc*/**', { stat: true, cwd: __dirname })
|
7
|
+
var matches = []
|
8
|
+
g.on('match', function(m) {
|
9
|
+
matches.push(m)
|
10
|
+
})
|
11
|
+
var stats = []
|
12
|
+
g.on('stat', function(m) {
|
13
|
+
stats.push(m)
|
14
|
+
})
|
15
|
+
g.on('end', function(eof) {
|
16
|
+
stats = stats.sort()
|
17
|
+
matches = matches.sort()
|
18
|
+
eof = eof.sort()
|
19
|
+
t.same(stats, matches)
|
20
|
+
t.same(eof, matches)
|
21
|
+
var cache = Object.keys(this.statCache)
|
22
|
+
t.same(cache.map(function (f) {
|
23
|
+
return path.relative(__dirname, f)
|
24
|
+
}).sort(), matches)
|
25
|
+
|
26
|
+
cache.forEach(function(c) {
|
27
|
+
t.equal(typeof this.statCache[c], 'object')
|
28
|
+
}, this)
|
29
|
+
|
30
|
+
t.end()
|
31
|
+
})
|
32
|
+
})
|
@@ -0,0 +1,11 @@
|
|
1
|
+
// remove the fixtures
|
2
|
+
var tap = require("tap")
|
3
|
+
, rimraf = require("rimraf")
|
4
|
+
, path = require("path")
|
5
|
+
|
6
|
+
tap.test("cleanup fixtures", function (t) {
|
7
|
+
rimraf(path.resolve(__dirname, "a"), function (er) {
|
8
|
+
t.ifError(er, "removed")
|
9
|
+
t.end()
|
10
|
+
})
|
11
|
+
})
|
@@ -165,6 +165,8 @@ function growl(msg, options, fn) {
|
|
165
165
|
break;
|
166
166
|
case 'Linux':
|
167
167
|
args.push(cmd.icon + " " + image);
|
168
|
+
// libnotify defaults to sticky, set a hint for transient notifications
|
169
|
+
if (!options.sticky) args.push('--hint=int:transient:1');
|
168
170
|
break;
|
169
171
|
case 'Windows':
|
170
172
|
args.push(cmd.icon + quote(image));
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "growl",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.7.0",
|
4
4
|
"description": "Growl unobtrusive notifications",
|
5
5
|
"author": {
|
6
6
|
"name": "TJ Holowaychuk",
|
@@ -9,6 +9,10 @@
|
|
9
9
|
"main": "./lib/growl.js",
|
10
10
|
"readme": "# Growl for nodejs\n\nGrowl support for Nodejs. This is essentially a port of my [Ruby Growl Library](http://github.com/visionmedia/growl). Ubuntu/Linux support added thanks to [@niftylettuce](http://github.com/niftylettuce). \n\n## Installation\n\n### Install \n\n### Mac OS X (Darwin):\n\n Install [growlnotify(1)](http://growl.info/extras.php#growlnotify). On OS X 10.8, Notification Center is supported using [terminal-notifier](https://github.com/alloy/terminal-notifier). To install:\n \n $ sudo gem install terminal-notifier\n \n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n### Ubuntu (Linux):\n\n Install `notify-send` through the [libnotify-bin](http://packages.ubuntu.com/libnotify-bin) package:\n\n $ sudo apt-get install libnotify-bin\n\n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n### Windows:\n\n Download and install [Growl for Windows](http://www.growlforwindows.com/gfw/default.aspx)\n\n Download [growlnotify](http://www.growlforwindows.com/gfw/help/growlnotify.aspx) - **IMPORTANT :** Unpack growlnotify to a folder that is present in your path!\n\n Install [npm](http://npmjs.org/) and run:\n \n $ npm install growl\n\n## Examples\n\nCallback functions are optional\n\n var growl = require('growl')\n growl('You have mail!')\n growl('5 new messages', { sticky: true })\n growl('5 new emails', { title: 'Email Client', image: 'Safari', sticky: true })\n growl('Message with title', { title: 'Title'})\n growl('Set priority', { priority: 2 })\n growl('Show Safari icon', { image: 'Safari' })\n growl('Show icon', { image: 'path/to/icon.icns' })\n growl('Show image', { image: 'path/to/my.image.png' })\n growl('Show png filesystem icon', { image: 'png' })\n growl('Show pdf filesystem icon', { image: 'article.pdf' })\n growl('Show pdf filesystem icon', { image: 'article.pdf' }, function(err){\n // ... notified\n })\n\n## Options\n\n - title\n - notification title\n - name\n - application name\n - priority\n - priority for the notification (default is 0)\n - sticky\n - weither or not the notification should remainin until closed\n - image\n - Auto-detects the context:\n - path to an icon sets --iconpath\n - path to an image sets --image\n - capitalized word sets --appIcon\n - filename uses extname as --icon\n - otherwise treated as --icon\n \n## License \n\n(The MIT License)\n\nCopyright (c) 2009 TJ Holowaychuk <tj@vision-media.ca>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
11
11
|
"readmeFilename": "Readme.md",
|
12
|
-
"_id": "growl@1.
|
13
|
-
"
|
12
|
+
"_id": "growl@1.7.0",
|
13
|
+
"dist": {
|
14
|
+
"shasum": "3c5f7f8b3a47f28055500c08d22d90843694f254"
|
15
|
+
},
|
16
|
+
"_from": "growl@1.7.x",
|
17
|
+
"_resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz"
|
14
18
|
}
|
@@ -29,5 +29,9 @@
|
|
29
29
|
"readme": "mkdirp\n======\n\nLike `mkdir -p`, but in node.js!\n\nexample\n=======\n\npow.js\n------\n var mkdirp = require('mkdirp');\n \n mkdirp('/tmp/foo/bar/baz', function (err) {\n if (err) console.error(err)\n else console.log('pow!')\n });\n\nOutput\n pow!\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\nmethods\n=======\n\nvar mkdirp = require('mkdirp');\n\nmkdirp(dir, mode, cb)\n---------------------\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nmkdirp.sync(dir, mode)\n----------------------\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n npm install mkdirp\n\nlicense\n=======\n\nMIT/X11\n",
|
30
30
|
"readmeFilename": "README.markdown",
|
31
31
|
"_id": "mkdirp@0.3.0",
|
32
|
-
"
|
32
|
+
"dist": {
|
33
|
+
"shasum": "c0983b24c866724bd1369577865c006d484fa3e0"
|
34
|
+
},
|
35
|
+
"_from": "mkdirp@0.3.0",
|
36
|
+
"_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"
|
33
37
|
}
|
@@ -40,5 +40,9 @@
|
|
40
40
|
},
|
41
41
|
"_id": "jade@0.26.3",
|
42
42
|
"readme": "ERROR: No README.md file found!",
|
43
|
-
"
|
43
|
+
"dist": {
|
44
|
+
"shasum": "09833577d6552ffa48865e4fa81a43f06c071850"
|
45
|
+
},
|
46
|
+
"_from": "jade@0.26.3",
|
47
|
+
"_resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz"
|
44
48
|
}
|
@@ -11,5 +11,9 @@
|
|
11
11
|
"readme": "# ms.js: miliseconds conversion utility\n\n```js\nms('1d') // 86400000\nms('10h') // 36000000\nms('2h') // 7200000\nms('1m') // 60000\nms('5s') // 5000\nms('100') // 100\nms(100) // 100\n```\n\n```js\nms(60000) // \"1 minute\"\nms(2 * 60000) // \"2 minutes\"\nms(ms('10 hours')) // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as `ms` in NPM.\n- If a number is supplied to `ms`, it returns it immediately.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n",
|
12
12
|
"readmeFilename": "README.md",
|
13
13
|
"_id": "ms@0.3.0",
|
14
|
-
"
|
14
|
+
"dist": {
|
15
|
+
"shasum": "19514c89be7b422031f5dbb3b79538dc19de4d8b"
|
16
|
+
},
|
17
|
+
"_from": "ms@0.3.0",
|
18
|
+
"_resolved": "https://registry.npmjs.org/ms/-/ms-0.3.0.tgz"
|
15
19
|
}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"name": "mocha",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.12.0",
|
4
4
|
"description": "simple, flexible, fun test framework",
|
5
5
|
"keywords": [
|
6
|
+
"mocha",
|
6
7
|
"test",
|
7
8
|
"bdd",
|
8
9
|
"tdd",
|
@@ -29,19 +30,24 @@
|
|
29
30
|
},
|
30
31
|
"dependencies": {
|
31
32
|
"commander": "0.6.1",
|
32
|
-
"growl": "1.
|
33
|
+
"growl": "1.7.x",
|
33
34
|
"jade": "0.26.3",
|
34
35
|
"diff": "1.0.2",
|
35
36
|
"debug": "*",
|
36
|
-
"mkdirp": "0.3.
|
37
|
-
"ms": "0.3.0"
|
37
|
+
"mkdirp": "0.3.5",
|
38
|
+
"ms": "0.3.0",
|
39
|
+
"glob": "3.2.1"
|
38
40
|
},
|
39
41
|
"devDependencies": {
|
40
42
|
"should": "*",
|
41
43
|
"coffee-script": "1.2"
|
42
44
|
},
|
43
|
-
"readme": " [![Build Status](https://secure.travis-ci.org/visionmedia/mocha.png)](http://travis-ci.org/visionmedia/mocha)\n\n [![Mocha test framework](http://f.cl.ly/items/3l1k0n2A1U3M1I1L210p/Screen%20Shot%202012-02-24%20at%202.21.43%20PM.png)](http://visionmedia.github.
|
45
|
+
"readme": " [![Build Status](https://secure.travis-ci.org/visionmedia/mocha.png)](http://travis-ci.org/visionmedia/mocha)\n\n [![Mocha test framework](http://f.cl.ly/items/3l1k0n2A1U3M1I1L210p/Screen%20Shot%202012-02-24%20at%202.21.43%20PM.png)](http://visionmedia.github.io/mocha)\n\n Mocha is a simple, flexible, fun JavaScript test framework for node.js and the browser. For more information view the [documentation](http://visionmedia.github.io/mocha).\n\n## Contributors\n\n```\n\n project : mocha\n repo age : 1 year, 7 months\n active : 272 days\n commits : 1116\n files : 123\n authors :\n 504 TJ Holowaychuk 45.2%\n 389 Tj Holowaychuk 34.9%\n 31 Guillermo Rauch 2.8%\n 13 Attila Domokos 1.2%\n 9 John Firebaugh 0.8%\n 8 Jo Liss 0.7%\n 7 Nathan Rajlich 0.6%\n 6 James Carr 0.5%\n 6 Brendan Nee 0.5%\n 5 Aaron Heckmann 0.4%\n 4 hokaccha 0.4%\n 4 Xavier Antoviaque 0.4%\n 4 Joshua Krall 0.4%\n 3 Wil Moore III 0.3%\n 3 Jesse Dailey 0.3%\n 3 Nathan Bowser 0.3%\n 3 Tyson Tate 0.3%\n 3 Cory Thomas 0.3%\n 3 Ryunosuke SATO 0.3%\n 3 Paul Miller 0.3%\n 3 Ben Lindsey 0.3%\n 2 Forbes Lindesay 0.2%\n 2 Konstantin Käfer 0.2%\n 2 Brian Beck 0.2%\n 2 Merrick Christensen 0.2%\n 2 Michael Riley 0.2%\n 2 David Henderson 0.2%\n 2 Nathan Alderson 0.2%\n 2 Paul Armstrong 0.2%\n 2 Pete Hawkins 0.2%\n 2 Quang Van 0.2%\n 2 Raynos 0.2%\n 2 Jonas Westerlund 0.2%\n 2 Domenic Denicola 0.2%\n 2 Shawn Krisman 0.2%\n 2 Simon Gaeremynck 0.2%\n 2 FARKAS Máté 0.2%\n 2 Timo Tijhof 0.2%\n 2 Justin DuJardin 0.2%\n 2 Juzer Ali 0.2%\n 2 Ian Storm Taylor 0.2%\n 2 Arian Stolwijk 0.2%\n 2 domenic 0.2%\n 1 Richard Dingwall 0.1%\n 1 Russ Bradberry 0.1%\n 1 Sasha Koss 0.1%\n 1 Seiya Konno 0.1%\n 1 Standa Opichal 0.1%\n 1 Steve Mason 0.1%\n 1 Will Langstroth 0.1%\n 1 Yanis Wang 0.1%\n 1 Yuest Wang 0.1%\n 1 abrkn 0.1%\n 1 airportyh 0.1%\n 1 fengmk2 0.1%\n 1 tgautier@yahoo.com 0.1%\n 1 traleig1 0.1%\n 1 vlad 0.1%\n 1 yuitest 0.1%\n 1 Adam Crabtree 0.1%\n 1 Andreas Brekken 0.1%\n 1 Atsuya Takagi 0.1%\n 1 Austin Birch 0.1%\n 1 Bjørge Næss 0.1%\n 1 Brian Moore 0.1%\n 1 Bryan Donovan 0.1%\n 1 Casey Foster 0.1%\n 1 Corey Butler 0.1%\n 1 Dave McKenna 0.1%\n 1 Fedor Indutny 0.1%\n 1 Florian Margaine 0.1%\n 1 Frederico Silva 0.1%\n 1 Fredrik Lindin 0.1%\n 1 Gareth Murphy 0.1%\n 1 Gavin Mogan 0.1%\n 1 Greg Perkins 0.1%\n 1 Harry Brundage 0.1%\n 1 Herman Junge 0.1%\n 1 Ian Young 0.1%\n 1 Ivan 0.1%\n 1 Jaakko Salonen 0.1%\n 1 Jakub Nešetřil 0.1%\n 1 James Bowes 0.1%\n 1 James Lal 0.1%\n 1 Jason Barry 0.1%\n 1 Javier Aranda 0.1%\n 1 Jeff Kunkle 0.1%\n 1 Jonathan Creamer 0.1%\n 1 Jussi Virtanen 0.1%\n 1 Katie Gengler 0.1%\n 1 Kazuhito Hokamura 0.1%\n 1 Koen Punt 0.1%\n 1 Laszlo Bacsi 0.1%\n 1 László Bácsi 0.1%\n 1 Maciej Małecki 0.1%\n 1 Matt Robenolt 0.1%\n 1 Matt Smith 0.1%\n 1 Matthew Shanley 0.1%\n 1 Michael Schoonmaker 0.1%\n 1 Phil Sung 0.1%\n 1 R56 0.1%\n```\n\n## Links\n\n - [Google Group](http://groups.google.com/group/mochajs)\n - [Wiki](https://github.com/visionmedia/mocha/wiki)\n - Mocha [Extensions and reporters](https://github.com/visionmedia/mocha/wiki)\n",
|
44
46
|
"readmeFilename": "Readme.md",
|
45
|
-
"_id": "mocha@1.
|
46
|
-
"
|
47
|
+
"_id": "mocha@1.12.0",
|
48
|
+
"dist": {
|
49
|
+
"shasum": "75bc821676cd645a1ee45c34637e61804498c460"
|
50
|
+
},
|
51
|
+
"_from": "mocha@*",
|
52
|
+
"_resolved": "https://registry.npmjs.org/mocha/-/mocha-1.12.0.tgz"
|
47
53
|
}
|
@@ -1,26 +1,15 @@
|
|
1
|
-
//
|
2
|
-
// describe('something', function(){
|
3
|
-
// it('should work', function(){
|
4
|
-
// 'foo bar'.should.equal('bar');
|
5
|
-
// })
|
6
|
-
// })
|
7
|
-
//
|
8
|
-
// describe('something', function(){
|
9
|
-
// it('should work', function(){
|
10
|
-
// 'foo\nbar\nbaz\nraz\r\n jaz\nsomething\nelse'.should.equal('foo\nbar\nbaz\nraz\r\njaz\nsmething\nelse');
|
11
|
-
// })
|
12
|
-
// })
|
13
1
|
|
14
2
|
describe('something', function(){
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
3
|
+
it('should work', function(){
|
4
|
+
var a = { test: /something/i };
|
5
|
+
var b = { test: 'hey' }
|
6
|
+
a.should.eql(b)
|
19
7
|
})
|
20
8
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
9
|
+
// it('be pending')
|
10
|
+
// it('be pending')
|
11
|
+
|
12
|
+
it('should fail', function(){
|
13
|
+
// tasdf
|
25
14
|
})
|
26
|
-
})
|
15
|
+
})
|