From 79842ac34ba022827c7a6a4451d94c0303a550ce Mon Sep 17 00:00:00 2001 From: Trial97 Date: Tue, 22 Mar 2022 20:45:38 +0200 Subject: [PATCH 1/4] Fixed require statements --- init.lua | 6 +++--- layout/init.lua | 4 ++-- util/init.lua | 4 ++-- util/menu_iterator.lua | 2 +- widget/alsa.lua | 2 +- widget/alsabar.lua | 2 +- widget/bat.lua | 4 ++-- widget/cal.lua | 4 ++-- widget/contrib/init.lua | 4 ++-- widget/contrib/moc.lua | 2 +- widget/contrib/redshift.lua | 2 +- widget/contrib/task.lua | 4 ++-- widget/contrib/tp_smapi.lua | 2 +- widget/cpu.lua | 2 +- widget/fs.lua | 2 +- widget/imap.lua | 2 +- widget/init.lua | 4 ++-- widget/mem.lua | 2 +- widget/mpd.lua | 2 +- widget/net.lua | 2 +- widget/pulse.lua | 2 +- widget/pulsebar.lua | 2 +- widget/sysload.lua | 2 +- widget/temp.lua | 2 +- widget/weather.lua | 4 ++-- 25 files changed, 35 insertions(+), 35 deletions(-) diff --git a/init.lua b/init.lua index b59d5dd9..a5372f1c 100644 --- a/init.lua +++ b/init.lua @@ -9,7 +9,7 @@ --]] return { - layout = require("lain.layout"), - util = require("lain.util"), - widget = require("lain.widget") + layout = require(tostring(...):match(".*lain") .. ".layout"), + util = require(tostring(...):match(".*lain") .. ".util"), + widget = require(tostring(...):match(".*lain") .. ".widget") } diff --git a/layout/init.lua b/layout/init.lua index 6478b060..99e1efb8 100644 --- a/layout/init.lua +++ b/layout/init.lua @@ -11,9 +11,9 @@ --]] -local wrequire = require("lain.helpers").wrequire +local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire local setmetatable = setmetatable -local layout = { _NAME = "lain.layout" } +local layout = { _NAME = tostring(...):match(".*lain") .. ".layout" } return setmetatable(layout, { __index = wrequire }) diff --git a/util/init.lua b/util/init.lua index 5ae05232..e2b7e810 100644 --- a/util/init.lua +++ b/util/init.lua @@ -16,12 +16,12 @@ local sqrt = math.sqrt local pairs = pairs local client = client local tonumber = tonumber -local wrequire = require("lain.helpers").wrequire +local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire local setmetatable = setmetatable -- Lain utilities submodule -- lain.util -local util = { _NAME = "lain.util" } +local util = { _NAME = tostring(...):match(".*lain") .. ".util" } -- Like awful.menu.clients, but only show clients of currently selected tags function util.menu_clients_current_tags(menu, args) diff --git a/util/menu_iterator.lua b/util/menu_iterator.lua index d457473a..8f4c397c 100644 --- a/util/menu_iterator.lua +++ b/util/menu_iterator.lua @@ -11,7 +11,7 @@ -- lain.util.menu_iterator local naughty = require("naughty") -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local atable = require("awful.util").table local assert = assert local pairs = pairs diff --git a/widget/alsa.lua b/widget/alsa.lua index 202dc981..b88fec7a 100644 --- a/widget/alsa.lua +++ b/widget/alsa.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local shell = require("awful.util").shell local wibox = require("wibox") local string = string diff --git a/widget/alsabar.lua b/widget/alsabar.lua index 8e8cd3a8..2db3369d 100644 --- a/widget/alsabar.lua +++ b/widget/alsabar.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local awful = require("awful") local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/bat.lua b/widget/bat.lua index 260f4b99..5a2a40b8 100644 --- a/widget/bat.lua +++ b/widget/bat.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local fs = require("gears.filesystem") local naughty = require("naughty") local wibox = require("wibox") @@ -22,7 +22,7 @@ local function factory(args) local pspath = args.pspath or "/sys/class/power_supply/" if not fs.is_dir(pspath) then - naughty.notify { text = "lain.widget.bat: invalid power supply path", timeout = 0 } + naughty.notify { text = tostring(...):match(".*lain") .. ".widget.bat: invalid power supply path", timeout = 0 } return end diff --git a/widget/cal.lua b/widget/cal.lua index 75436848..ba3f7b8b 100644 --- a/widget/cal.lua +++ b/widget/cal.lua @@ -5,8 +5,8 @@ --]] -local helpers = require("lain.helpers") -local markup = require("lain.util.markup") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local markup = require(tostring(...):match(".*lain") .. ".util.markup") local awful = require("awful") local naughty = require("naughty") local floor = math.floor diff --git a/widget/contrib/init.lua b/widget/contrib/init.lua index 9e863a52..4338690d 100644 --- a/widget/contrib/init.lua +++ b/widget/contrib/init.lua @@ -10,9 +10,9 @@ --]] -local wrequire = require("lain.helpers").wrequire +local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire local setmetatable = setmetatable -local widget = { _NAME = "lain.widget.contrib" } +local widget = { _NAME = tostring(...):match(".*lain") .. ".widget.contrib" } return setmetatable(widget, { __index = wrequire }) diff --git a/widget/contrib/moc.lua b/widget/contrib/moc.lua index ad6452e2..2b9a78a0 100644 --- a/widget/contrib/moc.lua +++ b/widget/contrib/moc.lua @@ -5,7 +5,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local shell = require("awful.util").shell local focused = require("awful.screen").focused local escape_f = require("awful.util").escape diff --git a/widget/contrib/redshift.lua b/widget/contrib/redshift.lua index d91d941d..eff9152b 100644 --- a/widget/contrib/redshift.lua +++ b/widget/contrib/redshift.lua @@ -6,7 +6,7 @@ --]] -local async = require("lain.helpers").async +local async = require(tostring(...):match(".*lain") .. ".helpers").async local awful = require("awful") local execute = os.execute local type = type diff --git a/widget/contrib/task.lua b/widget/contrib/task.lua index 23119969..a14e7df2 100644 --- a/widget/contrib/task.lua +++ b/widget/contrib/task.lua @@ -5,8 +5,8 @@ --]] -local helpers = require("lain.helpers") -local markup = require("lain.util").markup +local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local markup = require(tostring(...):match(".*lain") .. ".util").markup local awful = require("awful") local naughty = require("naughty") local mouse = mouse diff --git a/widget/contrib/tp_smapi.lua b/widget/contrib/tp_smapi.lua index 87c5e510..cd1faea0 100644 --- a/widget/contrib/tp_smapi.lua +++ b/widget/contrib/tp_smapi.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local focused = require("awful.screen").focused local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/cpu.lua b/widget/cpu.lua index 6c511158..929b84bf 100644 --- a/widget/cpu.lua +++ b/widget/cpu.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local wibox = require("wibox") local math = math local string = string diff --git a/widget/fs.lua b/widget/fs.lua index b3a2dada..160cc4a2 100644 --- a/widget/fs.lua +++ b/widget/fs.lua @@ -7,7 +7,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local Gio = require("lgi").Gio local focused = require("awful.screen").focused local wibox = require("wibox") diff --git a/widget/imap.lua b/widget/imap.lua index e3f7baaa..f1621785 100644 --- a/widget/imap.lua +++ b/widget/imap.lua @@ -5,7 +5,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local naughty = require("naughty") local wibox = require("wibox") local awful = require("awful") diff --git a/widget/init.lua b/widget/init.lua index 57b86bb9..cc62e681 100644 --- a/widget/init.lua +++ b/widget/init.lua @@ -11,9 +11,9 @@ --]] -local wrequire = require("lain.helpers").wrequire +local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire local setmetatable = setmetatable -local widget = { _NAME = "lain.widget" } +local widget = { _NAME = tostring(...):match(".*lain") .. ".widget" } return setmetatable(widget, { __index = wrequire }) diff --git a/widget/mem.lua b/widget/mem.lua index 03184941..5851eaf6 100644 --- a/widget/mem.lua +++ b/widget/mem.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local wibox = require("wibox") local gmatch, lines, floor = string.gmatch, io.lines, math.floor diff --git a/widget/mpd.lua b/widget/mpd.lua index 55d3649b..3a39edd5 100644 --- a/widget/mpd.lua +++ b/widget/mpd.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local shell = require("awful.util").shell local escape_f = require("awful.util").escape local focused = require("awful.screen").focused diff --git a/widget/net.lua b/widget/net.lua index 9b7b165f..66a7d73a 100644 --- a/widget/net.lua +++ b/widget/net.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local naughty = require("naughty") local wibox = require("wibox") local string = string diff --git a/widget/pulse.lua b/widget/pulse.lua index 69f4d706..167641b9 100644 --- a/widget/pulse.lua +++ b/widget/pulse.lua @@ -5,7 +5,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local shell = require("awful.util").shell local wibox = require("wibox") local string = string diff --git a/widget/pulsebar.lua b/widget/pulsebar.lua index 19e73b96..955f1939 100644 --- a/widget/pulsebar.lua +++ b/widget/pulsebar.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local awful = require("awful") local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/sysload.lua b/widget/sysload.lua index 72605249..aaa101fd 100644 --- a/widget/sysload.lua +++ b/widget/sysload.lua @@ -6,7 +6,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local wibox = require("wibox") local open, match = io.open, string.match diff --git a/widget/temp.lua b/widget/temp.lua index bafdcdce..f6369949 100644 --- a/widget/temp.lua +++ b/widget/temp.lua @@ -5,7 +5,7 @@ --]] -local helpers = require("lain.helpers") +local helpers = require(tostring(...):match(".*lain") .. ".helpers") local wibox = require("wibox") local tonumber = tonumber diff --git a/widget/weather.lua b/widget/weather.lua index c683d42b..713ea45a 100644 --- a/widget/weather.lua +++ b/widget/weather.lua @@ -5,8 +5,8 @@ --]] -local helpers = require("lain.helpers") -local json = require("lain.util").dkjson +local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local json = require(tostring(...):match(".*lain") .. ".util").dkjson local focused = require("awful.screen").focused local naughty = require("naughty") local wibox = require("wibox") From 8d4c137fdefc8f088c6346aab849ef55106d275e Mon Sep 17 00:00:00 2001 From: Trial97 Date: Fri, 25 Mar 2022 20:34:24 +0200 Subject: [PATCH 2/4] Reverted battery change --- widget/bat.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/widget/bat.lua b/widget/bat.lua index 5a2a40b8..ba2f3123 100644 --- a/widget/bat.lua +++ b/widget/bat.lua @@ -1,8 +1,8 @@ --[[ - Licensed under GNU General Public License v2 - * (c) 2013, Luca CPZ - * (c) 2010-2012, Peter Hofmann + Licensed under GNU General Public License v2 + * (c) 2013, Luca CPZ + * (c) 2010-2012, Peter Hofmann --]] @@ -22,7 +22,7 @@ local function factory(args) local pspath = args.pspath or "/sys/class/power_supply/" if not fs.is_dir(pspath) then - naughty.notify { text = tostring(...):match(".*lain") .. ".widget.bat: invalid power supply path", timeout = 0 } + naughty.notify { text = "lain.widget.bat: invalid power supply path", timeout = 0 } return end From 8792d0de6876f8ae689ed28ff9852367013adccd Mon Sep 17 00:00:00 2001 From: Trial97 Date: Tue, 5 Sep 2023 23:29:10 +0300 Subject: [PATCH 3/4] Added first set of tests and fixed the requires again Signed-off-by: Trial97 --- .busted | 5 ++ .github/workflows/main.yml | 8 +++ init.lua | 11 ++- layout/init.lua | 9 ++- spec/data/lines_from.txt | 4 ++ spec/helpers_spec.lua | 138 ++++++++++++++++++++++++++++++++++++ spec/init_spec.lua | 17 +++++ util/init.lua | 9 ++- util/menu_iterator.lua | 7 +- widget/alsa.lua | 7 +- widget/alsabar.lua | 7 +- widget/bat.lua | 7 +- widget/cal.lua | 9 ++- widget/contrib/init.lua | 9 ++- widget/contrib/moc.lua | 7 +- widget/contrib/redshift.lua | 7 +- widget/contrib/task.lua | 9 ++- widget/contrib/tp_smapi.lua | 7 +- widget/cpu.lua | 7 +- widget/fs.lua | 7 +- widget/imap.lua | 7 +- widget/init.lua | 9 ++- widget/mem.lua | 7 +- widget/mpd.lua | 7 +- widget/net.lua | 7 +- widget/pulse.lua | 7 +- widget/pulsebar.lua | 7 +- widget/sysload.lua | 7 +- widget/temp.lua | 7 +- widget/weather.lua | 9 ++- 30 files changed, 331 insertions(+), 34 deletions(-) create mode 100644 .busted create mode 100644 spec/data/lines_from.txt create mode 100644 spec/helpers_spec.lua create mode 100644 spec/init_spec.lua diff --git a/.busted b/.busted new file mode 100644 index 00000000..133edb7e --- /dev/null +++ b/.busted @@ -0,0 +1,5 @@ +return { + default = { + verbose = true, + }, +} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3193e0b6..aa37578c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,3 +34,11 @@ jobs: else echo "Rockspec unchanged, nothing to do" fi + + unit_tests: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Run Busted + uses: lunarmodules/busted@v0 diff --git a/init.lua b/init.lua index a5372f1c..79896748 100644 --- a/init.lua +++ b/init.lua @@ -8,8 +8,13 @@ --]] +local requirePrefix= tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix=requirePrefix.."." +end + return { - layout = require(tostring(...):match(".*lain") .. ".layout"), - util = require(tostring(...):match(".*lain") .. ".util"), - widget = require(tostring(...):match(".*lain") .. ".widget") + layout = require(requirePrefix .. "layout"), + util = require(requirePrefix .. "util"), + widget = require(requirePrefix .. "widget") } diff --git a/layout/init.lua b/layout/init.lua index 99e1efb8..5bd4c2d2 100644 --- a/layout/init.lua +++ b/layout/init.lua @@ -11,9 +11,14 @@ --]] -local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local wrequire = require(requirePrefix .. "helpers").wrequire local setmetatable = setmetatable -local layout = { _NAME = tostring(...):match(".*lain") .. ".layout" } +local layout = { _NAME = requirePrefix .. "layout" } return setmetatable(layout, { __index = wrequire }) diff --git a/spec/data/lines_from.txt b/spec/data/lines_from.txt new file mode 100644 index 00000000..f87e9a83 --- /dev/null +++ b/spec/data/lines_from.txt @@ -0,0 +1,4 @@ +line1 +line2 +line3 +line4 \ No newline at end of file diff --git a/spec/helpers_spec.lua b/spec/helpers_spec.lua new file mode 100644 index 00000000..21833b05 --- /dev/null +++ b/spec/helpers_spec.lua @@ -0,0 +1,138 @@ +describe("Test helpers functions", function() + package.loaded["awful"] = {} + package.loaded["awful.spawn"] = { + easy_async=function (cmd,f) + f(cmd,0,0,1) + end, + easy_async_with_shell=function (cmd,f) + f(cmd,0,0,1) + end, + with_line_callback=function (cmd,f) + f.stdout(cmd) + end + + } + local timer ={ + start= function () end, + connect_signal= function (t,f) end, + emit_signal= function (t) end, + } + local timerMock=mock(timer,true) + package.loaded["gears.timer"] =function() return timerMock end + + + it("file_exists", function() + local helpers = require("helpers") + assert.is_true(helpers.file_exists("init.lua")) + assert.is_false(helpers.file_exists("init2.lua")) + end) + it("lines_from", function() + local result = { + "line1", + "line2", + "line3", + "line4", + } + local helpers = require("helpers") + assert.are.same(helpers.lines_from("spec/data/lines_from.txt"),result) + end) + it("lines_match", function() + local result = { + "line1", + "line3", + } + local helpers = require("helpers") + assert.are.same(helpers.lines_match("line[1,3]","spec/data/lines_from.txt"),result) + end) + it("first_line", function() + local helpers = require("helpers") + assert.are.same(helpers.first_line("spec/data/lines_from.txt"),"line1") + assert.are.equals(helpers.first_line("spec/data/no_file.txt"),nil) + end) + it("first_nonempty_line", function() + local helpers = require("helpers") + assert.are.same(helpers.first_nonempty_line("spec/data/lines_from.txt"),"line1") + end) + + + it("newtimer", function() + local helpers = require("helpers") + + assert.is_false(helpers.newtimer("name",10,"fun",false,false)) + assert.stub(timer.start).was.called_with(timerMock) + assert.stub(timer.connect_signal).was.called_with(timerMock,"timeout", "fun") + assert.stub(timer.emit_signal).was.called_with(timerMock,"timeout") + assert.are.equals(helpers.newtimer("name",10,"fun",true,true),timerMock) + end) + + it("async", function() + local helpers = require("helpers") + helpers.async("date",function (out,code) + assert.is.truthy(#out) + assert.is.truthy(code) + end) + end) + it("async_with_shell", function() + local helpers = require("helpers") + helpers.async_with_shell("date",function (out,code) + assert.is.truthy(#out) + assert.is.truthy(code) + end) + end) + it("line_callback", function() + local helpers = require("helpers") + helpers.line_callback("date",function (out) + assert.is.truthy(#out) + end) + end) + + it("map_table", function() + local helpers = require("helpers") + helpers.set_map("key","value") + assert.are.equals(helpers.get_map("key"),"value") + end) + + it("element_in_table", function() + local helpers = require("helpers") + local table={ + a=1, + b=2, + c=3, + } + assert.is_true(helpers.element_in_table(1,table)) + assert.is_false(helpers.element_in_table(5,table)) + end) + + it("spairs", function() + local helpers = require("helpers") + local table={ + a=1, + c=3, + b=2, + } + local f=helpers.spairs(table) + key,value=f() + assert.are.equals(key,"a") + assert.are.equals(value,1) + key,value=f() + assert.are.equals(key,"b") + assert.are.equals(value,2) + key,value=f() + assert.are.equals(key,"c") + assert.are.equals(value,3) + end) + + it("trivial_partition_set", function() + local helpers = require("helpers") + local table={"a","b","c"} + local result={{"a"}, {"b"}, {"c"}} + assert.are.same(helpers.trivial_partition_set(table),result) + end) + + it("powerset", function() + local helpers = require("helpers") + local table={"a","b","c"} + local result={{},{"a"}, {"b"},{"b","a"}, {"c"},{"c","a"},{"c","b"},{"c","b","a"}} + assert.are.same(helpers.powerset(table),result) + end) +end) diff --git a/spec/init_spec.lua b/spec/init_spec.lua new file mode 100644 index 00000000..8f8a334b --- /dev/null +++ b/spec/init_spec.lua @@ -0,0 +1,17 @@ +describe("Test the requires", function() + package.loaded["awful"] = {} + package.loaded["awful.spawn"] = {} + package.loaded["gears.timer"] = {} + it("init", function() + require("init") + end) + it("layout", function() + require("layout") + end) + it("util", function() + require("util") + end) + it("widget", function() + require("widget") + end) +end) diff --git a/util/init.lua b/util/init.lua index e2b7e810..da97f819 100644 --- a/util/init.lua +++ b/util/init.lua @@ -11,17 +11,22 @@ --]] +local requirePrefix= tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix=requirePrefix.."." +end + local awful = require("awful") local sqrt = math.sqrt local pairs = pairs local client = client local tonumber = tonumber -local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire +local wrequire = require(requirePrefix .. "helpers").wrequire local setmetatable = setmetatable -- Lain utilities submodule -- lain.util -local util = { _NAME = tostring(...):match(".*lain") .. ".util" } +local util = { _NAME = requirePrefix .. "util" } -- Like awful.menu.clients, but only show clients of currently selected tags function util.menu_clients_current_tags(menu, args) diff --git a/util/menu_iterator.lua b/util/menu_iterator.lua index 8f4c397c..fd20e862 100644 --- a/util/menu_iterator.lua +++ b/util/menu_iterator.lua @@ -10,8 +10,13 @@ -- Menu iterator with Naughty notifications -- lain.util.menu_iterator +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + local naughty = require("naughty") -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local helpers = require(requirePrefix .. "helpers") local atable = require("awful.util").table local assert = assert local pairs = pairs diff --git a/widget/alsa.lua b/widget/alsa.lua index b88fec7a..faf29d74 100644 --- a/widget/alsa.lua +++ b/widget/alsa.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local shell = require("awful.util").shell local wibox = require("wibox") local string = string diff --git a/widget/alsabar.lua b/widget/alsabar.lua index 2db3369d..999b5729 100644 --- a/widget/alsabar.lua +++ b/widget/alsabar.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local awful = require("awful") local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/bat.lua b/widget/bat.lua index ba2f3123..92a5dbf9 100644 --- a/widget/bat.lua +++ b/widget/bat.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local fs = require("gears.filesystem") local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/cal.lua b/widget/cal.lua index 7e337522..f4a40eda 100644 --- a/widget/cal.lua +++ b/widget/cal.lua @@ -5,8 +5,13 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") -local markup = require(tostring(...):match(".*lain") .. ".util.markup") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") +local markup = require(requirePrefix .. "util.markup") local awful = require("awful") local naughty = require("naughty") local floor = math.floor diff --git a/widget/contrib/init.lua b/widget/contrib/init.lua index 4338690d..1b308c97 100644 --- a/widget/contrib/init.lua +++ b/widget/contrib/init.lua @@ -10,9 +10,14 @@ --]] -local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local wrequire = require(requirePrefix .. "helpers").wrequire local setmetatable = setmetatable -local widget = { _NAME = tostring(...):match(".*lain") .. ".widget.contrib" } +local widget = { _NAME = requirePrefix .. "widget.contrib" } return setmetatable(widget, { __index = wrequire }) diff --git a/widget/contrib/moc.lua b/widget/contrib/moc.lua index 2b9a78a0..2d7939db 100644 --- a/widget/contrib/moc.lua +++ b/widget/contrib/moc.lua @@ -5,7 +5,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local shell = require("awful.util").shell local focused = require("awful.screen").focused local escape_f = require("awful.util").escape diff --git a/widget/contrib/redshift.lua b/widget/contrib/redshift.lua index eff9152b..c27e92e4 100644 --- a/widget/contrib/redshift.lua +++ b/widget/contrib/redshift.lua @@ -6,7 +6,12 @@ --]] -local async = require(tostring(...):match(".*lain") .. ".helpers").async +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local async = require(requirePrefix .. ".helpers").async local awful = require("awful") local execute = os.execute local type = type diff --git a/widget/contrib/task.lua b/widget/contrib/task.lua index a14e7df2..51ac5bde 100644 --- a/widget/contrib/task.lua +++ b/widget/contrib/task.lua @@ -5,8 +5,13 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") -local markup = require(tostring(...):match(".*lain") .. ".util").markup +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") +local markup = require(requirePrefix .. "util").markup local awful = require("awful") local naughty = require("naughty") local mouse = mouse diff --git a/widget/contrib/tp_smapi.lua b/widget/contrib/tp_smapi.lua index cd1faea0..c7a007e9 100644 --- a/widget/contrib/tp_smapi.lua +++ b/widget/contrib/tp_smapi.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local focused = require("awful.screen").focused local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/cpu.lua b/widget/cpu.lua index 929b84bf..5ba124dd 100644 --- a/widget/cpu.lua +++ b/widget/cpu.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local wibox = require("wibox") local math = math local string = string diff --git a/widget/fs.lua b/widget/fs.lua index 160cc4a2..1b9cb9db 100644 --- a/widget/fs.lua +++ b/widget/fs.lua @@ -7,7 +7,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local Gio = require("lgi").Gio local focused = require("awful.screen").focused local wibox = require("wibox") diff --git a/widget/imap.lua b/widget/imap.lua index f1621785..00bb7d53 100644 --- a/widget/imap.lua +++ b/widget/imap.lua @@ -5,7 +5,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local naughty = require("naughty") local wibox = require("wibox") local awful = require("awful") diff --git a/widget/init.lua b/widget/init.lua index cc62e681..065d81c2 100644 --- a/widget/init.lua +++ b/widget/init.lua @@ -11,9 +11,14 @@ --]] -local wrequire = require(tostring(...):match(".*lain") .. ".helpers").wrequire +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local wrequire = require(requirePrefix .. "helpers").wrequire local setmetatable = setmetatable -local widget = { _NAME = tostring(...):match(".*lain") .. ".widget" } +local widget = { _NAME = requirePrefix .. "widget" } return setmetatable(widget, { __index = wrequire }) diff --git a/widget/mem.lua b/widget/mem.lua index 5851eaf6..3ba16c66 100644 --- a/widget/mem.lua +++ b/widget/mem.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local wibox = require("wibox") local gmatch, lines, floor = string.gmatch, io.lines, math.floor diff --git a/widget/mpd.lua b/widget/mpd.lua index 3a39edd5..9bb59c57 100644 --- a/widget/mpd.lua +++ b/widget/mpd.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local shell = require("awful.util").shell local escape_f = require("awful.util").escape local focused = require("awful.screen").focused diff --git a/widget/net.lua b/widget/net.lua index 66a7d73a..a3723c33 100644 --- a/widget/net.lua +++ b/widget/net.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local naughty = require("naughty") local wibox = require("wibox") local string = string diff --git a/widget/pulse.lua b/widget/pulse.lua index 167641b9..e8bb0fcd 100644 --- a/widget/pulse.lua +++ b/widget/pulse.lua @@ -5,7 +5,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local shell = require("awful.util").shell local wibox = require("wibox") local string = string diff --git a/widget/pulsebar.lua b/widget/pulsebar.lua index 955f1939..8a63d22d 100644 --- a/widget/pulsebar.lua +++ b/widget/pulsebar.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local awful = require("awful") local naughty = require("naughty") local wibox = require("wibox") diff --git a/widget/sysload.lua b/widget/sysload.lua index aaa101fd..be1e1b53 100644 --- a/widget/sysload.lua +++ b/widget/sysload.lua @@ -6,7 +6,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local wibox = require("wibox") local open, match = io.open, string.match diff --git a/widget/temp.lua b/widget/temp.lua index d478bd4a..37421e72 100644 --- a/widget/temp.lua +++ b/widget/temp.lua @@ -5,7 +5,12 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") local wibox = require("wibox") local tonumber = tonumber diff --git a/widget/weather.lua b/widget/weather.lua index 9626afb3..1d958350 100644 --- a/widget/weather.lua +++ b/widget/weather.lua @@ -5,8 +5,13 @@ --]] -local helpers = require(tostring(...):match(".*lain") .. ".helpers") -local json = require(tostring(...):match(".*lain") .. ".util").dkjson +local requirePrefix = tostring(...):match(".*lain") or "" +if requirePrefix then + requirePrefix = requirePrefix .. "." +end + +local helpers = require(requirePrefix .. "helpers") +local json = require(requirePrefix .. "util").dkjson local focused = require("awful.screen").focused local naughty = require("naughty") local wibox = require("wibox") From 0e7ac2f448227d846ef12b36c2566d3091804979 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Tue, 5 Sep 2023 23:39:53 +0300 Subject: [PATCH 4/4] updated workflow Signed-off-by: Trial97 --- .github/workflows/main.yml | 2 +- spec/helpers_spec.lua | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aa37578c..5d2aa09e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -41,4 +41,4 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Run Busted - uses: lunarmodules/busted@v0 + uses: lunarmodules/busted@v2.1.0 diff --git a/spec/helpers_spec.lua b/spec/helpers_spec.lua index 21833b05..4d55c332 100644 --- a/spec/helpers_spec.lua +++ b/spec/helpers_spec.lua @@ -14,11 +14,11 @@ describe("Test helpers functions", function() } local timer ={ start= function () end, - connect_signal= function (t,f) end, - emit_signal= function (t) end, + connect_signal= function () end, + emit_signal= function () end, } local timerMock=mock(timer,true) - package.loaded["gears.timer"] =function() return timerMock end + package.loaded["gears.timer"] =function() return timerMock end it("file_exists", function()