mirror of https://github.com/nodejs/node.git
61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
|
var test = require("tap").test
|
||
|
|
||
|
var some = require("../some.js")
|
||
|
|
||
|
test("some() doesn't find anything asynchronously", function (t) {
|
||
|
some(["a", "b", "c", "d", "e", "f", "g"], predicate, function (error, match) {
|
||
|
t.ifError(error, "ran successfully")
|
||
|
|
||
|
t.notOk(match, "nothing to find, so nothing found")
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
function predicate(value, cb) {
|
||
|
// dezalgo ensures it's safe to not do this, but just in case
|
||
|
setTimeout(function () { cb(null, value > "j" && value) })
|
||
|
}
|
||
|
})
|
||
|
|
||
|
test("some() doesn't find anything synchronously", function (t) {
|
||
|
some(["a", "b", "c", "d", "e", "f", "g"], predicate, function (error, match) {
|
||
|
t.ifError(error, "ran successfully")
|
||
|
|
||
|
t.notOk(match, "nothing to find, so nothing found")
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
function predicate(value, cb) {
|
||
|
cb(null, value > "j" && value)
|
||
|
}
|
||
|
})
|
||
|
|
||
|
test("some() doesn't find anything asynchronously", function (t) {
|
||
|
some(["a", "b", "c", "d", "e", "f", "g"], predicate, function (error, match) {
|
||
|
t.ifError(error, "ran successfully")
|
||
|
|
||
|
t.equals(match, "d", "found expected element")
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
function predicate(value, cb) {
|
||
|
setTimeout(function () { cb(null, value > "c" && value) })
|
||
|
}
|
||
|
})
|
||
|
|
||
|
test("some() doesn't find anything synchronously", function (t) {
|
||
|
some(["a", "b", "c", "d", "e", "f", "g"], predicate, function (error, match) {
|
||
|
t.ifError(error, "ran successfully")
|
||
|
|
||
|
t.equals(match, "d", "found expected")
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
function predicate(value, cb) {
|
||
|
cb(null, value > "c" && value)
|
||
|
}
|
||
|
})
|