aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Harrison <adamdharrison@gmail.com>2023-01-17 19:39:58 -0500
committerAdam Harrison <adamdharrison@gmail.com>2023-01-17 19:39:58 -0500
commit8ab019fa37c0a4424ce26b444e0255d047cc1bb0 (patch)
tree74af6afbc4c6d49db9125c4baf86b9023f94bedf
parent91779e480164811a3123d6e1f409a54b83f54725 (diff)
downloadlite-xl-plugin-manager-8ab019fa37c0a4424ce26b444e0255d047cc1bb0.tar.gz
lite-xl-plugin-manager-8ab019fa37c0a4424ce26b444e0255d047cc1bb0.zip
Updated tests to include singleton plugins that are called init.lua and do not have a manifest.v0.9996
-rw-r--r--src/lpm.lua8
-rw-r--r--t/run.lua4
2 files changed, 7 insertions, 5 deletions
diff --git a/src/lpm.lua b/src/lpm.lua
index f81f69c..5572f98 100644
--- a/src/lpm.lua
+++ b/src/lpm.lua
@@ -586,7 +586,7 @@ function Addon.new(repository, metadata)
}, metadata), Addon)
self.type = type
-- Directory.
- self.organization = metadata.organization or (((self.files and #self.files > 0) or self.remote or (not self.path and not self.url) or (self.path and not self.path:find("%.lua$"))) and "complex" or "singleton")
+ self.organization = metadata.organization or (((self.files and #self.files > 0) or (not self.path and not self.url) or (self.path and not self.path:find("%.lua$"))) and "complex" or "singleton")
if not self.local_path and repository then
if metadata.remote then
local local_path = (Repository.url(metadata.remote).local_path .. (metadata.path and (PATHSEP .. metadata.path:gsub("^/", "")) or ""))
@@ -633,7 +633,7 @@ end
function Addon:get_install_path(bottle)
local folder = self.type == "color" and "colors" or (self.type == "library" and "libraries" or "plugins")
- local path = (((self:is_core(bottle) or self:is_bundled()) and bottle.lite_xl.datadir_path) or (bottle.local_path and (bottle.local_path .. PATHSEP .. "user") or USERDIR)) .. PATHSEP .. folder .. PATHSEP .. (self.path and common.basename(self.path):gsub("%.lua$", "") or self.id)
+ local path = (((self:is_core(bottle) or self:is_bundled()) and bottle.lite_xl.datadir_path) or (bottle.local_path and (bottle.local_path .. PATHSEP .. "user") or USERDIR)) .. PATHSEP .. folder .. PATHSEP .. self.id
if self.organization == "singleton" then path = path .. ".lua" end
return path
end
@@ -909,7 +909,7 @@ function Repository:generate_manifest(repo_id)
end
end
if folder == "plugins" or system.stat(path .. PATHSEP .. folder) then
- local addon_dir = system.stat(path .. PATHSEP .. folder) and PATHSEP .. folder .. PATHSEP or PATHSEP
+ local addon_dir = system.stat(path .. PATHSEP .. folder) and PATHSEP .. folder or ""
local files = folder == "plugins" and system.stat(path .. PATHSEP .. "init.lua") and { "init.lua" } or system.ls(path .. addon_dir)
for i, file in ipairs(files) do
if file:find("%.lua$") then
@@ -918,7 +918,7 @@ function Repository:generate_manifest(repo_id)
if name ~= "init" then
local type = folder == "colors" and "color" or (folder == "libraries" and "library" or "plugin")
local addon = { description = nil, id = name:lower():gsub("[^a-z0-9%-_]", ""), name = name, mod_version = 3, version = "0.1", path = addon_dir .. file, type = type }
- for line in io.lines(path .. addon_dir .. file) do
+ for line in io.lines(path .. addon_dir .. PATHSEP .. file) do
local _, _, mod_version = line:find("%-%-.*mod%-version:%s*(%w+)")
if mod_version then addon.mod_version = mod_version end
local _, _, required_addon = line:find("require [\"']plugins.([%w_]+)")
diff --git a/t/run.lua b/t/run.lua
index 7f85c14..0284b51 100644
--- a/t/run.lua
+++ b/t/run.lua
@@ -32,6 +32,8 @@ local tests = {
lpm("install bracketmatch")
plugins = lpm("list bracketmatch")["addons"]
assert(#plugins == 1)
+ lpm("install console")
+ assert_exists(userdir .. "/plugins/console.lua")
end,
["02_install_complex"] = function()
local plugins = lpm("list plugin_manager")["addons"]
@@ -47,7 +49,6 @@ local tests = {
assert_not_exists(userdir .. "/plugins/plugin_manager")
lpm("install editorconfig")
assert_exists(userdir .. "/plugins/editorconfig")
- assert_exists(userdir .. "/plugins/editorconfig/init.lua")
end,
["03_upgrade_complex"] = function()
local actions = lpm("install plugin_manager")
@@ -126,6 +127,7 @@ local function run_tests(tests, arg)
end
table.sort(names)
local max_name = 0
+ os.execute("rm -rf " .. tmpdir .. "/lpmtest && mkdir -p " .. tmpdir .. "/lpmtest");
for i,k in ipairs(names) do max_name = math.max(max_name, #k) end
for i,k in ipairs(names) do
local v = tests[k]