Files
DemoApp/node_modules/gzippo/test/prefix.test.js
2013-02-14 08:18:17 -05:00

68 lines
1.9 KiB
JavaScript

var assert = require('assert')
, http = require('http')
, fs = require('fs')
, connect = require('connect')
, join = require('path').join
, gzippo = require('../')
;
var fixtures = join(__dirname, 'fixtures')
, port = 32124
, app
, request
;
// read a fixture file synchronously
function file(name) {
return fs.readFileSync(join(fixtures, name));
}
describe('gzippo.statisGzip (with prefix)', function() {
it('should successfully serve a .json file with a path prefix', function(done) {
var app = connect.createServer();
app.use(gzippo.staticGzip(fixtures, { prefix: '/foo' }));
request = require('./request')({ port: port + 5 });
app.listen(port + 5, function() {
request('/foo/user.json', { 'Accept-Encoding': 'gzip' },
function(err, res, data) {
if (err) throw err;
assert.equal(res.statusCode, 200);
assert.equal(res.headers['content-type'], 'application/json; charset=UTF-8');
assert.equal(data.length, '69');
assert.equal(res.headers['content-encoding'], 'gzip');
assert.deepEqual(data, file('user.gzip'));
done();
}
);
});
});
it('should serve files as expected with a / prefix', function(done) {
var app = connect.createServer();
app.use(gzippo.staticGzip(fixtures, { prefix: '/' }));
request = require('./request')({ port: port + 6});
app.listen(port + 6, function() {
request('/user.json', { 'Accept-Encoding': 'gzip' },
function(err, res, data) {
if (err) throw err;
assert.equal(res.statusCode, 200);
assert.equal(res.headers['content-type'], 'application/json; charset=UTF-8');
assert.equal(data.length, '69');
assert.equal(res.headers['content-encoding'], 'gzip');
assert.deepEqual(data, file('user.gzip'));
done();
}
);
});
});
});