Hello, World',
+ undefined);
+ });
+
+ test('simple message', () => {
+ assertMessageParsed('
Hello, World
',
+ 'Hello, World');
+ });
+
+ test('simple message with spaces around div', () => {
+ assertMessageParsed('
Hello, World
',
+ 'Hello, World');
+ });
+
+ test('message enclosed in markups', () => {
+ assertMessageParsed('
Hello, World
',
+ 'Hello, World');
+ });
+
+ test('message enclosed in div markups', () => {
+ assertMessageParsed('
',
+ 'Hello, World');
+ });
+
+ test('message enclosed in markups with spaces around div', () => {
+ assertMessageParsed('
Hello, World
',
+ 'Hello, World');
+ });
+
+ test('message partially enclosed in markups', () => {
+ assertMessageParsed('
Hello wonderful world
',
+ 'Hello wonderful world');
+ });
+
+ test('message partially enclosed in div markups', () => {
+ assertMessageParsed('
',
+ 'Hello wonderful world');
+ });
+
+ test('message partially enclosed in markups with spaces around div', () => {
+ assertMessageParsed('
Hello wonderful world
',
+ 'Hello wonderful world');
+ });
+
+ test('message with several levels of markups', () => {
+ assertMessageParsed(
+ '
Hello wonderful and beautiful world
',
+ 'Hello wonderful and beautiful world');
+ });
+
+ test('message with several levels of markups, innermost div', () => {
+ assertMessageParsed(
+ '
Hello
wonderful and
beautiful world
',
+ 'Hello wonderful and beautiful world');
+ });
+
+ test('message with several levels of markups with spaces around div', () => {
+ assertMessageParsed(
+ '
Hello wonderful and beautiful world
',
+ 'Hello wonderful and beautiful world');
+ });
+});
+
+function assertMessageParsed(incomingMessage, expectedParsedMessage) {
+ const event = {
+ type: 'MESSAGESENT',
+ initiator: {user: {id: 1234}},
+ payload: {messageSent: {message: {message: incomingMessage}}}
+ };
+
+ let parsedMessages = SymMessageParser.parse([event]);
+
+ expect(Array.isArray(parsedMessages)).toBeTruthy();
+ expect(parsedMessages.length).toBe(1);
+
+ expect(parsedMessages[0].messageText).toBe(expectedParsedMessage);
+}