Skip to content

Commit

Permalink
add tests to improve parameter parsing for commands with special char…
Browse files Browse the repository at this point in the history
…acters
  • Loading branch information
xdzaster committed Jan 7, 2025
1 parent a983e17 commit 33b848a
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/classes/__tests__/CommandParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,17 @@ it('can parse item id commands', () => {
const params = CommandParser.parseParams(CommandParser.removeCommand(message));
expect(params).toEqual({ id: 10151297782, intent: 'sell', sell: { keys: 1 } });
});

it('can parse values with &', () => {
let message = '!changeName name=Buying spells & hats&i_am_sure=i_am_sure';
let params = CommandParser.parseParams(CommandParser.removeCommand(message));
expect(params).toEqual({ name: 'Buying spells & hats', i_am_sure: 'i_am_sure' });

message = `!test key1=value1&key2=value2&&key3=3`;
params = CommandParser.parseParams(CommandParser.removeCommand(message));
expect(params).toEqual({ key1: 'value1', key2: 'value2&', key3: 3 });

message = `!test key1=value1&key2=&value2&&key3=[value3]`;
params = CommandParser.parseParams(CommandParser.removeCommand(message));
expect(params).toEqual({ key1: 'value1', key2: '&value2&', key3: ['value3'] });
});

0 comments on commit 33b848a

Please sign in to comment.