option-parser.spec.ts 672 B

1234567891011121314151617181920212223242526
  1. import { OptionParser } from './option-parser';
  2. describe('option-parser', () => {
  3. test.concurrent.each`
  4. arg
  5. ${'aaa'}
  6. ${'5++2'}
  7. ${'5:+2'}
  8. `('.parseRange(\'$arg\') returns null', ({ arg }) => {
  9. expect(OptionParser.parseRange(arg)).toBeNull();
  10. });
  11. test.concurrent.each`
  12. arg | start | end
  13. ${'1'} | ${1} | ${1}
  14. ${'2:1'} | ${2} | ${1}
  15. ${'2:'} | ${2} | ${-1}
  16. ${'10:-3'} | ${10} | ${-3}
  17. ${'5+2'} | ${5} | ${7}
  18. ${'5+'} | ${5} | ${5}
  19. `('.parseRange(\'$arg\') returns { start: $start, end : $end }', ({ arg, start, end }) => {
  20. expect(OptionParser.parseRange(arg)).toEqual({ start, end });
  21. });
  22. });