From f7e7d1a65882fcefad2d84cb230ebae0b03a29f2 Mon Sep 17 00:00:00 2001 From: Derek Wang Date: Mon, 19 May 2014 18:21:53 +0800 Subject: [PATCH 1/4] Fix a bug that emoticon of <3 and >:) cannot display correctly in the message. --- converse.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/converse.js b/converse.js index 2bdf69eb0..a7cdb3686 100644 --- a/converse.js +++ b/converse.js @@ -60,6 +60,7 @@ if (this.length > 0) { this.each(function(i, obj) { var text = $(obj).html(); + text = text.replace(/>:\)/g, ''); text = text.replace(/:\)/g, ''); text = text.replace(/:\-\)/g, ''); text = text.replace(/;\)/g, ''); @@ -71,7 +72,6 @@ text = text.replace(/:p/g, ''); text = text.replace(/:\-p/g, ''); text = text.replace(/8\)/g, ''); - text = text.replace(/>:\)/g, ''); text = text.replace(/:S/g, ''); text = text.replace(/:\\/g, ''); text = text.replace(/:\/ /g, ''); @@ -82,7 +82,7 @@ text = text.replace(/:\-O/g, ''); text = text.replace(/\=\-O/g, ''); text = text.replace(/\(\^.\^\)b/g, ''); - text = text.replace(/<3/g, ''); + text = text.replace(/<3/g, ''); $(obj).html(text); }); } From 40bc3ec55de4e639d8e779ac9c972178898356b9 Mon Sep 17 00:00:00 2001 From: Derek Wang Date: Mon, 19 May 2014 22:03:26 +0800 Subject: [PATCH 2/4] Revert "Fix a bug that emoticon of <3 and >:) cannot display correctly in the message." This reverts commit f7e7d1a65882fcefad2d84cb230ebae0b03a29f2. --- converse.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/converse.js b/converse.js index a7cdb3686..2bdf69eb0 100644 --- a/converse.js +++ b/converse.js @@ -60,7 +60,6 @@ if (this.length > 0) { this.each(function(i, obj) { var text = $(obj).html(); - text = text.replace(/>:\)/g, ''); text = text.replace(/:\)/g, ''); text = text.replace(/:\-\)/g, ''); text = text.replace(/;\)/g, ''); @@ -72,6 +71,7 @@ text = text.replace(/:p/g, ''); text = text.replace(/:\-p/g, ''); text = text.replace(/8\)/g, ''); + text = text.replace(/>:\)/g, ''); text = text.replace(/:S/g, ''); text = text.replace(/:\\/g, ''); text = text.replace(/:\/ /g, ''); @@ -82,7 +82,7 @@ text = text.replace(/:\-O/g, ''); text = text.replace(/\=\-O/g, ''); text = text.replace(/\(\^.\^\)b/g, ''); - text = text.replace(/<3/g, ''); + text = text.replace(/<3/g, ''); $(obj).html(text); }); } From f0bb123e7f94fbc95621d658aee76104f22d309d Mon Sep 17 00:00:00 2001 From: Derek Wang Date: Mon, 19 May 2014 22:06:11 +0800 Subject: [PATCH 3/4] Fix a bug that emoticon of '<3' and '>:)' cannot be displayed correctly in the message --- converse.js | 4 ++-- spec/chatbox.js | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/converse.js b/converse.js index 2bdf69eb0..a7cdb3686 100644 --- a/converse.js +++ b/converse.js @@ -60,6 +60,7 @@ if (this.length > 0) { this.each(function(i, obj) { var text = $(obj).html(); + text = text.replace(/>:\)/g, ''); text = text.replace(/:\)/g, ''); text = text.replace(/:\-\)/g, ''); text = text.replace(/;\)/g, ''); @@ -71,7 +72,6 @@ text = text.replace(/:p/g, ''); text = text.replace(/:\-p/g, ''); text = text.replace(/8\)/g, ''); - text = text.replace(/>:\)/g, ''); text = text.replace(/:S/g, ''); text = text.replace(/:\\/g, ''); text = text.replace(/:\/ /g, ''); @@ -82,7 +82,7 @@ text = text.replace(/:\-O/g, ''); text = text.replace(/\=\-O/g, ''); text = text.replace(/\(\^.\^\)b/g, ''); - text = text.replace(/<3/g, ''); + text = text.replace(/<3/g, ''); $(obj).html(text); }); } diff --git a/spec/chatbox.js b/spec/chatbox.js index 85b273a41..345e98b69 100644 --- a/spec/chatbox.js +++ b/spec/chatbox.js @@ -584,6 +584,28 @@ expect(msg.text()).toEqual(message); expect(msg.html()).toEqual('This message contains a hyperlink: www.opkode.com'); }, converse)); + + it("should display emoticons correctly", $.proxy(function () { + var contact_jid = mock.cur_names[0].replace(' ','.').toLowerCase() + '@localhost'; + utils.openChatBoxFor(contact_jid); + var view = this.chatboxviews.get(contact_jid); + var messages = [':)', ';)', ':D', ':P', '8)', '>:)', ':S', ':\\', '>:(', ':(', ':O', '(^.^)b', '<3']; + var emoticons = ['', '', + '', '', + '', '', + '', '', + '', '', + '', '', + '']; + spyOn(view, 'sendMessage').andCallThrough(); + for (var i = 0; i < messages.length; i++) { + var message = messages[i]; + utils.sendMessage(view, message); + expect(view.sendMessage).toHaveBeenCalled(); + var msg = view.$el.find('.chat-content').find('.chat-message').last().find('.chat-message-content'); + expect(msg.html()).toEqual(emoticons[i]); + } + }, converse)); it("will have properly escaped URLs", $.proxy(function () { var contact_jid = mock.cur_names[0].replace(' ','.').toLowerCase() + '@localhost'; From fffc0213c4a228af91f2ab007da1acdcda8f613d Mon Sep 17 00:00:00 2001 From: Derek Wang Date: Mon, 19 May 2014 22:12:55 +0800 Subject: [PATCH 4/4] Fix format --- spec/chatbox.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/spec/chatbox.js b/spec/chatbox.js index 345e98b69..1813778b7 100644 --- a/spec/chatbox.js +++ b/spec/chatbox.js @@ -584,26 +584,28 @@ expect(msg.text()).toEqual(message); expect(msg.html()).toEqual('This message contains a hyperlink: www.opkode.com'); }, converse)); - + it("should display emoticons correctly", $.proxy(function () { var contact_jid = mock.cur_names[0].replace(' ','.').toLowerCase() + '@localhost'; utils.openChatBoxFor(contact_jid); var view = this.chatboxviews.get(contact_jid); var messages = [':)', ';)', ':D', ':P', '8)', '>:)', ':S', ':\\', '>:(', ':(', ':O', '(^.^)b', '<3']; - var emoticons = ['', '', - '', '', - '', '', - '', '', - '', '', - '', '', - '']; + var emoticons = [ + '', '', + '', '', + '', '', + '', '', + '', '', + '', '', + '' + ]; spyOn(view, 'sendMessage').andCallThrough(); for (var i = 0; i < messages.length; i++) { - var message = messages[i]; - utils.sendMessage(view, message); - expect(view.sendMessage).toHaveBeenCalled(); - var msg = view.$el.find('.chat-content').find('.chat-message').last().find('.chat-message-content'); - expect(msg.html()).toEqual(emoticons[i]); + var message = messages[i]; + utils.sendMessage(view, message); + expect(view.sendMessage).toHaveBeenCalled(); + var msg = view.$el.find('.chat-content').find('.chat-message').last().find('.chat-message-content'); + expect(msg.html()).toEqual(emoticons[i]); } }, converse));