mirror of
https://github.com/bodyrep/DemoApp.git
synced 2025-12-06 06:01:48 +00:00
68 lines
1.9 KiB
JavaScript
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();
|
|
}
|
|
);
|
|
});
|
|
});
|
|
|
|
});
|