From 5dca3fda432c12cd63ab4c8011aa2ea74ce1a771 Mon Sep 17 00:00:00 2001 From: Giovane Date: Tue, 29 Dec 2015 15:52:39 -0200 Subject: Shows selected tag in addition of unread count #564 --- web-ui/app/js/page/unread_count_title.js | 12 +++++----- web-ui/test/spec/page/unread_count_title.spec.js | 28 +++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) (limited to 'web-ui') diff --git a/web-ui/app/js/page/unread_count_title.js b/web-ui/app/js/page/unread_count_title.js index 26daabec..89dcd47d 100644 --- a/web-ui/app/js/page/unread_count_title.js +++ b/web-ui/app/js/page/unread_count_title.js @@ -35,11 +35,13 @@ define( return mail.status.indexOf('read') === -1; }).length; - if (unread > 0) { - document.title = '(' + unread + ') - ' + this.rawTitle; - } else { - document.title = this.rawTitle; - } + var tag = this.toTitleCase(data.tag); + var counter = unread > 0 ? ' (' + unread + ') - ' : ' - '; + document.title = tag + counter + this.rawTitle; + }; + + this.toTitleCase = function (str) { + return str.replace(/\b\w/g, function (txt) { return txt.toUpperCase(); }); }; this.after('initialize', function () { diff --git a/web-ui/test/spec/page/unread_count_title.spec.js b/web-ui/test/spec/page/unread_count_title.spec.js index 0291c1db..e367e579 100644 --- a/web-ui/test/spec/page/unread_count_title.spec.js +++ b/web-ui/test/spec/page/unread_count_title.spec.js @@ -9,41 +9,39 @@ describeComponent('page/unread_count_title', function () { }); it('listens to mails available event', function () { - this.component.trigger(Pixelated.events.mails.available, {mails: []}); - expect(this.component.getTitleText()).toEqual('example@pixelated-project.org'); + this.component.trigger(Pixelated.events.mails.available, {mails: [], tag: 'inbox'}); + expect(this.component.getTitleText()).toEqual('Inbox - example@pixelated-project.org'); }); it('only considers unread mails', function () { var readMail = {'status': ['read']}; - this.component.trigger(Pixelated.events.mails.available, {mails: [readMail]}); - expect(this.component.getTitleText()).toEqual('example@pixelated-project.org'); + this.component.trigger(Pixelated.events.mails.available, {mails: [readMail], tag: 'inbox'}); + expect(this.component.getTitleText()).toEqual('Inbox - example@pixelated-project.org'); }); it('update for one unread email', function () { var mails = [{'status': ['read']}, {'status': []}]; - this.component.trigger(Pixelated.events.mails.available, {mails: mails}); - expect(this.component.getTitleText()).toEqual('(1) - example@pixelated-project.org'); + this.component.trigger(Pixelated.events.mails.available, {mails: mails, tag: 'inbox'}); + expect(this.component.getTitleText()).toEqual('Inbox (1) - example@pixelated-project.org'); }); it('update for more than one unread email', function () { var mails = [{'status': ['read']}, {'status': []}, {'status': []}]; - this.component.trigger(Pixelated.events.mails.available, {mails: mails}); - expect(this.component.getTitleText()).toEqual('(2) - example@pixelated-project.org'); + this.component.trigger(Pixelated.events.mails.available, {mails: mails, tag: 'inbox'}); + expect(this.component.getTitleText()).toEqual('Inbox (2) - example@pixelated-project.org'); }); it('update for more than one unread email', function () { var mails = [{'status': ['read']}, {'status': []}, {'status': []}]; - this.component.trigger(Pixelated.events.mails.available, {mails: mails}); - expect(this.component.getTitleText()).toEqual('(2) - example@pixelated-project.org'); + this.component.trigger(Pixelated.events.mails.available, {mails: mails, tag: 'inbox'}); + expect(this.component.getTitleText()).toEqual('Inbox (2) - example@pixelated-project.org'); }); it('decreases unread count', function () { - document.title = '(2) - example@pixelated-project.org'; + document.title = 'Inbox (2) - example@pixelated-project.org'; var mails = [{'status': ['read']}, {'status': ['read']}]; - this.component.trigger(Pixelated.events.mails.available, {mails: mails}); - expect(this.component.getTitleText()).toEqual('example@pixelated-project.org'); + this.component.trigger(Pixelated.events.mails.available, {mails: mails, tag: 'inbox'}); + expect(this.component.getTitleText()).toEqual('Inbox - example@pixelated-project.org'); }); - - }); }); -- cgit v1.2.3