diff --git a/spec/npm/npmSpec.js b/spec/npm/npmSpec.js index 30bc55f..0fcd48d 100644 --- a/spec/npm/npmSpec.js +++ b/spec/npm/npmSpec.js @@ -1,5 +1,3 @@ -const fs = require('fs'); - describe('npm', function() { let testEnv; @@ -10,40 +8,34 @@ describe('npm', function() { it('should install and run simply named packages', async function() { const scriptSource = ` const uniqueCount = npm.dedupe([1, 2, 2, 3]).length; - here.file('output').make(true).content = uniqueCount; + process.stdout.write(String(uniqueCount)); `; - - await testEnv.runLemonScript(scriptSource); - - const outputPath = testEnv.nativePathFor('output'); - let value = parseInt(fs.readFileSync(outputPath)); - expect(value).toBe(3); + + let scriptOutput = await testEnv.runLemonScript(scriptSource); + + expect(scriptOutput).toBe('3'); }); it('should install and run scoped packages', async function() { const scriptSource = ` const stryker = new npm['@stryker-mutator/core'].Stryker({ concurrency: 4 }); - here.file('output').make(true).content = stryker.cliOptions.concurrency; + process.stdout.write(String(stryker.cliOptions.concurrency)); `; - - await testEnv.runLemonScript(scriptSource); - - const outputPath = testEnv.nativePathFor('output'); - let value = parseInt(fs.readFileSync(outputPath)); - expect(value).toBe(4); + + let scriptOutput = await testEnv.runLemonScript(scriptSource); + + expect(scriptOutput).toBe('4'); }); it('should recognize pinned versions for scoped packages', async function() { // The require header must be in column 0 of the script, thus the unusual formatting const scriptSource = `// tl:require: @octokit/core@3.2.4 - here.file('output').make(true).content = npm['@octokit/core'].Octokit.VERSION; + process.stdout.write(String(npm['@octokit/core'].Octokit.VERSION)); `; - - await testEnv.runLemonScript(scriptSource); - - const outputPath = testEnv.nativePathFor('output'); - let value = fs.readFileSync(outputPath).toString(); - expect(value).toBe('3.2.4'); + + let scriptOutput = await testEnv.runLemonScript(scriptSource); + + expect(scriptOutput).toBe('3.2.4'); }); it('should allow require-access to sub files', async function() { @@ -51,18 +43,17 @@ describe('npm', function() { const uuid_v1 = npm['uuid:v1']; const uuid_v4 = npm['uuid:v4']; - here.file('output.json').make(true).content = { + process.stdout.write(JSON.stringify({ v1: uuid_v1.toString(), v4: uuid_v4.toString() - }; + })); `; - - await testEnv.runLemonScript(scriptSource); - - const outputPath = testEnv.nativePathFor('output.json'); - let value = JSON.parse(fs.readFileSync(outputPath)); - expect(value.v1).toContain('function v1'); - expect(value.v4).toContain('function v4'); + + let scriptOutput = await testEnv.runLemonScript(scriptSource); + + let parsedScriptOutput = JSON.parse(scriptOutput); + expect(parsedScriptOutput.v1).toContain('function v1'); + expect(parsedScriptOutput.v4).toContain('function v4'); }); describe('(pre-0.3)', function() { @@ -72,18 +63,17 @@ describe('npm', function() { const uuid_v1 = npm['uuid/v1']; const uuid_v4 = npm['uuid/v4']; - here.file('output.json').make(true).content = { + process.stdout.write(JSON.stringify({ v1: uuid_v1.toString(), v4: uuid_v4.toString() - }; + })); `; - - await testEnv.runLemonScript(scriptSource, [], ['--no-pin']); - - const outputPath = testEnv.nativePathFor('output.json'); - let value = JSON.parse(fs.readFileSync(outputPath)); - expect(value.v1).toContain('function v1'); - expect(value.v4).toContain('function v4'); + + let scriptOutput = await testEnv.runLemonScript(scriptSource, [], ['--no-pin']); + + let parsedScriptOutput = JSON.parse(scriptOutput); + expect(parsedScriptOutput.v1).toContain('function v1'); + expect(parsedScriptOutput.v4).toContain('function v4'); }); }); });