| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- (function() {
- var configuration, preferredLanguages, testConfigurations, testCorrectType, _i, _len,
- _this = this;
- preferredLanguages = require('../lib/language').preferredLanguages;
- this["Should not return a language when no is provided"] = function(test) {
- test.deepEqual(preferredLanguages('*', []), []);
- return test.done();
- };
- this["Should not return a language when no language is acceptable"] = function(test) {
- test.deepEqual(preferredLanguages('en', ['es']), []);
- return test.done();
- };
- this["Should not return a language with q = 0"] = function(test) {
- test.deepEqual(preferredLanguages('en;q=0', ['en']), []);
- return test.done();
- };
- testCorrectType = function(c) {
- return _this["Should return " + c.selected + " for accept-language header " + c.accept + " with provided language " + c.provided] = function(test) {
- test.deepEqual(preferredLanguages(c.accept, c.provided), c.selected);
- return test.done();
- };
- };
- testConfigurations = [
- {
- accept: 'en',
- provided: ['en'],
- selected: ['en']
- }, {
- accept: '*',
- provided: ['en'],
- selected: ['en']
- }, {
- accept: 'en-US, en;q=0.8',
- provided: ['en-US', 'en-GB'],
- selected: ['en-US', 'en-GB']
- }, {
- accept: 'en-US, en-GB',
- provided: ['en-US'],
- selected: ['en-US']
- }, {
- accept: 'en',
- provided: ['en-US'],
- selected: ['en-US']
- }, {
- accept: 'en;q=0.8, es',
- provided: ['en', 'es'],
- selected: ['es', 'en']
- }, {
- accept: 'en-US;q=0.8, es',
- provided: ['en', 'es'],
- selected: ['es', 'en']
- }, {
- accept: 'en-US;q=0.8, es',
- provided: null,
- selected: ['es', 'en-US']
- }
- ];
- for (_i = 0, _len = testConfigurations.length; _i < _len; _i++) {
- configuration = testConfigurations[_i];
- testCorrectType(configuration);
- }
- }).call(this);
|