Spaces:
Running
Running
File size: 1,313 Bytes
5c2ed06 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/**
* Tests for the Help room auto-answerer.
* Written by Mia.
* @author mia-pi-git
*/
'use strict';
const assert = require('assert').strict;
const Responder = require('../../../dist/server/chat-plugins/responder').AutoResponder;
const room = Rooms.createChatRoom('etheria');
const Help = new Responder(room);
describe('Autoresponder', () => {
it('should only return true on added regexes', () => {
Help.data.pairs.catra = [];
Help.data.pairs.catra.push(Help.stringRegex(`Hey & Adora`));
assert(Help.test('Hey, Adora', 'catra'));
assert(!Help.test('Hello, Adora', 'catra'));
});
it('should produce valid regexes', () => {
const regexString = Help.stringRegex(`uwu & awa`);
assert.equal(regexString, "(?=.*?(uwu))(?=.*?(awa))");
const regex = new RegExp(regexString);
assert(regex.test('uwu awa'));
});
it('should handle |, &, and ! correctly', () => {
const and = new RegExp(Help.stringRegex(`Horde & Prime`));
assert(and.test('Horde Prime'));
assert(!and.test('Horde'));
const or = new RegExp(Help.stringRegex(`she-ra|sea-ra`));
assert(or.test('sea-ra'));
assert(or.test(`she-ra`));
assert(!or.test('ADVENTURE'));
const ignore = new RegExp(Help.stringRegex(`!Hordak`));
assert(ignore.test(`FOR THE HONOR OF GREYSKULL`));
assert(!ignore.test('Hordak'));
});
});
|