util.async: tests: Add helper function to create mock watcher callbacks
authorMatthew Wild <mwild1@gmail.com>
Sat, 17 Mar 2018 18:12:31 +0000
changeset 8626 ab242c513bf4
parent 8625 92fee8a6c988
child 8627 5325f0e1791b
util.async: tests: Add helper function to create mock watcher callbacks
spec/util_async_spec.lua
--- a/spec/util_async_spec.lua	Sat Mar 17 23:00:04 2018 +0100
+++ b/spec/util_async_spec.lua	Sat Mar 17 18:12:31 2018 +0000
@@ -8,17 +8,23 @@
 	else
 		print = function () end
 	end
+
+	local function mock_watchers()
+		return setmetatable(mock{
+			ready = function () end;
+			waiting = function () end;
+			error = function () end;
+		}, {
+			__index = function (_, event)
+				-- Unexpected watcher called
+				assert(false);
+			end;
+		})
+	end
+
 	local function new(func, name)
 		local log = {};
-		return async.runner(func, setmetatable({}, {
-			__index = function (_, event)
-				return function (runner, err)
-					print(name or runner.id, "event", event, err)
-					print "--"
-					table.insert(log, { event = event, err = err });
-				end;
-			end;
-		})), log;
+		return async.runner(func, mock_watchers()), log;
 	end
 	describe("#runner", function()
 		it("should work", function()