2013-11-13 17:01:15 +00:00
|
|
|
|
2015-10-11 22:59:51 +00:00
|
|
|
'use strict';
|
|
|
|
|
2013-11-13 17:01:15 +00:00
|
|
|
var context = require('../context');
|
2018-02-12 08:43:13 +00:00
|
|
|
var should = require('should');
|
2013-11-13 17:01:15 +00:00
|
|
|
|
|
|
|
describe('ctx.vary(field)', function(){
|
|
|
|
describe('when Vary is not set', function(){
|
|
|
|
it('should set it', function(){
|
|
|
|
var ctx = context();
|
|
|
|
ctx.vary('Accept');
|
|
|
|
ctx.response.header.vary.should.equal('Accept');
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('when Vary is set', function(){
|
|
|
|
it('should append', function(){
|
|
|
|
var ctx = context();
|
|
|
|
ctx.vary('Accept');
|
|
|
|
ctx.vary('Accept-Encoding');
|
|
|
|
ctx.response.header.vary.should.equal('Accept, Accept-Encoding');
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('when Vary already contains the value', function(){
|
|
|
|
it('should not append', function(){
|
|
|
|
var ctx = context();
|
|
|
|
ctx.vary('Accept');
|
|
|
|
ctx.vary('Accept-Encoding');
|
|
|
|
ctx.vary('Accept');
|
|
|
|
ctx.vary('Accept-Encoding');
|
|
|
|
ctx.response.header.vary.should.equal('Accept, Accept-Encoding');
|
|
|
|
})
|
|
|
|
})
|
2018-02-12 08:43:13 +00:00
|
|
|
|
|
|
|
describe('after header sent', function(){
|
|
|
|
it('should ignore', function(){
|
|
|
|
var ctx = context(null, { headersSent: true });
|
|
|
|
ctx.vary('Accept');
|
|
|
|
should.not.exist(ctx.response.header.vary);
|
|
|
|
})
|
|
|
|
})
|
2015-10-11 22:59:51 +00:00
|
|
|
})
|