mirror of
https://github.com/bjc/prosody.git
synced 2025-04-04 13:47:41 +03:00
tests: util.throttle: Fix time override to simply override util.time. Recent change bypasses current override method.
This commit is contained in:
parent
1e9b98ebe5
commit
058cac6c4c
1 changed files with 4 additions and 12 deletions
|
@ -7,20 +7,12 @@ local function later(n)
|
||||||
now = now + n; -- time passes at a different rate
|
now = now + n; -- time passes at a different rate
|
||||||
end
|
end
|
||||||
|
|
||||||
local function override_gettime(throttle)
|
package.loaded["util.time"] = {
|
||||||
local i = 0;
|
now = predictable_gettime;
|
||||||
repeat
|
}
|
||||||
i = i + 1;
|
|
||||||
local name = debug.getupvalue(throttle.update, i);
|
|
||||||
if name then
|
|
||||||
debug.setupvalue(throttle.update, i, predictable_gettime);
|
|
||||||
return throttle;
|
|
||||||
end
|
|
||||||
until not name;
|
|
||||||
end
|
|
||||||
|
|
||||||
function create(create)
|
function create(create)
|
||||||
local a = override_gettime( create(3, 10) );
|
local a = create(3, 10);
|
||||||
|
|
||||||
assert_equal(a:poll(1), true); -- 3 -> 2
|
assert_equal(a:poll(1), true); -- 3 -> 2
|
||||||
assert_equal(a:poll(1), true); -- 2 -> 1
|
assert_equal(a:poll(1), true); -- 2 -> 1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue