mirror of
https://github.com/kikito/beholder.lua.git
synced 2024-12-16 00:34:21 +00:00
57 lines
1.1 KiB
Lua
57 lines
1.1 KiB
Lua
local beholder = require 'beholder'
|
|
|
|
|
|
describe("Acceptance", function()
|
|
|
|
before(function()
|
|
beholder:reset()
|
|
end)
|
|
|
|
test("Normal behavior", function()
|
|
|
|
local counter = 0
|
|
|
|
local id = beholder:observe("EVENT", function() counter = counter + 1 end)
|
|
|
|
beholder:trigger("EVENT")
|
|
beholder:trigger("EVENT")
|
|
|
|
assert_equal(counter, 2)
|
|
|
|
beholder:stopObserving(id)
|
|
|
|
beholder:trigger("EVENT")
|
|
|
|
assert_equal(counter, 2)
|
|
|
|
end)
|
|
|
|
test("several actions on the same event", function()
|
|
|
|
local counter1, counter2 = 0,0
|
|
|
|
local id1 = beholder:observe("EVENT", function() counter1 = counter1 + 1 end)
|
|
local id2 = beholder:observe("EVENT", function() counter2 = counter2 + 1 end)
|
|
|
|
beholder:trigger("EVENT")
|
|
beholder:trigger("EVENT")
|
|
|
|
assert_equal(counter1, 2)
|
|
assert_equal(counter2, 2)
|
|
|
|
beholder:stopObserving(id1)
|
|
|
|
beholder:trigger("EVENT")
|
|
assert_equal(counter1, 2)
|
|
assert_equal(counter2, 3)
|
|
|
|
beholder:stopObserving(id2)
|
|
|
|
beholder:trigger("EVENT")
|
|
assert_equal(counter1, 2)
|
|
assert_equal(counter2, 3)
|
|
|
|
end)
|
|
|
|
end)
|