Using Minimist

by Bret Lowrey

HTML

<script src="https://wzrd.in/standalone/minimist@latest"></script>
<script src="https://wzrd.in/standalone/expect@latest"></script>
<body>
Running Tests
</body>

JavaScript

const argTest = () => {	
  expect(minimist(['-a', 'arg1'])).toEqual({
  	_: [], 
  	a: 'arg1'
  });
  expect(minimist(['-a'])).toEqual({
  	_: [], 
  	a: true
  });
  expect(minimist(['-a', 'arg1', '-b'])).toEqual({
  	_: [], 
  	a: 'arg1',
    b: true
  });
};

const nonmatchingTest = () => {
  expect(minimist(['arg1', 'arg2', 'arg3'])).toEqual({
  	_: ['arg1', 'arg2', 'arg3']
  });
};

const aliasTest = () => {
  expect(minimist(['--output', 'arg1'],
  	{alias: {o: 'output'}})).toEqual({
  	_: [],
    o: 'arg1',
    output: 'arg1'
  });
};

const defaultTest = () => {
  expect(minimist([], {default: {a: 'arg1'}})).toEqual({
  	_: [], 
  	a: 'arg1'
  });
};

[argTest, nonmatchingTest, defaultTest, aliasTest].forEach(test => test());
document.body.innerHTML = 'All tests passed';