46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
|
'use strict'
|
||
|
const TestRunner = require('test-runner')
|
||
|
const a = require('assert')
|
||
|
const commandLineArgs = require('../')
|
||
|
|
||
|
const runner = new TestRunner()
|
||
|
|
||
|
runner.test('stopAtFirstUnknown', function () {
|
||
|
const optionDefinitions = [
|
||
|
{ name: 'one', type: Boolean },
|
||
|
{ name: 'two', type: Boolean }
|
||
|
]
|
||
|
const argv = [ '--one', 'a', '--two' ]
|
||
|
const result = commandLineArgs(optionDefinitions, { argv, stopAtFirstUnknown: true, partial: true })
|
||
|
a.deepStrictEqual(result, {
|
||
|
one: true,
|
||
|
_unknown: [ 'a', '--two' ]
|
||
|
})
|
||
|
})
|
||
|
|
||
|
runner.test('stopAtFirstUnknown: with a singlular defaultOption', function () {
|
||
|
const optionDefinitions = [
|
||
|
{ name: 'one', defaultOption: true },
|
||
|
{ name: 'two' }
|
||
|
]
|
||
|
const argv = [ '--one', '1', '--', '--two', '2' ]
|
||
|
const result = commandLineArgs(optionDefinitions, { argv, stopAtFirstUnknown: true })
|
||
|
a.deepStrictEqual(result, {
|
||
|
one: '1',
|
||
|
_unknown: [ '--', '--two', '2' ]
|
||
|
})
|
||
|
})
|
||
|
|
||
|
runner.test('stopAtFirstUnknown: with a singlular defaultOption and partial', function () {
|
||
|
const optionDefinitions = [
|
||
|
{ name: 'one', defaultOption: true },
|
||
|
{ name: 'two' }
|
||
|
]
|
||
|
const argv = [ '--one', '1', '--', '--two', '2' ]
|
||
|
const result = commandLineArgs(optionDefinitions, { argv, stopAtFirstUnknown: true, partial: true })
|
||
|
a.deepStrictEqual(result, {
|
||
|
one: '1',
|
||
|
_unknown: [ '--', '--two', '2' ]
|
||
|
})
|
||
|
})
|