| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,5 @@ | |||
| 1 | + const { parseArgs } = require('util'); | ||
| 2 | + | ||
| 3 | + const parsedArgs = parseArgs({ strict: false }).values; | ||
| 4 | + | ||
| 5 | + process.stdout.write(JSON.stringify(parsedArgs)); | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,4 +1,5 @@ | |||
| 1 | 1 | import { spawnPromisified } from '../common/index.mjs'; | |
| 2 | + import { path } from '../common/fixtures.mjs'; | ||
| 2 | 3 | import assert from 'node:assert'; | |
| 3 | 4 | import { suite, test } from 'node:test'; | |
| 4 | 5 | import { parseArgs } from 'node:util'; | |
@@ -212,6 +213,8 @@ test('order of option and positional does not matter (per README)', () => { | |||
| 212 | 213 | }); | |
| 213 | 214 | ||
| 214 | 215 | suite('correct default args', () => { | |
| 216 | + const expected = { code: 0, signal: null, stderr: '', stdout: { foo: true, bar: true } }; | ||
| 217 | + | ||
| 215 | 218 | suite('with CLI flags', () => { | |
| 216 | 219 | const evalCode = "JSON.stringify(require('util').parseArgs({ strict: false }).values)"; | |
| 217 | 220 | const evalCodePrinted = `process.stdout.write(${evalCode})`; | |
@@ -225,33 +228,21 @@ suite('correct default args', () => { | |||
| 225 | 228 | '--print --eval <script>': ['--print', '--eval', evalCode], | |
| 226 | 229 | '--print --eval=<script>': ['--print', `--eval=${evalCode}`], | |
| 227 | 230 | }; | |
| 228 | - for (const description in execArgsTests) { | ||
| 229 | - const execArgs = execArgsTests[description]; | ||
| 231 | + for (const [description, execArgs] of Object.entries(execArgsTests)) { | ||
| 230 | 232 | test(description, async () => { | |
| 231 | 233 | const { code, signal, stderr, stdout } = await spawnPromisified( | |
| 232 | 234 | process.execPath, | |
| 233 | 235 | [...execArgs, '--', '--foo', '--bar']); | |
| 234 | - assert.deepStrictEqual({ | ||
| 235 | - code, | ||
| 236 | - signal, | ||
| 237 | - stderr, | ||
| 238 | - stdout: JSON.parse(stdout), | ||
| 239 | - }, { | ||
| 240 | - code: 0, | ||
| 241 | - signal: null, | ||
| 242 | - stderr: '', | ||
| 243 | - stdout: { foo: true, bar: true }, | ||
| 244 | - }); | ||
| 236 | + assert.deepStrictEqual({ code, signal, stderr, stdout: JSON.parse(stdout) }, expected); | ||
| 245 | 237 | }); | |
| 246 | 238 | } | |
| 247 | 239 | }); | |
| 248 | 240 | ||
| 249 | - test('without CLI flags', () => { | ||
| 250 | - const holdArgv = process.argv; | ||
| 251 | - process.argv = [process.argv0, 'script.js', '--foo', '--bar']; | ||
| 252 | - const { values } = parseArgs({ strict: false }); | ||
| 253 | - assert.deepStrictEqual(values, { __proto__: null, foo: true, bar: true }); | ||
| 254 | - process.argv = holdArgv; | ||
| 241 | + test('without CLI flags', async () => { | ||
| 242 | + const { code, signal, stderr, stdout } = await spawnPromisified( | ||
| 243 | + process.execPath, | ||
| 244 | + [path('parse-args.js'), '--foo', '--bar']); | ||
| 245 | + assert.deepStrictEqual({ code, signal, stderr, stdout: JSON.parse(stdout) }, expected); | ||
| 255 | 246 | }); | |
| 256 | 247 | }); | |
| 257 | 248 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments