koa-lite/test/response/set.js

46 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

'use strict';
2017-05-11 03:30:32 +00:00
const assert = require('assert');
const context = require('../helpers/context');
describe('ctx.set(name, val)', () => {
it('should set a field value', () => {
const ctx = context();
ctx.set('x-foo', 'bar');
2017-05-11 03:30:32 +00:00
assert.equal(ctx.response.header['x-foo'], 'bar');
2015-10-12 20:36:41 +00:00
});
it('should coerce number to string', () => {
const ctx = context();
ctx.set('x-foo', 5);
2017-05-11 03:30:32 +00:00
assert.equal(ctx.response.header['x-foo'], '5');
2015-10-12 20:36:41 +00:00
});
2014-07-06 08:43:14 +00:00
it('should coerce undefined to string', () => {
const ctx = context();
ctx.set('x-foo', undefined);
assert.equal(ctx.response.header['x-foo'], 'undefined');
});
it('should set a field value of array', () => {
const ctx = context();
2014-07-06 08:43:14 +00:00
ctx.set('x-foo', ['foo', 'bar']);
2017-05-11 03:30:32 +00:00
assert.deepEqual(ctx.response.header['x-foo'], [ 'foo', 'bar' ]);
2015-10-12 20:36:41 +00:00
});
});
describe('ctx.set(object)', () => {
it('should set multiple fields', () => {
const ctx = context();
ctx.set({
foo: '1',
bar: '2'
});
2017-05-11 03:30:32 +00:00
assert.equal(ctx.response.header.foo, '1');
assert.equal(ctx.response.header.bar, '2');
2015-10-12 20:36:41 +00:00
});
});