2
var configuration, preferredEncodings, testConfigurations, testCorrectEncoding, _i, _len,
5
preferredEncodings = require('../lib/encoding').preferredEncodings;
7
this["Should return identity encoding when no encoding is provided"] = function(test) {
8
test.deepEqual(preferredEncodings(null), ['identity']);
12
this["Should include the identity encoding even if not explicity listed"] = function(test) {
13
test.ok(preferredEncodings('gzip').indexOf('identity') !== -1);
17
this["Should not return identity encoding if q = 0"] = function(test) {
18
test.ok(preferredEncodings('identity;q=0').indexOf('identity') === -1);
22
testCorrectEncoding = function(c) {
23
return _this["Should return " + c.selected + " for accept-encoding header " + c.accept + " with provided encoding " + c.provided] = function(test) {
24
test.deepEqual(preferredEncodings(c.accept, c.provided), c.selected);
29
testConfigurations = [
32
provided: ['identity', 'gzip'],
33
selected: ['gzip', 'identity']
35
accept: 'gzip, compress',
36
provided: ['compress'],
37
selected: ['compress']
40
provided: ['gzip', 'identity'],
41
selected: ['identity']
44
provided: ['identity', 'gzip'],
45
selected: ['identity', 'gzip']
47
accept: 'gzip, compress',
48
provided: ['compress', 'identity'],
49
selected: ['compress', 'identity']
51
accept: 'gzip;q=0.8, identity;q=0.5, *;q=0.3',
52
provided: ['identity', 'gzip', 'compress'],
53
selected: ['gzip', 'identity', 'compress']
55
accept: 'gzip;q=0.8, compress',
56
provided: ['gzip', 'compress'],
57
selected: ['compress', 'gzip']
59
accept: 'gzip;q=0.8, compress',
61
selected: ['compress', 'gzip', 'identity']
65
for (_i = 0, _len = testConfigurations.length; _i < _len; _i++) {
66
configuration = testConfigurations[_i];
67
testCorrectEncoding(configuration);