forked from ramda/ramda
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefaultTo.js
30 lines (23 loc) · 820 Bytes
/
defaultTo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var R = require('..');
var eq = require('./shared/eq');
describe('defaultTo', function() {
var defaultTo42 = R.defaultTo(42);
it('returns the default value if input is null, undefined or NaN', function() {
eq(42, defaultTo42(null));
eq(42, defaultTo42(undefined));
eq(42, defaultTo42(NaN));
});
it('returns the input value if it is not null/undefined', function() {
eq('a real value', defaultTo42('a real value'));
});
it('returns the input value even if it is considered falsy', function() {
eq('', defaultTo42(''));
eq(0, defaultTo42(0));
eq(false, defaultTo42(false));
eq([], defaultTo42([]));
});
it('can be called with both arguments directly', function() {
eq(42, R.defaultTo(42, null));
eq('a real value', R.defaultTo(42, 'a real value'));
});
});