From a01d02ad7f680aec98a1e2ec35b04cedd307cfa8 Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 12 Mar 2023 08:21:15 +0100 Subject: feat: add github registry source capabilities (#1091) --- tests/helpers/lua/dummy-registry/dummy2_package.lua | 14 ++++++++++++++ tests/helpers/lua/dummy-registry/dummy_package.lua | 14 ++++++++++++++ tests/helpers/lua/dummy-registry/index.lua | 5 +++++ tests/helpers/lua/dummy-registry/registry_package.lua | 14 ++++++++++++++ tests/helpers/lua/dummy2_package.lua | 14 -------------- tests/helpers/lua/dummy_package.lua | 14 -------------- tests/helpers/lua/test_helpers.lua | 17 +++++++++++++++++ 7 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 tests/helpers/lua/dummy-registry/dummy2_package.lua create mode 100644 tests/helpers/lua/dummy-registry/dummy_package.lua create mode 100644 tests/helpers/lua/dummy-registry/index.lua create mode 100644 tests/helpers/lua/dummy-registry/registry_package.lua delete mode 100644 tests/helpers/lua/dummy2_package.lua delete mode 100644 tests/helpers/lua/dummy_package.lua (limited to 'tests/helpers/lua') diff --git a/tests/helpers/lua/dummy-registry/dummy2_package.lua b/tests/helpers/lua/dummy-registry/dummy2_package.lua new file mode 100644 index 00000000..424e47d7 --- /dev/null +++ b/tests/helpers/lua/dummy-registry/dummy2_package.lua @@ -0,0 +1,14 @@ +local Pkg = require "mason-core.package" + +return Pkg.new { + name = "dummy2", + desc = [[This is a dummy2 package.]], + categories = { Pkg.Cat.LSP }, + languages = { Pkg.Lang.Dummy2Lang }, + homepage = "https://example.com", + ---@async + ---@param ctx InstallContext + install = function(ctx) + ctx.receipt:with_primary_source { type = "dummy2" } + end, +} diff --git a/tests/helpers/lua/dummy-registry/dummy_package.lua b/tests/helpers/lua/dummy-registry/dummy_package.lua new file mode 100644 index 00000000..b38d1cd8 --- /dev/null +++ b/tests/helpers/lua/dummy-registry/dummy_package.lua @@ -0,0 +1,14 @@ +local Pkg = require "mason-core.package" + +return Pkg.new { + name = "dummy", + desc = [[This is a dummy package.]], + categories = { Pkg.Cat.LSP }, + languages = { Pkg.Lang.DummyLang }, + homepage = "https://example.com", + ---@async + ---@param ctx InstallContext + install = function(ctx) + ctx.receipt:with_primary_source { type = "dummy" } + end, +} diff --git a/tests/helpers/lua/dummy-registry/index.lua b/tests/helpers/lua/dummy-registry/index.lua new file mode 100644 index 00000000..85fe000f --- /dev/null +++ b/tests/helpers/lua/dummy-registry/index.lua @@ -0,0 +1,5 @@ +return { + ["dummy"] = "dummy-registry.dummy_package", + ["dummy2"] = "dummy-registry.dummy2_package", + ["registry"] = "dummy-registry.registry_package", +} diff --git a/tests/helpers/lua/dummy-registry/registry_package.lua b/tests/helpers/lua/dummy-registry/registry_package.lua new file mode 100644 index 00000000..e72284a8 --- /dev/null +++ b/tests/helpers/lua/dummy-registry/registry_package.lua @@ -0,0 +1,14 @@ +local Pkg = require "mason-core.package" + +return Pkg.new { + schema = "registry+v1", + name = "registry", + description = [[This is a dummy package.]], + homepage = "https://example.com", + licenses = { "MIT" }, + languages = { "DummyLang" }, + categories = { "LSP" }, + source = { + id = "pkg:dummy/registry@1.0.0", + }, +} diff --git a/tests/helpers/lua/dummy2_package.lua b/tests/helpers/lua/dummy2_package.lua deleted file mode 100644 index 424e47d7..00000000 --- a/tests/helpers/lua/dummy2_package.lua +++ /dev/null @@ -1,14 +0,0 @@ -local Pkg = require "mason-core.package" - -return Pkg.new { - name = "dummy2", - desc = [[This is a dummy2 package.]], - categories = { Pkg.Cat.LSP }, - languages = { Pkg.Lang.Dummy2Lang }, - homepage = "https://example.com", - ---@async - ---@param ctx InstallContext - install = function(ctx) - ctx.receipt:with_primary_source { type = "dummy2" } - end, -} diff --git a/tests/helpers/lua/dummy_package.lua b/tests/helpers/lua/dummy_package.lua deleted file mode 100644 index b38d1cd8..00000000 --- a/tests/helpers/lua/dummy_package.lua +++ /dev/null @@ -1,14 +0,0 @@ -local Pkg = require "mason-core.package" - -return Pkg.new { - name = "dummy", - desc = [[This is a dummy package.]], - categories = { Pkg.Cat.LSP }, - languages = { Pkg.Lang.DummyLang }, - homepage = "https://example.com", - ---@async - ---@param ctx InstallContext - install = function(ctx) - ctx.receipt:with_primary_source { type = "dummy" } - end, -} diff --git a/tests/helpers/lua/test_helpers.lua b/tests/helpers/lua/test_helpers.lua index f11765d5..8a69ead8 100644 --- a/tests/helpers/lua/test_helpers.lua +++ b/tests/helpers/lua/test_helpers.lua @@ -2,7 +2,9 @@ local util = require "luassert.util" local spy = require "luassert.spy" +local path = require "mason-core.path" local a = require "mason-core.async" +local Result = require "mason-core.result" local InstallHandle = require "mason-core.installer.handle" local InstallContext = require "mason-core.installer.context" local registry = require "mason-registry" @@ -32,6 +34,21 @@ mockx = { end, } +---@param opts? PackageInstallOpts +function create_dummy_context(opts) + local ctx = InstallContextGenerator(InstallHandleGenerator "registry", opts) + ctx.cwd:set(path.package_build_prefix "registry") + ctx.spawn = setmetatable({}, { + __index = function(s, cmd) + s[cmd] = spy.new(function() + return Result.success { stdout = nil, stderr = nil } + end) + return s[cmd] + end, + }) + return ctx +end + -- selene: allow(unused_variable) ---@param package_name string function InstallHandleGenerator(package_name) -- cgit v1.2.3-70-g09d2