diff --git a/ghost/admin/app/controllers/settings/general.js b/ghost/admin/app/controllers/settings/general.js index 23aa66df29..8599aa9a4e 100644 --- a/ghost/admin/app/controllers/settings/general.js +++ b/ghost/admin/app/controllers/settings/general.js @@ -86,6 +86,10 @@ export default Controller.extend(SettingsSaveMixin, { return this.get('model').save().then((model) => { config.set('blogTitle', model.get('title')); + // this forces the document title to recompute after + // a blog title change + this.send('collectTitleTokens', []); + return model; }).catch((error) => { if (error) { diff --git a/ghost/admin/tests/acceptance/settings/general-test.js b/ghost/admin/tests/acceptance/settings/general-test.js index 66a90e8154..05d2a5d502 100644 --- a/ghost/admin/tests/acceptance/settings/general-test.js +++ b/ghost/admin/tests/acceptance/settings/general-test.js @@ -89,6 +89,13 @@ describe('Acceptance: Settings - General', function () { expect(find('input#permalinks').prop('checked'), 'date permalinks checkbox').to.be.false; }); + fillIn('#settings-general input[name="general[title]"]', 'New Blog Title'); + click('.view-header .btn.btn-blue'); + + andThen(() => { + expect(document.title, 'page title').to.equal('Settings - General - New Blog Title'); + }); + click('.blog-logo'); andThen(() => {