yx_generate_api_js/test/args.test.js

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'])
})