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.
 
 
 
 
 
 

60 lines
1.5 KiB

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)
}
})