koa-lite/test/response/length.js
Tejas Manohar e8f79d43f9 modularize tests for application
closes #517

add index test for Application

add app.toJSON test

add test for app.inspect()

add tests for app.use()

add tests for app.onerror()

add tests for app.respond()

add tests for app.context()

add tests for app.request()

add tests for app.response

refactor for non-existence of test/app...js

no need for *.js

use helpers/ dir for non-tests
2015-10-12 00:08:06 -07:00

69 lines
1.7 KiB
JavaScript

'use strict';
const response = require('../helpers/context').response;
const should = require('should');
const assert = require('assert');
const fs = require('fs');
describe('res.length', function(){
describe('when Content-Length is defined', function(){
it('should return a number', function(){
const res = response();
res.header['content-length'] = '120';
res.length.should.equal(120);
})
})
})
describe('res.length', function(){
describe('when Content-Length is defined', function(){
it('should return a number', function(){
const res = response();
res.set('Content-Length', '1024');
res.length.should.equal(1024);
})
})
describe('when Content-Length is not defined', function(){
describe('and a .body is set', function(){
it('should return a number', function(){
const res = response();
res.body = 'foo';
res.remove('Content-Length');
res.length.should.equal(3);
res.body = 'foo';
res.length.should.equal(3);
res.body = new Buffer('foo bar');
res.remove('Content-Length');
res.length.should.equal(7);
res.body = new Buffer('foo bar');
res.length.should.equal(7);
res.body = { hello: 'world' };
res.remove('Content-Length');
res.length.should.equal(17);
res.body = { hello: 'world' };
res.length.should.equal(17);
res.body = fs.createReadStream('package.json');
should.not.exist(res.length);
res.body = null;
should.not.exist(res.length);
})
})
describe('and .body is not', function(){
it('should return undefined', function(){
const res = response();
assert(null == res.length);
})
})
})
})