diff options
| author | William Boman <william@redwill.se> | 2023-04-04 22:02:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-04 20:02:55 +0000 |
| commit | c625abf171dfaad790f5703465a93a94334e5049 (patch) | |
| tree | 46d9a2825954c29fb190ac69b8b7d21981074624 /tests/mason-core | |
| parent | test(async): add tests for control mechanisms (#1176) (diff) | |
| download | mason-c625abf171dfaad790f5703465a93a94334e5049.tar mason-c625abf171dfaad790f5703465a93a94334e5049.tar.gz mason-c625abf171dfaad790f5703465a93a94334e5049.tar.bz2 mason-c625abf171dfaad790f5703465a93a94334e5049.tar.lz mason-c625abf171dfaad790f5703465a93a94334e5049.tar.xz mason-c625abf171dfaad790f5703465a93a94334e5049.tar.zst mason-c625abf171dfaad790f5703465a93a94334e5049.zip | |
fix(npm): set install-strategy on npm >= 9 (#1179)
Closes #1175.
Diffstat (limited to 'tests/mason-core')
| -rw-r--r-- | tests/mason-core/installer/managers/npm_spec.lua | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/mason-core/installer/managers/npm_spec.lua b/tests/mason-core/installer/managers/npm_spec.lua index 1555b37d..4f81132b 100644 --- a/tests/mason-core/installer/managers/npm_spec.lua +++ b/tests/mason-core/installer/managers/npm_spec.lua @@ -1,12 +1,19 @@ +local Result = require "mason-core.result" local installer = require "mason-core.installer" local match = require "luassert.match" local npm = require "mason-core.installer.managers.npm" +local spawn = require "mason-core.spawn" local stub = require "luassert.stub" describe("npm manager", function() it("should init package.json", function() local ctx = create_dummy_context() stub(ctx.fs, "append_file") + stub(spawn, "npm") + spawn.npm.returns(Result.success {}) + spawn.npm.on_call_with({ "version", "--json" }).returns(Result.success { + stdout = [[ { "npm": "8.1.0" } ]], + }) installer.exec_in_context(ctx, function() npm.init() end) @@ -18,7 +25,28 @@ describe("npm manager", function() "--scope=mason", } assert.spy(ctx.fs.append_file).was_called(1) - assert.spy(ctx.fs.append_file).was_called_with(match.is_ref(ctx.fs), ".npmrc", "global-style=true") + assert.spy(ctx.fs.append_file).was_called_with(match.is_ref(ctx.fs), ".npmrc", "\nglobal-style=true") + end) + + it("should use install-strategy on npm >= 9", function() + local ctx = create_dummy_context() + stub(ctx.fs, "append_file") + stub(spawn, "npm") + spawn.npm.returns(Result.success {}) + spawn.npm.on_call_with({ "version", "--json" }).returns(Result.success { + stdout = [[ { "npm": "9.1.0" } ]], + }) + installer.exec_in_context(ctx, function() + npm.init() + end) + + assert.spy(ctx.spawn.npm).was_called(1) + assert.spy(ctx.spawn.npm).was_called_with { + "init", + "--yes", + "--scope=mason", + } + assert.spy(ctx.fs.append_file).was_called_with(match.is_ref(ctx.fs), ".npmrc", "\ninstall-strategy=shallow") end) it("should install", function() |
