47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
|
|
'use strict';
|
|
|
|
var context = require('../context');
|
|
var should = require('should');
|
|
|
|
describe('ctx.set(name, val)', function(){
|
|
it('should set a field value', function(){
|
|
var ctx = context();
|
|
ctx.set('x-foo', 'bar');
|
|
ctx.response.header['x-foo'].should.equal('bar');
|
|
})
|
|
|
|
it('should coerce to a string', function(){
|
|
var ctx = context();
|
|
ctx.set('x-foo', 5);
|
|
ctx.response.header['x-foo'].should.equal('5');
|
|
})
|
|
|
|
it('should set a field value of array', function(){
|
|
var ctx = context();
|
|
ctx.set('x-foo', ['foo', 'bar']);
|
|
ctx.response.header['x-foo'].should.eql([ 'foo', 'bar' ]);
|
|
})
|
|
|
|
describe('after header sent', function(){
|
|
it('should ignore', function(){
|
|
var ctx = context(null, { headersSent: true });
|
|
ctx.set('foo', 'bar');
|
|
should.not.exist(ctx.response.header.foo);
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('ctx.set(object)', function(){
|
|
it('should set multiple fields', function(){
|
|
var ctx = context();
|
|
|
|
ctx.set({
|
|
foo: '1',
|
|
bar: '2'
|
|
});
|
|
|
|
ctx.response.header.foo.should.equal('1');
|
|
ctx.response.header.bar.should.equal('2');
|
|
})
|
|
})
|