FIX: word_count wasn't working with non-latin sentences

This commit is contained in:
Régis Hanol 2016-01-11 11:16:23 +01:00
parent 61650edfd4
commit cf4cb2126a
4 changed files with 9 additions and 9 deletions

View File

@ -172,7 +172,7 @@ class PostCreator
def self.before_create_tasks(post)
set_reply_info(post)
post.word_count = post.raw.scan(/\w+/).size
post.word_count = post.raw.scan(/[[:word:]]+/).size
post.post_number ||= Topic.next_post_number(post.topic_id, post.reply_to_post_number.present?)
cooking_options = post.cooking_options || {}

View File

@ -229,7 +229,7 @@ class PostRevisor
end
@post.last_editor_id = @editor.id
@post.word_count = @fields[:raw].scan(/\w+/).size if @fields.has_key?(:raw)
@post.word_count = @fields[:raw].scan(/[[:word:]]+/).size if @fields.has_key?(:raw)
@post.self_edits += 1 if self_edit?
remove_flags_and_unhide_post

View File

@ -595,12 +595,12 @@ describe PostCreator do
describe "word_count" do
it "has a word count" do
creator = PostCreator.new(user, title: 'some inspired poetry for a rainy day', raw: 'mary had a little lamb, little lamb, little lamb. mary had a little lamb')
creator = PostCreator.new(user, title: 'some inspired poetry for a rainy day', raw: 'mary had a little lamb, little lamb, little lamb. mary had a little lamb. Здравствуйте')
post = creator.create
expect(post.word_count).to eq(14)
expect(post.word_count).to eq(15)
post.topic.reload
expect(post.topic.word_count).to eq(14)
expect(post.topic.word_count).to eq(15)
end
end

View File

@ -278,14 +278,14 @@ describe PostRevisor do
describe 'with a new body' do
let(:changed_by) { Fabricate(:coding_horror) }
let!(:result) { subject.revise!(changed_by, { raw: "lets update the body" }) }
let!(:result) { subject.revise!(changed_by, { raw: "lets update the body. Здравствуйте" }) }
it 'returns true' do
expect(result).to eq(true)
end
it 'updates the body' do
expect(post.raw).to eq("lets update the body")
expect(post.raw).to eq("lets update the body. Здравствуйте")
end
it 'sets the invalidate oneboxes attribute' do
@ -306,9 +306,9 @@ describe PostRevisor do
end
it "updates the word count" do
expect(post.word_count).to eq(4)
expect(post.word_count).to eq(5)
post.topic.reload
expect(post.topic.word_count).to eq(4)
expect(post.topic.word_count).to eq(5)
end
context 'second poster posts again quickly' do