change approach again
This commit is contained in:
98
node_modules/command-line-args/test/class-output.js
generated
vendored
Normal file
98
node_modules/command-line-args/test/class-output.js
generated
vendored
Normal file
@ -0,0 +1,98 @@
|
||||
'use strict'
|
||||
const TestRunner = require('test-runner')
|
||||
const a = require('assert')
|
||||
const Output = require('../lib/output')
|
||||
const Definitions = require('../lib/definitions')
|
||||
|
||||
const runner = new TestRunner()
|
||||
|
||||
runner.test('output.setFlag(name): initial value', function () {
|
||||
let definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', type: Number }
|
||||
])
|
||||
let output = new Output(definitions)
|
||||
a.strictEqual(output.get('one'), undefined)
|
||||
output.setFlag('--one')
|
||||
a.strictEqual(output.get('one'), null)
|
||||
|
||||
definitions.load([
|
||||
{ name: 'one', type: Boolean }
|
||||
])
|
||||
output = new Output(definitions)
|
||||
a.strictEqual(output.get('one'), undefined)
|
||||
output.setFlag('--one')
|
||||
a.strictEqual(output.get('one'), true)
|
||||
})
|
||||
|
||||
runner.test('output.setOptionValue(name, value)', function () {
|
||||
const definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', type: Number, defaultValue: 1 }
|
||||
])
|
||||
const output = new Output(definitions)
|
||||
a.strictEqual(output.get('one'), 1)
|
||||
output.setOptionValue('--one', '2')
|
||||
a.strictEqual(output.get('one'), 2)
|
||||
})
|
||||
|
||||
runner.test('output.setOptionValue(name, value): multiple, defaultValue', function () {
|
||||
const definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', type: Number, multiple: true, defaultValue: [ 1 ] }
|
||||
])
|
||||
const output = new Output(definitions)
|
||||
a.deepStrictEqual(output.get('one'), [ 1 ])
|
||||
output.setOptionValue('--one', '2')
|
||||
a.deepStrictEqual(output.get('one'), [ 2 ])
|
||||
})
|
||||
|
||||
runner.test('output.setOptionValue(name, value): multiple 2', function () {
|
||||
const definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', type: Number, multiple: true }
|
||||
])
|
||||
const output = new Output(definitions)
|
||||
a.deepStrictEqual(output.get('one'), undefined)
|
||||
output.setOptionValue('--one', '2')
|
||||
a.deepStrictEqual(output.get('one'), [ 2 ])
|
||||
output.setOptionValue('--one', '3')
|
||||
a.deepStrictEqual(output.get('one'), [ 2, 3 ])
|
||||
})
|
||||
|
||||
runner.test('output.setValue(value): no defaultOption', function () {
|
||||
const definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', type: Number }
|
||||
])
|
||||
const output = new Output(definitions)
|
||||
a.deepStrictEqual(output.get('one'), undefined)
|
||||
output.setValue('2')
|
||||
a.deepStrictEqual(output.get('one'), undefined)
|
||||
a.deepStrictEqual(output.unknown, [ '2' ])
|
||||
})
|
||||
|
||||
runner.test('output.setValue(value): with defaultOption', function () {
|
||||
const definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', type: Number, defaultOption: true }
|
||||
])
|
||||
const output = new Output(definitions)
|
||||
a.deepStrictEqual(output.get('one'), undefined)
|
||||
output.setValue('2')
|
||||
a.deepStrictEqual(output.get('one'), 2)
|
||||
a.deepStrictEqual(output.unknown, [])
|
||||
})
|
||||
|
||||
runner.test('output.setValue(value): multiple', function () {
|
||||
const definitions = new Definitions()
|
||||
definitions.load([
|
||||
{ name: 'one', multiple: true, defaultOption: true }
|
||||
])
|
||||
const output = new Output(definitions)
|
||||
a.deepStrictEqual(output.get('one'), undefined)
|
||||
output.setValue('1')
|
||||
a.deepStrictEqual(output.get('one'), [ '1' ])
|
||||
output.setValue('2')
|
||||
a.deepStrictEqual(output.get('one'), [ '1', '2' ])
|
||||
})
|
Reference in New Issue
Block a user