all da files
This commit is contained in:
51
node_modules/ecstatic/test/304.js
generated
vendored
Normal file
51
node_modules/ecstatic/test/304.js
generated
vendored
Normal 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
118
node_modules/ecstatic/test/core.js
generated
vendored
Normal 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
126
node_modules/ecstatic/test/express.js
generated
vendored
Normal 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
23
node_modules/ecstatic/test/malformed.js
generated
vendored
Normal 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
1
node_modules/ecstatic/test/public/a.txt
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
A!!!
|
1
node_modules/ecstatic/test/public/b.txt
generated
vendored
Normal file
1
node_modules/ecstatic/test/public/b.txt
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
B!!!
|
1
node_modules/ecstatic/test/public/c.js
generated
vendored
Normal file
1
node_modules/ecstatic/test/public/c.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
console.log('C!!!');
|
1
node_modules/ecstatic/test/public/compress/foo.js
generated
vendored
Normal file
1
node_modules/ecstatic/test/public/compress/foo.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
exports.foo = "baz";
|
1
node_modules/ecstatic/test/public/compress/foo_2.js
generated
vendored
Normal file
1
node_modules/ecstatic/test/public/compress/foo_2.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
exports.foo = "baz";
|
1
node_modules/ecstatic/test/public/subdir/e.html
generated
vendored
Normal file
1
node_modules/ecstatic/test/public/subdir/e.html
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<b>e!!</b>
|
1
node_modules/ecstatic/test/public/subdir/index.html
generated
vendored
Normal file
1
node_modules/ecstatic/test/public/subdir/index.html
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
index!!!
|
120
node_modules/ecstatic/test/union.js
generated
vendored
Normal file
120
node_modules/ecstatic/test/union.js
generated
vendored
Normal 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();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user