require("plenary.async").tests.add_to_env() describe("async", function() a.it("void functions can call wrapped functions", function() local stat = 0 local saved_arg local wrapped = a.wrap(function(inc, callback) stat = stat + inc callback() end, 2) local voided = a.void(function(arg) wrapped(1) wrapped(2) wrapped(3) stat = stat + 1 saved_arg = arg end) voided "hello" assert(stat == 7) assert(saved_arg == "hello") end) a.it("void functions can call wrapped functions with ignored arguments", function() local stat = 0 local saved_arg local wrapped = a.wrap(function(inc, nil1, nil2, callback) assert(type(inc) == "number") assert(nil1 == nil) assert(nil2 == nil) assert(type(callback) == "function") stat = stat + inc callback() end, 4) local voided = a.void(function(arg) wrapped(1) wrapped(2, nil) wrapped(3, nil, nil) stat = stat + 1 saved_arg = arg end) voided "hello" assert(stat == 7) assert(saved_arg == "hello") end) end)