all da files

This commit is contained in:
jllord
2013-05-27 13:45:59 -07:00
commit 59d3d30afa
6704 changed files with 1954956 additions and 0 deletions

51
node_modules/ecstatic/test/304.js generated vendored Normal file
View File

@@ -0,0 +1,51 @@
var test = require('tap').test,
ecstatic = require('../lib/ecstatic'),
http = require('http'),
request = require('request'),
mkdirp = require('mkdirp'),
fs = require('fs'),
path = require('path');
var root = __dirname + '/public',
baseDir = 'base';
test('304_not_modified', function (t) {
var port = Math.floor(Math.random() * ((1<<16) - 1e4) + 1e4),
file = 'a.txt';
var server = http.createServer(
ecstatic({
root: root,
gzip: true,
baseDir: baseDir,
autoIndex: true,
showDir: true
})
);
server.listen(port, function () {
var uri = 'http://localhost:' + port + path.join('/', baseDir, file),
now = (new Date()).toString();
request.get({
uri: uri,
followRedirect: false,
}, function (err, res, body) {
if (err) t.fail(err);
t.equal(res.statusCode, 200, 'first request should be a 200');
request.get({
uri: uri,
followRedirect: false,
headers: { 'if-modified-since': now }
}, function (err, res, body) {
if (err) t.fail(err);
t.equal(res.statusCode, 304, 'second request should be a 304');
server.close();
t.end();
});
});
});
});

118
node_modules/ecstatic/test/core.js generated vendored Normal file
View File

@@ -0,0 +1,118 @@
var test = require('tap').test,
ecstatic = require('../lib/ecstatic'),
http = require('http'),
request = require('request'),
mkdirp = require('mkdirp'),
fs = require('fs'),
path = require('path');
var root = __dirname + '/public',
baseDir = 'base';
mkdirp.sync(root + '/emptyDir');
var files = {
'a.txt' : {
code : 200,
type : 'text/plain',
body : 'A!!!\n',
},
'b.txt' : {
code : 200,
type : 'text/plain',
body : 'B!!!\n',
},
'c.js' : {
code : 200,
type : 'application/javascript',
body : 'console.log(\'C!!!\');\n',
},
'd.js' : {
code : 200,
type : 'application/javascript',
body : 'console.log(\'C!!!\');\n',
},
'subdir/e.html' : {
code : 200,
type : 'text/html',
body : '<b>e!!</b>\n',
},
'subdir/index.html' : {
code : 200,
type : 'text/html',
body : 'index!!!\n',
},
'subdir' : {
code : 302
},
'subdir/' : {
code : 200,
type : 'text/html',
body : 'index!!!\n',
},
'404' : {
code : 404
},
'compress/foo.js' : {
code : 200,
file: 'compress/foo.js.gz',
headers: {'accept-encoding': 'compress, gzip'}
},
// no accept-encoding of gzip, so serve regular file
'compress/foo_2.js' : {
code : 200,
file: 'compress/foo_2.js'
},
'emptyDir/': {
code: 200
}
};
test('core', function (t) {
var filenames = Object.keys(files);
var port = Math.floor(Math.random() * ((1<<16) - 1e4) + 1e4);
var server = http.createServer(
ecstatic({
root: root,
gzip: true,
baseDir: baseDir,
autoIndex: true,
showDir: true
})
);
server.listen(port, function () {
var pending = filenames.length;
filenames.forEach(function (file) {
var uri = 'http://localhost:' + port + path.join('/', baseDir, file),
headers = files[file].headers || {};
request.get({
uri: uri,
followRedirect: false,
headers: headers
}, function (err, res, body) {
if (err) t.fail(err);
var r = files[file];
t.equal(res.statusCode, r.code, 'status code for `' + file + '`');
if (r.type !== undefined) {
t.equal(
res.headers['content-type'].split(';')[0], r.type,
'content-type for `' + file + '`'
);
}
if (r.body !== undefined) {
t.equal(body, r.body, 'body for `' + file + '`');
}
if (--pending === 0) {
server.close();
t.end();
}
});
});
});
});

126
node_modules/ecstatic/test/express.js generated vendored Normal file
View File

@@ -0,0 +1,126 @@
var test = require('tap').test,
ecstatic = require('../lib/ecstatic'),
http = require('http'),
express = require('express'),
request = require('request'),
mkdirp = require('mkdirp'),
fs = require('fs'),
path = require('path');
var root = __dirname + '/public',
baseDir = 'base';
mkdirp.sync(root + '/emptyDir');
var files = {
'a.txt' : {
code : 200,
type : 'text/plain',
body : 'A!!!\n',
},
'b.txt' : {
code : 200,
type : 'text/plain',
body : 'B!!!\n',
},
'c.js' : {
code : 200,
type : 'application/javascript',
body : 'console.log(\'C!!!\');\n',
},
'd.js' : {
code : 200,
type : 'application/javascript',
body : 'console.log(\'C!!!\');\n',
},
'subdir/e.html' : {
code : 200,
type : 'text/html',
body : '<b>e!!</b>\n',
},
'subdir/index.html' : {
code : 200,
type : 'text/html',
body : 'index!!!\n',
},
'subdir' : {
code : 302
},
'subdir/' : {
code : 200,
type : 'text/html',
body : 'index!!!\n',
},
'404' : {
code : 404
},
'compress/foo.js' : {
code : 200,
file: 'compress/foo.js.gz',
headers: {'accept-encoding': 'compress, gzip'}
},
// no accept-encoding of gzip, so serve regular file
'compress/foo_2.js' : {
code : 200,
file: 'compress/foo_2.js'
},
'emptyDir/': {
code: 200
}
};
test('express', function (t) {
var filenames = Object.keys(files);
var port = Math.floor(Math.random() * ((1<<16) - 1e4) + 1e4);
var app = express();
app.use(ecstatic({
root: root,
gzip: true,
baseDir: baseDir,
autoIndex: true,
showDir: true,
cache: "no-cache"
}));
var server = http.createServer(app);
server.listen(port, function () {
var pending = filenames.length;
filenames.forEach(function (file) {
var uri = 'http://localhost:' + port + path.join('/', baseDir, file),
headers = files[file].headers || {};
request.get({
uri: uri,
followRedirect: false,
headers: headers
}, function (err, res, body) {
if (err) t.fail(err);
var r = files[file];
t.equal(res.statusCode, r.code, 'status code for `' + file + '`');
if (r.code === 200) {
t.equal(res.headers['cache-control'], 'no-cache', 'cache control for `' + file + '`');
};
if (r.type !== undefined) {
t.equal(
res.headers['content-type'].split(';')[0], r.type,
'content-type for `' + file + '`'
);
}
if (r.body !== undefined) {
t.equal(body, r.body, 'body for `' + file + '`');
}
if (--pending === 0) {
server.close();
t.end();
}
});
});
});
});

23
node_modules/ecstatic/test/malformed.js generated vendored Normal file
View File

@@ -0,0 +1,23 @@
var test = require('tap').test,
ecstatic = require('../lib/ecstatic'),
http = require('http')
;
test('malformed uri', function (t) {
t.plan(1);
var server = http.createServer(ecstatic(__dirname));
t.on('end', function () {
server.close();
});
server.listen(0, function () {
var r = http.get({
host: 'localhost',
port: server.address().port,
path: '/%'
});
r.on('response', function (res) {
t.equal(res.statusCode, 400);
});
});
});

1
node_modules/ecstatic/test/public/a.txt generated vendored Normal file
View File

@@ -0,0 +1 @@
A!!!

1
node_modules/ecstatic/test/public/b.txt generated vendored Normal file
View File

@@ -0,0 +1 @@
B!!!

1
node_modules/ecstatic/test/public/c.js generated vendored Normal file
View File

@@ -0,0 +1 @@
console.log('C!!!');

1
node_modules/ecstatic/test/public/compress/foo.js generated vendored Normal file
View File

@@ -0,0 +1 @@
exports.foo = "baz";

1
node_modules/ecstatic/test/public/compress/foo_2.js generated vendored Normal file
View File

@@ -0,0 +1 @@
exports.foo = "baz";

1
node_modules/ecstatic/test/public/subdir/e.html generated vendored Normal file
View File

@@ -0,0 +1 @@
<b>e!!</b>

1
node_modules/ecstatic/test/public/subdir/index.html generated vendored Normal file
View File

@@ -0,0 +1 @@
index!!!

120
node_modules/ecstatic/test/union.js generated vendored Normal file
View File

@@ -0,0 +1,120 @@
var test = require('tap').test,
ecstatic = require('../lib/ecstatic'),
union = require('union'),
request = require('request'),
mkdirp = require('mkdirp'),
fs = require('fs'),
path = require('path');
var root = __dirname + '/public',
baseDir = 'base';
mkdirp.sync(root + '/emptyDir');
var files = {
'a.txt' : {
code : 200,
type : 'text/plain',
body : 'A!!!\n',
},
'b.txt' : {
code : 200,
type : 'text/plain',
body : 'B!!!\n',
},
'c.js' : {
code : 200,
type : 'application/javascript',
body : 'console.log(\'C!!!\');\n',
},
'd.js' : {
code : 200,
type : 'application/javascript',
body : 'console.log(\'C!!!\');\n',
},
'subdir/e.html' : {
code : 200,
type : 'text/html',
body : '<b>e!!</b>\n',
},
'subdir/index.html' : {
code : 200,
type : 'text/html',
body : 'index!!!\n',
},
'subdir' : {
code : 302
},
'subdir/' : {
code : 200,
type : 'text/html',
body : 'index!!!\n',
},
'404' : {
code : 404
},
'compress/foo.js' : {
code : 200,
file: 'compress/foo.js.gz',
headers: {'accept-encoding': 'compress, gzip'}
},
// no accept-encoding of gzip, so serve regular file
'compress/foo_2.js' : {
code : 200,
file: 'compress/foo_2.js'
},
'emptyDir/': {
code: 200
}
};
test('union', function (t) {
var filenames = Object.keys(files);
var port = Math.floor(Math.random() * ((1<<16) - 1e4) + 1e4);
var server = union.createServer({
before: [
ecstatic({
root: root,
gzip: true,
baseDir: baseDir,
autoIndex: true,
showDir: true
})
]
});
server.listen(port, function () {
var pending = filenames.length;
filenames.forEach(function (file) {
var uri = 'http://localhost:' + port + path.join('/', baseDir, file),
headers = files[file].headers || {};
request.get({
uri: uri,
followRedirect: false,
headers: headers
}, function (err, res, body) {
if (err) t.fail(err);
var r = files[file];
t.equal(res.statusCode, r.code, 'status code for `' + file + '`');
if (r.type !== undefined) {
t.equal(
res.headers['content-type'].split(';')[0], r.type,
'content-type for `' + file + '`'
);
}
if (r.body !== undefined) {
t.equal(body, r.body, 'body for `' + file + '`');
}
if (--pending === 0) {
server.close();
t.end();
}
});
});
});
});