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.
80 lines
1.4 KiB
80 lines
1.4 KiB
|
|
var pull = require('../') |
|
var test = require('tape') |
|
|
|
test('find 7', function (t) { |
|
pull( |
|
pull.values([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), |
|
pull.find(function (d) { |
|
return d == 7 |
|
}, function (err, seven) { |
|
t.equal(seven, 7) |
|
t.notOk(err) |
|
t.end() |
|
}) |
|
) |
|
}) |
|
|
|
var target = Math.random() |
|
test('find ' + target, function (t) { |
|
var f = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(Math.random) |
|
|
|
f.push(target) |
|
pull( |
|
pull.values(f.sort()), |
|
pull.find(function (d) { |
|
return d == target |
|
}, function (err, found) { |
|
t.equal(found, target) |
|
t.notOk(err) |
|
t.end() |
|
}) |
|
) |
|
}) |
|
|
|
test('find missing', function (t) { |
|
var f = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
|
|
|
pull( |
|
pull.values(f.sort()), |
|
pull.find(function (d) { |
|
return d == target |
|
}, function (err, found) { |
|
t.equal(found, null) |
|
t.notOk(err) |
|
t.end() |
|
}) |
|
) |
|
}) |
|
|
|
|
|
test('there can only be one', function (t) { |
|
|
|
pull( |
|
pull.values([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), |
|
pull.asyncMap(function (e, cb) { |
|
process.nextTick(function () { |
|
cb(null, e) |
|
}) |
|
}), |
|
pull.find(function (d) { |
|
return d >= 7 |
|
}, function (err, seven) { |
|
t.equal(seven, 7) |
|
t.notOk(err) |
|
t.end() |
|
}) |
|
) |
|
|
|
}) |
|
|
|
test('find null', function (t) { |
|
pull( |
|
pull.values([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), |
|
pull.find(null, function (err, first) { |
|
t.equal(first, 1) |
|
t.notOk(err) |
|
t.end() |
|
}) |
|
) |
|
}) |