args-parser.test.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { ArgsParser } from '~/plugin/util/args-parser';
  2. describe('args-parser', () => {
  3. test('.parse(null) returns default object', () => {
  4. const result = ArgsParser.parse(null);
  5. expect(result.firstArgsKey).toBeNull();
  6. expect(result.firstArgsValue).toBeNull();
  7. expect(result.options).toEqual({});
  8. });
  9. test('.parse(\'prefix=/Level1\') returns a valid results', () => {
  10. const result = ArgsParser.parse('prefix=/Level1');
  11. expect(result.firstArgsKey).toBe('prefix');
  12. expect(result.firstArgsValue).toBe('/Level1');
  13. });
  14. test('.parse(\'key, opt1=1, opt2=2\') returns a valid results', () => {
  15. const result = ArgsParser.parse('key, opt1=1, opt2=2');
  16. expect(result.firstArgsKey).toBe('key');
  17. expect(result.firstArgsValue).toBeTruthy();
  18. expect(Object.keys(result.options).length).toBe(3);
  19. expect(result.options.key).toBeTruthy();
  20. expect(result.options.opt1).toBe('1');
  21. expect(result.options.opt2).toBe('2');
  22. });
  23. test('.parse(\'key, \') returns a valid results', () => {
  24. const result = ArgsParser.parse('key, ');
  25. expect(result.firstArgsKey).toBe('key');
  26. expect(result.firstArgsValue).toBeTruthy();
  27. expect(Object.keys(result.options).length).toBe(1);
  28. expect(result.options.key).toBeTruthy();
  29. });
  30. });