'use strict' var express = require('../') , request = require('supertest'); describe('req', function(){ describe('.acceptsLanguages', function(){ it('should return language if accepted', function (done) { var app = express(); app.get('/', function (req, res) { res.send({ 'en-us': req.acceptsLanguages('en-us'), en: req.acceptsLanguages('en') }) }) request(app) .get('/') .set('Accept-Language', 'en;q=.5, en-us') .expect(200, { 'en-us': 'en-us', en: 'en' }, done) }) it('should be false if language not accepted', function(done){ var app = express(); app.get('/', function (req, res) { res.send({ es: req.acceptsLanguages('es') }) }) request(app) .get('/') .set('Accept-Language', 'en;q=.5, en-us') .expect(200, { es: false }, done) }) describe('when Accept-Language is not present', function(){ it('should always return language', function (done) { var app = express(); app.get('/', function (req, res) { res.send({ en: req.acceptsLanguages('en'), es: req.acceptsLanguages('es'), jp: req.acceptsLanguages('jp') }) }) request(app) .get('/') .expect(200, { en: 'en', es: 'es', jp: 'jp' }, done) }) }) }) })