25 lines
804 B
JavaScript
25 lines
804 B
JavaScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import { getFlagValue, getFlagValues, parseCliArgs } from '../src/core/args.js'
|
|
|
|
test('parseCliArgs supports --key value syntax and boolean negation', () => {
|
|
const parsed = parseCliArgs([
|
|
'--config',
|
|
'./yx-generate-api.config.mjs',
|
|
'--modules',
|
|
'Curriculum,Ranking',
|
|
'--clean',
|
|
'--no-snapshot',
|
|
'EnglishWord',
|
|
'--',
|
|
'--literal',
|
|
])
|
|
|
|
assert.equal(getFlagValue(parsed.flags, 'config'), './yx-generate-api.config.mjs')
|
|
assert.deepEqual(getFlagValues(parsed.flags, 'modules'), ['Curriculum,Ranking'])
|
|
assert.equal(getFlagValue(parsed.flags, 'clean'), true)
|
|
assert.equal(getFlagValue(parsed.flags, 'snapshot'), false)
|
|
assert.deepEqual(parsed.positionals, ['EnglishWord', '--literal'])
|
|
})
|