diff options
| author | William Boman <william@redwill.se> | 2023-07-21 18:13:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-21 18:13:49 +0200 |
| commit | 05795741895ee16062eabeb0d89bff7cbcd693fa (patch) | |
| tree | f3f0fc541b7a97197f8371801c9ec4df1dd6723a /tests | |
| parent | chore(main): release 1.6.0 (#1392) (diff) | |
| download | mason-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.lua | 22 | ||||
| -rw-r--r-- | tests/mason-core/installer/registry/providers/github/release_spec.lua | 12 |
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) |
