tests: Test gears.object optional features
This commit is contained in:
parent
d6a7b6c645
commit
625a5dd407
|
@ -161,6 +161,64 @@ describe("gears.object", function()
|
||||||
assert.is_true(finalized)
|
assert.is_true(finalized)
|
||||||
obj:emit_signal("signal")
|
obj:emit_signal("signal")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it("dynamic property disabled", function()
|
||||||
|
local class = {}
|
||||||
|
function class:get_foo() return "bar" end
|
||||||
|
function class:set_foo() end
|
||||||
|
|
||||||
|
local obj2 = object{class=class}
|
||||||
|
|
||||||
|
obj2.foo = 42
|
||||||
|
|
||||||
|
assert.is_true(obj2.foo == 42)
|
||||||
|
end)
|
||||||
|
|
||||||
|
it("dynamic property disabled", function()
|
||||||
|
local class = {}
|
||||||
|
function class:get_foo() return "bar" end
|
||||||
|
function class:set_foo() end
|
||||||
|
|
||||||
|
local obj2 = object{class=class, enable_properties = true}
|
||||||
|
|
||||||
|
obj2.foo = 42
|
||||||
|
|
||||||
|
assert.is_true(obj2.foo == "bar")
|
||||||
|
end)
|
||||||
|
|
||||||
|
it("auto emit disabled", function()
|
||||||
|
local got_it = false
|
||||||
|
obj:add_signal("property::foo")
|
||||||
|
obj:connect_signal("property::foo", function() got_it=true end)
|
||||||
|
|
||||||
|
obj.foo = 42
|
||||||
|
|
||||||
|
assert.is_false(got_it)
|
||||||
|
end)
|
||||||
|
|
||||||
|
it("auto emit enabled", function()
|
||||||
|
local got_it = false
|
||||||
|
local obj2 = object{enable_auto_signals=true, enable_properties=true}
|
||||||
|
obj2:add_signal("property::foo")
|
||||||
|
obj2:connect_signal("property::foo", function() got_it=true end)
|
||||||
|
|
||||||
|
obj2.foo = 42
|
||||||
|
|
||||||
|
assert.is_true(got_it)
|
||||||
|
end)
|
||||||
|
|
||||||
|
it("auto emit enabled", function()
|
||||||
|
assert.has.errors(function()
|
||||||
|
local obj2 = object{enable_auto_signals=true, enable_properties=true}
|
||||||
|
obj2.foo = "bar"
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
it("auto emit without dynamic properties", function()
|
||||||
|
assert.has.errors(function()
|
||||||
|
object{enable_auto_signals=true, enable_properties=false}
|
||||||
|
end)
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||||
|
|
Loading…
Reference in New Issue