63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
var hidePoweredBy = require('..')
|
|
|
|
var connect = require('connect')
|
|
var request = require('supertest')
|
|
var assert = require('assert')
|
|
|
|
describe('hidePoweredBy', function () {
|
|
function test (name, options) {
|
|
it(name, function (done) {
|
|
var app = connect()
|
|
app.use(function (req, res, next) {
|
|
res.setHeader('X-Powered-By', 'Computers')
|
|
next()
|
|
})
|
|
app.use(options.middleware)
|
|
app.use(function (req, res) {
|
|
res.end('Hello world!')
|
|
})
|
|
request(app).get('/')
|
|
.end(function (err, res) {
|
|
if (err) {
|
|
done(err)
|
|
return
|
|
}
|
|
assert.equal(res.header['x-powered-by'], options.shouldBe)
|
|
done()
|
|
})
|
|
})
|
|
}
|
|
|
|
it('works even if no header is set', function (done) {
|
|
var app = connect()
|
|
app.use(hidePoweredBy())
|
|
app.use(function (req, res) {
|
|
res.end('Hello world!')
|
|
})
|
|
request(app).get('/')
|
|
.end(function (err, res) {
|
|
if (err) {
|
|
done(err)
|
|
return
|
|
}
|
|
assert.equal(res.header['x-powered-by'], undefined)
|
|
done()
|
|
})
|
|
})
|
|
|
|
test('removes the X-Powered-By header', {
|
|
middleware: hidePoweredBy(),
|
|
shouldBe: undefined
|
|
})
|
|
|
|
test('allows you to explicitly set the header', {
|
|
middleware: hidePoweredBy({ setTo: 'steampowered' }),
|
|
shouldBe: 'steampowered'
|
|
})
|
|
|
|
it('names its function and middleware', function () {
|
|
assert.equal(hidePoweredBy.name, 'hidePoweredBy')
|
|
assert.equal(hidePoweredBy().name, 'hidePoweredBy')
|
|
})
|
|
})
|