diff --git a/lib/post_revisor.rb b/lib/post_revisor.rb index 8148b110040..4a37236018b 100644 --- a/lib/post_revisor.rb +++ b/lib/post_revisor.rb @@ -121,6 +121,8 @@ class PostRevisor @topic_changes = TopicChanges.new(@topic, editor) + return false if @fields.has_key?(:raw) && @fields[:raw].blank? + # some normalization @fields[:raw] = cleanup_whitespaces(@fields[:raw]) if @fields.has_key?(:raw) @fields[:user_id] = @fields[:user_id].to_i if @fields.has_key?(:user_id) diff --git a/spec/components/post_revisor_spec.rb b/spec/components/post_revisor_spec.rb index 5fd997bd43b..eb843010f06 100644 --- a/spec/components/post_revisor_spec.rb +++ b/spec/components/post_revisor_spec.rb @@ -114,6 +114,15 @@ describe PostRevisor do end end + describe 'with nil raw contents' do + it "doesn't change version" do + expect { + expect(subject.revise!(post.user, raw: nil)).to eq(false) + post.reload + }.not_to change(post, :version) + end + end + describe 'ninja editing' do it 'correctly applies edits' do SiteSetting.editing_grace_period = 1.minute