FIX: Empty backup names with unicode site titles

If a site title contains unicode it may end up with an empty backup
filename because of the rails `parameterize` method we are calling.

This fix ensures that the backup filenames default to "discourse" if the
parameterized site title is empty.

Bug reported [here][1].

[1]: https://meta.discourse.org/t/backup-checksum-and-backup-name-missing-when-unicode-site-name/123192?u=blake
This commit is contained in:
Blake Erickson
2019-07-17 17:07:10 -06:00
parent 514aaacdf4
commit c8661674d4
2 changed files with 24 additions and 1 deletions

View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
require 'rails_helper'
describe BackupRestore::Backuper do
it 'returns a non-empty parameterized title when site title contains unicode' do
SiteSetting.title = 'Ɣ'
backuper = BackupRestore::Backuper.new(-1)
expect(backuper.send(:get_parameterized_title)).to eq("discourse")
end
it 'returns a valid parameterized site title' do
SiteSetting.title = "Coding Horror"
backuper = BackupRestore::Backuper.new(-1)
expect(backuper.send(:get_parameterized_title)).to eq("coding-horror")
end
end