Mercurial > prosody-hg
comparison spec/util_events_spec.lua @ 11058:c99afee1c548
util.events: Add set_debug_hook() method
Hook signature:
ret = debug_hook(handler, event_name, event_data)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 03 Sep 2020 12:59:43 +0100 |
| parents | befffddf1b25 |
| children | 19dd9522f107 |
comparison
equal
deleted
inserted
replaced
| 11057:13eee48071c8 | 11058:c99afee1c548 |
|---|---|
| 206 e.fire_event("myevent", "abc"); | 206 e.fire_event("myevent", "abc"); |
| 207 assert.spy(w).was_called(1); | 207 assert.spy(w).was_called(1); |
| 208 assert.spy(h).was_called(2); | 208 assert.spy(h).was_called(2); |
| 209 end); | 209 end); |
| 210 end); | 210 end); |
| 211 | |
| 212 describe("debug hooks", function () | |
| 213 it("should get called", function () | |
| 214 local d = spy.new(function (handler, event_name, event_data) | |
| 215 return handler(event_data); | |
| 216 end); | |
| 217 | |
| 218 e.add_handler("myevent", h); | |
| 219 e.fire_event("myevent"); | |
| 220 | |
| 221 assert.spy(h).was_called(1); | |
| 222 assert.spy(d).was_called(0); | |
| 223 | |
| 224 assert.is_nil(e.set_debug_hook(d)); | |
| 225 | |
| 226 e.fire_event("myevent", { mydata = true }); | |
| 227 | |
| 228 assert.spy(h).was_called(2); | |
| 229 assert.spy(d).was_called(1); | |
| 230 assert.spy(d).was_called_with(h, "myevent", { mydata = true }); | |
| 231 | |
| 232 assert.equal(d, e.set_debug_hook(nil)); | |
| 233 | |
| 234 e.fire_event("myevent", { mydata = false }); | |
| 235 | |
| 236 assert.spy(h).was_called(3); | |
| 237 assert.spy(d).was_called(1); | |
| 238 end); | |
| 239 it("setting should return any existing debug hook", function () | |
| 240 local function f() end | |
| 241 local function g() end | |
| 242 assert.is_nil(e.set_debug_hook(f)); | |
| 243 assert.is_equal(f, e.set_debug_hook(g)); | |
| 244 assert.is_equal(g, e.set_debug_hook(f)); | |
| 245 assert.is_equal(f, e.set_debug_hook(nil)); | |
| 246 assert.is_nil(e.set_debug_hook(f)); | |
| 247 end); | |
| 248 end); | |
| 211 end); | 249 end); |
| 212 end); | 250 end); |
