mirror of https://github.com/pelias/api.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.7 KiB
44 lines
1.7 KiB
const field = require('../../../helper/fieldValue'); |
|
|
|
module.exports.tests = {}; |
|
|
|
module.exports.tests.getStringValue = function(test) { |
|
test('getStringValue', function(t) { |
|
t.equal(field.getStringValue([]), '', 'empty array'); |
|
t.equal(field.getStringValue(''), '', 'empty string'); |
|
t.equal(field.getStringValue('foo'), 'foo', 'string'); |
|
t.equal(field.getStringValue(['foo','bar']), 'foo', 'array'); |
|
t.equal(field.getStringValue(['']), '', 'array with empty string'); |
|
t.equal(field.getStringValue(-0), '-0', 'number'); |
|
t.equal(field.getStringValue(+0), '0', 'number'); |
|
|
|
// note: this behaviour is not desirable, it was inherited during a refactor |
|
// see: https://github.com/pelias/api/pull/1102 |
|
t.equal(field.getStringValue({foo: 'bar'}), '[object Object]', '_.toString'); |
|
t.end(); |
|
}); |
|
}; |
|
|
|
module.exports.tests.getArrayValue = function(test) { |
|
test('getArrayValue', function(t) { |
|
t.deepEqual(field.getArrayValue([]), [], 'empty array'); |
|
t.deepEqual(field.getArrayValue(''), [], 'empty string'); |
|
t.deepEqual(field.getArrayValue('foo'), ['foo'], 'string'); |
|
t.deepEqual(field.getArrayValue(['foo','bar']), ['foo','bar'], 'array'); |
|
t.deepEqual(field.getArrayValue(['']), [''], 'array with empty string'); |
|
t.deepEqual(field.getArrayValue(-0), [0], 'number'); |
|
t.deepEqual(field.getArrayValue(+0), [0], 'number'); |
|
t.deepEqual(field.getArrayValue({foo: 'bar'}), [{foo: 'bar'}], '[*]'); |
|
t.end(); |
|
}); |
|
}; |
|
|
|
module.exports.all = function (tape, common) { |
|
function test(name, testFunction) { |
|
return tape('fieldValue: ' + name, testFunction); |
|
} |
|
|
|
for( var testCase in module.exports.tests ){ |
|
module.exports.tests[testCase](test, common); |
|
} |
|
};
|
|
|