mirror of
https://github.com/discourse/discourse.git
synced 2025-01-30 05:51:03 +08:00
FIX: upload watched words should use UTF-8
This commit is contained in:
parent
1f1d3909e5
commit
1812a38f0a
|
@ -25,7 +25,7 @@ class Admin::WatchedWordsController < Admin::AdminController
|
|||
|
||||
Scheduler::Defer.later("Upload watched words") do
|
||||
begin
|
||||
File.open(file.tempfile, encoding: "ISO-8859-1").each_line do |line|
|
||||
File.open(file.tempfile, encoding: "bom|utf-8").each_line do |line|
|
||||
WatchedWord.create_or_update_word(word: line, action_key: action_key) unless line.empty?
|
||||
end
|
||||
data = { url: '/ok' }
|
||||
|
|
6
spec/fixtures/csv/words.csv
vendored
Normal file
6
spec/fixtures/csv/words.csv
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
thread
|
||||
线
|
||||
धागा
|
||||
실
|
||||
tråd
|
||||
нить
|
|
|
@ -179,4 +179,25 @@ describe WatchedWord do
|
|||
}.to_not change { PostAction.count }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'upload' do
|
||||
context 'logged in as admin' do
|
||||
before do
|
||||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'creates the words from the file' do
|
||||
post '/admin/logs/watched_words/upload.json', params: {
|
||||
action_key: 'flag',
|
||||
file: Rack::Test::UploadedFile.new(file_from_fixtures("words.csv", "csv"))
|
||||
}
|
||||
expect(response.status).to eq(200)
|
||||
expect(WatchedWord.count).to eq(6)
|
||||
expect(WatchedWord.pluck(:word)).to contain_exactly(
|
||||
'thread', '线', 'धागा', '실', 'tråd', 'нить'
|
||||
)
|
||||
expect(WatchedWord.pluck(:action).uniq).to eq([WatchedWord.actions[:flag]])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user