'use strict'; var request = require('../'); var t = require('chai').assert; describe('API surface', function () { describe('request methods', function(){ it('should work with .on', function(f){ request('http://httpbin.org/delay/0.1').on('end', function(){ f(); }); }); }); describe('callback api', function(){ [['request', request], ['request.get', request.get]].forEach(function(pair){ it('should work with '+pair[0]+'(url, f)', function (done) { pair[1]('http://www.filltext.com/?rows=1', function (err, response, body) { t.strictEqual(response.statusCode, 200); t.strictEqual(response.body, '[{}]'); done(); }); }); it('should work with '+pair[0]+'(url, object, f)', function (done) { pair[1]('http://www.filltext.com/?rows=1', { json:true, }, function (err, response, body) { t.strictEqual(response.statusCode, 200); t.deepEqual(response.body, [{}]); done(); }); }); it('should work with '+pair[0]+'(object, f)', function (done) { pair[1]({ url: 'http://www.filltext.com/?rows=1', json:true }, function (err, response, body) { t.strictEqual(response.statusCode, 200); t.deepEqual(response.body, [{}]); done(); }); }); }); }); describe('promise api', function(){ [['request', request], ['request.get', request.get]].forEach(function(pair){ it('should work with '+pair[0]+'(url)', function (done) { pair[1]('http://www.filltext.com/?rows=1') .then(function (response) { t.strictEqual(response.statusCode, 200); t.strictEqual(response.body, '[{}]'); done(); }); }); it('should work with request(url, object)', function (done) { pair[1]('http://www.filltext.com/?rows=1', { json:true, }) .then(function (response) { t.strictEqual(response.statusCode, 200); t.deepEqual(response.body, [{}]); done(); }); }); it('should work with '+pair[0]+'(object)', function (done) { pair[1]({ url: 'http://www.filltext.com/?rows=1', json:true }) .then(function (response) { t.strictEqual(response.statusCode, 200); t.deepEqual(response.body, [{}]); done(); }); }); }); }); });