option-parser.test.js 803 B

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