86 lines
1.9 KiB
Lua
86 lines
1.9 KiB
Lua
|
local naughty = require("naughty")
|
||
|
local notification = require("naughty.notification")
|
||
|
require("ruled.notification"):_clear()
|
||
|
|
||
|
local steps = {}
|
||
|
|
||
|
local BAD_IDEA = "never do this in practice, compat only"
|
||
|
|
||
|
local notif = setmetatable({}, {__mode="v"})
|
||
|
|
||
|
screen[1]:split()
|
||
|
|
||
|
for _, legacy_preset in ipairs {true, false} do
|
||
|
table.insert(steps, function()
|
||
|
-- This will either take the legacy preset path
|
||
|
-- or the ruled preset path.
|
||
|
function naughty.get__has_preset_handler()
|
||
|
return legacy_preset
|
||
|
end
|
||
|
|
||
|
local custom_preset = {
|
||
|
bg = "#00ff00",
|
||
|
fg = "#ff0000",
|
||
|
text = BAD_IDEA
|
||
|
}
|
||
|
|
||
|
notif[1] = notification {
|
||
|
preset = custom_preset,
|
||
|
}
|
||
|
|
||
|
assert(notif[1].bg == "#00ff00")
|
||
|
assert(notif[1].message == BAD_IDEA)
|
||
|
|
||
|
return true
|
||
|
end)
|
||
|
|
||
|
table.insert(steps, function()
|
||
|
notif[1]:destroy()
|
||
|
|
||
|
return true
|
||
|
end)
|
||
|
|
||
|
for s in screen do
|
||
|
-- Make sure the screen doesn't cause a memory leak.
|
||
|
table.insert(steps, function()
|
||
|
collectgarbage("collect")
|
||
|
|
||
|
if notif[1] then return end
|
||
|
|
||
|
local custom_preset = {
|
||
|
bg = "#0000ff",
|
||
|
fg = "#ff0000",
|
||
|
screen = s
|
||
|
}
|
||
|
|
||
|
notif[1] = notification {
|
||
|
preset = custom_preset,
|
||
|
title = "test",
|
||
|
}
|
||
|
|
||
|
assert(notif[1].bg == "#0000ff")
|
||
|
|
||
|
assert(notif[1].screen == s)
|
||
|
|
||
|
return true
|
||
|
end)
|
||
|
|
||
|
table.insert(steps, function()
|
||
|
assert(notif[1].screen == s)
|
||
|
notif[1]:destroy()
|
||
|
|
||
|
return true
|
||
|
end)
|
||
|
|
||
|
table.insert(steps, function()
|
||
|
collectgarbage("collect")
|
||
|
|
||
|
if notif[1] then return end
|
||
|
|
||
|
return true
|
||
|
end)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
require("_runner").run_steps(steps)
|