From 338114ff0b0d71f5346c8f0378032cb940561ce0 Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Thu, 26 Mar 2015 14:48:12 -0300 Subject: [PATCH] comment_paragraph: fix parser of inner li --- plugins/comment_paragraph/lib/ext/article.rb | 4 ++-- plugins/comment_paragraph/test/unit/article_test.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/comment_paragraph/lib/ext/article.rb b/plugins/comment_paragraph/lib/ext/article.rb index 874a521..e4529a4 100644 --- a/plugins/comment_paragraph/lib/ext/article.rb +++ b/plugins/comment_paragraph/lib/ext/article.rb @@ -24,14 +24,14 @@ class Article if body && (body_changed? || setting_changed?(:comment_paragraph_plugin_activate)) updated = body_changed? ? body_change[1] : body doc = Nokogiri::HTML(updated) - doc.css('body > div, body > span, body > p, li').each do |paragraph| + doc.css('li, body > div, body > span, body > p').each do |paragraph| next if paragraph.css('[data-macro="comment_paragraph_plugin/allow_comment"]').present? || paragraph.content.blank? commentable = Nokogiri::XML::Node.new("span", doc) commentable['class'] = "macro article_comments paragraph_comment #{paragraph['class']}" commentable['data-macro'] = 'comment_paragraph_plugin/allow_comment' commentable['data-macro-paragraph_uuid'] = SecureRandom.uuid - commentable.inner_html = paragraph.content + commentable.inner_html = paragraph.inner_html paragraph.inner_html = commentable end self.body = doc.at('body').inner_html diff --git a/plugins/comment_paragraph/test/unit/article_test.rb b/plugins/comment_paragraph/test/unit/article_test.rb index 254ed9e..7f6bbd3 100644 --- a/plugins/comment_paragraph/test/unit/article_test.rb +++ b/plugins/comment_paragraph/test/unit/article_test.rb @@ -49,6 +49,14 @@ class ArticleTest < ActiveSupport::TestCase assert_mark_paragraph article.body, 'li', 'item2' end + should 'parse inner html li when activate comment paragraph' do + article.body = '
' + article.comment_paragraph_plugin_activate = true + article.save! + assert_mark_paragraph article.body, 'li', 'item1' + assert_mark_paragraph article.body, 'li', 'item2' + end + should 'do not remove macro div when disable comment paragraph' do article.body = "

paragraph 1

" article.comment_paragraph_plugin_activate = true -- libgit2 0.21.2