UNPKG

1 kBJavaScriptView Raw
1const test = require('ava')
2const { parseRawFlags, aggressiveJSONParse } = require('./parse-raw-flags')
3
4test.serial('JSONTruthy works with various inputs', async t => {
5 const testPairs = [
6 {
7 input: 'true',
8 wanted: true
9 },
10 {
11 input: 'false',
12 wanted: false
13 },
14 {
15 input: JSON.stringify({ foo: 'bar' }),
16 wanted: { foo: 'bar' }
17 },
18 {
19 input: 'Hello-world 1234',
20 wanted: 'Hello-world 1234'
21 }
22 ]
23
24 testPairs.forEach(pair => {
25 t.deepEqual(aggressiveJSONParse(pair.input), pair.wanted)
26 })
27})
28
29test.serial('parseRawFlags works', async t => {
30 const input = [
31 { type: 'arg', input: 'FAUNA' },
32 { type: 'arg', input: 'FOO' },
33 { type: 'arg', input: 'BAR' },
34 { type: 'arg', input: '--hey' },
35 { type: 'arg', input: 'hi' },
36 { type: 'arg', input: '--heep' }
37 ]
38
39 const expected = { hey: 'hi', heep: true }
40
41 t.deepEqual(parseRawFlags(input), expected, 'parse raw flag parses flags in an expected way')
42})