title.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. (function () {
  2. 'use strict';
  3. var orgTitle = document.title;
  4. QUnit.module("Page Title", {
  5. beforeEach: function() {
  6. orgTitle = document.title;
  7. },
  8. afterEach: function() {
  9. document.title = orgTitle;
  10. }
  11. });
  12. QUnit.test("service sets title.set method on container", function(assert) {
  13. var service = getMisagoService('page-title');
  14. var container = {settings: {forum_name: 'Lorem Ipsum'}};
  15. service(container);
  16. assert.ok(container.title.set, 'title.set is set on container');
  17. });
  18. QUnit.test("title.set() call with no arguments sets title to forum name", function(assert) {
  19. var service = getMisagoService('page-title');
  20. var container = {settings: {forum_name: 'Lorem Ipsum'}};
  21. service(container);
  22. container.title.set();
  23. assert.equal(document.title, 'Lorem Ipsum',
  24. 'no argument call for title.set changed title to Lorem Ipsum');
  25. });
  26. QUnit.test("title.set() call with string argument sets valid title", function(assert) {
  27. var service = getMisagoService('page-title');
  28. var container = {settings: {forum_name: 'Lorem Ipsum'}};
  29. service(container);
  30. container.title.set("Hello!");
  31. assert.equal(document.title, 'Hello! | Lorem Ipsum', 'string argument changed title');
  32. });
  33. QUnit.test("title.set() call with object argument sets valid title", function(assert) {
  34. var service = getMisagoService('page-title');
  35. var container = {settings: {forum_name: 'Lorem Ipsum'}};
  36. service(container);
  37. container.title.set({title: "Hello!"});
  38. assert.equal(document.title, 'Hello! | Lorem Ipsum', 'object argument changed title');
  39. container.title.set({title: "User", page: 1});
  40. assert.equal(document.title, 'User | Lorem Ipsum',
  41. 'object argument with first page changed title');
  42. container.title.set({title: "User", page: 5});
  43. assert.equal(document.title, 'User (page 5) | Lorem Ipsum',
  44. 'object argument with page changed title');
  45. container.title.set({title: "User", parent: 'Admins'});
  46. assert.equal(document.title, 'User | Admins | Lorem Ipsum',
  47. 'object argument with parent changed title');
  48. container.title.set({title: "User", parent: 'Admins', page: 1});
  49. assert.equal(document.title, 'User | Admins | Lorem Ipsum',
  50. 'object argument with parent and first page changed title');
  51. container.title.set({title: "User", parent: 'Admins', page: 5});
  52. assert.equal(document.title, 'User (page 5) | Admins | Lorem Ipsum',
  53. 'object argument with parent and page changed title');
  54. });
  55. }());