Fix mentions parser, add test
This commit is contained in:
parent
7b7dc334d8
commit
a309314e16
|
@ -0,0 +1,71 @@
|
|||
root = 'ROOT_PATH';
|
||||
const mentionsParser = requireUnit('lib-app/mentions-parser', {});
|
||||
|
||||
describe('MentionsParser library', function () {
|
||||
|
||||
it('should not parse text without mentions', function () {
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example without mentions'
|
||||
)).to.equal(
|
||||
'This is an example without mentions'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example without mentions <img src=\'/image.png\' /> abc <br/>',
|
||||
)).to.equal(
|
||||
'This is an example without mentions <img src=\'/image.png\' /> abc <br/>',
|
||||
);
|
||||
});
|
||||
|
||||
it('should parse ticket number mention', function () {
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with #123456'
|
||||
)).to.equal(
|
||||
'This is an example with <a href="ROOT_PATH/admin/panel/tickets/view-ticket/123456">#123456</a>'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with #487213 text'
|
||||
)).to.equal(
|
||||
'This is an example with <a href="ROOT_PATH/admin/panel/tickets/view-ticket/487213">#487213</a> text'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with #487213text'
|
||||
)).to.equal(
|
||||
'This is an example with <a href="ROOT_PATH/admin/panel/tickets/view-ticket/487213">#487213</a>text'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with 4848#777777text'
|
||||
)).to.equal(
|
||||
'This is an example with 4848<a href="ROOT_PATH/admin/panel/tickets/view-ticket/777777">#777777</a>text'
|
||||
);
|
||||
});
|
||||
|
||||
it('should not parse invalid ticket number mention', function () {
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with #12345'
|
||||
)).to.equal(
|
||||
'This is an example with #12345'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with #12345abv hello'
|
||||
)).to.equal(
|
||||
'This is an example with #12345abv hello'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with #a12345 hello'
|
||||
)).to.equal(
|
||||
'This is an example with #a12345 hello'
|
||||
);
|
||||
|
||||
expect(mentionsParser.parse(
|
||||
'This is an example with # hello'
|
||||
)).to.equal(
|
||||
'This is an example with # hello'
|
||||
);
|
||||
});
|
||||
});
|
|
@ -43,7 +43,10 @@ class MentionsParser {
|
|||
case PARSING_TEXT:
|
||||
return segment;
|
||||
case PARSING_MENTION:
|
||||
return '<a href=' + root + '/admin/panel/tickets/view-ticket/' + segment + '>#' + segment + '</a>';
|
||||
if(segment.length == 6)
|
||||
return '<a href="' + root + '/admin/panel/tickets/view-ticket/' + segment + '">#' + segment + '</a>';
|
||||
else
|
||||
return '#' + segment;
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ install:
|
|||
@bundle install
|
||||
|
||||
run: export MYSQL_HOST=127.0.0.1
|
||||
run: export MYSQL_PORT=3306
|
||||
run: export MYSQL_PORT=4040
|
||||
run:
|
||||
./run-tests.sh
|
||||
|
||||
|
|
Loading…
Reference in New Issue