accepts message with ""

This commit is contained in:
Mohammed Ashab Uddin
2020-08-03 10:54:48 +04:00
parent 758c284787
commit 3bb0dbd2a4
4 changed files with 45 additions and 2 deletions

View File

@@ -28,8 +28,10 @@ class Command{
}else if(this.requireInput){
//the command requires input
let splitCommand = this.command.split(' ');
let splitMsg = msg.split(' ');
let splitMsg = this._getInputMessage(message);
//check the number of words both has
//if not same then return false
@@ -95,6 +97,19 @@ class Command{
return input;
}
_getInputMessage(msg){
let split = msg.split(/['"]/g);
if(split.length > 1)
{
let splitMsg = split[0].trim().split(' ');
let inputs = split.slice(1).filter( el => el.trim() == "" ? null : el);
splitMsg = splitMsg.concat(inputs);
return splitMsg;
}
return msg.split(' ');
}
}
module.exports.Command = Command;

View File

@@ -238,4 +238,5 @@ module.exports= onMessage = async (message, client) => {
//export default onMessage;

View File

@@ -164,6 +164,33 @@ describe('Command', () => {
expect(a.getInput(message)['name']).to.equal('pikachu');
});
it('Test : _getInputMessage() with a sentence', () => {
let a = new Command({command : 'wg website desc <desc>'});
let b = a._getInputMessage(`wg website desc "Hello everynyan, how are you"`);
expect(b[0]).to.equal('wg');
expect(b[1]).to.equal('website');
expect(b[2]).to.equal('desc');
expect(b[3]).to.equal('Hello everynyan, how are you');
})
it('Test : _getInputMessage() with multiple sentence input', () => {
let a = new Command({command : 'wg website desc <desc>'});
let b = a._getInputMessage(`wg website desc "Hello everynyan, how are you" "I am fine thank you"`);
expect(b[0]).to.equal('wg');
expect(b[1]).to.equal('website');
expect(b[2]).to.equal('desc');
expect(b[3]).to.equal('Hello everynyan, how are you');
expect(b[4]).to.equal('I am fine thank you');
})
it('Test : _getInputMessage() with single word', () => {
let a = new Command({command : 'wg website desc <desc>'});
let b = a._getInputMessage(`wg website desc Hello`);
expect(b[0]).to.equal('wg');
expect(b[1]).to.equal('website');
expect(b[2]).to.equal('desc');
expect(b[3]).to.equal('Hello');
})
});

View File

@@ -76,7 +76,7 @@ describe('Entity', () => {
expect(a.selectedData).to.equals('gada');
});
it.only('Test: selectedData() = false', () => {
it('Test: selectedData() = false', () => {
let a = new Entity();
a.addData('hello world', new Website('hello world'));
a.addData('gada', new Website('gada'));