aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-07-21 18:13:49 +0200
committerGitHub <noreply@github.com>2023-07-21 18:13:49 +0200
commit05795741895ee16062eabeb0d89bff7cbcd693fa (patch)
treef3f0fc541b7a97197f8371801c9ec4df1dd6723a /tests
parentchore(main): release 1.6.0 (#1392) (diff)
downloadmason-05795741895ee16062eabeb0d89bff7cbcd693fa.tar
mason-05795741895ee16062eabeb0d89bff7cbcd693fa.tar.gz
mason-05795741895ee16062eabeb0d89bff7cbcd693fa.tar.bz2
mason-05795741895ee16062eabeb0d89bff7cbcd693fa.tar.lz
mason-05795741895ee16062eabeb0d89bff7cbcd693fa.tar.xz
mason-05795741895ee16062eabeb0d89bff7cbcd693fa.tar.zst
mason-05795741895ee16062eabeb0d89bff7cbcd693fa.zip
fix(installer): retain unmapped source fields (#1399)
Fixes #1398.
Diffstat (limited to 'tests')
-rw-r--r--tests/mason-core/installer/registry/installer_spec.lua22
-rw-r--r--tests/mason-core/installer/registry/providers/github/release_spec.lua12
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/mason-core/installer/registry/installer_spec.lua b/tests/mason-core/installer/registry/installer_spec.lua
index 6ac25da9..51d9035e 100644
--- a/tests/mason-core/installer/registry/installer_spec.lua
+++ b/tests/mason-core/installer/registry/installer_spec.lua
@@ -56,11 +56,32 @@ describe("registry installer :: parsing", function()
version = "v1.2.3",
}, parsed.purl)
assert.same({
+ id = "pkg:dummy/package-name@v1.2.3",
package = "package-name",
extra_info = "here",
}, parsed.source)
end)
+ it("should keep unmapped fields", function()
+ installer.register_provider("dummy", dummy_provider)
+
+ local result = installer.parse({
+ schema = "registry+v1",
+ source = {
+ id = "pkg:dummy/package-name@v1.2.3",
+ bin = "node:server.js",
+ },
+ }, {})
+ local parsed = result:get_or_nil()
+
+ assert.is_true(result:is_success())
+ assert.same({
+ id = "pkg:dummy/package-name@v1.2.3",
+ package = "package-name",
+ bin = "node:server.js",
+ }, parsed.source)
+ end)
+
it("should reject incompatible schema versions", function()
installer.register_provider("dummy", dummy_provider)
@@ -277,6 +298,7 @@ describe("registry installer :: compiling", function()
name = "package-name",
version = "v1.2.3",
}, {
+ id = "pkg:dummy/package-name@v1.2.3",
package = "package-name",
})
end
diff --git a/tests/mason-core/installer/registry/providers/github/release_spec.lua b/tests/mason-core/installer/registry/providers/github/release_spec.lua
index 47ac47c8..909eb36f 100644
--- a/tests/mason-core/installer/registry/providers/github/release_spec.lua
+++ b/tests/mason-core/installer/registry/providers/github/release_spec.lua
@@ -225,6 +225,7 @@ describe("github provider :: release :: parsing", function()
assert.is_true(result:is_success())
assert.same({
+ id = "pkg:github/owner/repo@1.2.3",
asset = {
target = "darwin_x64",
file = "old-asset.tar.gz",
@@ -235,6 +236,17 @@ describe("github provider :: release :: parsing", function()
out_file = "old-asset.tar.gz",
},
},
+ version_overrides = {
+ {
+ constraint = "semver:<=1.0.0",
+ asset = {
+ {
+ target = "darwin_x64",
+ file = "old-asset.tar.gz",
+ },
+ },
+ },
+ },
repo = "owner/repo",
}, parsed.source)
end)