title.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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', 'no argument call for title.set changed title to Lorem Ipsum');
  24. });
  25. QUnit.test("title.set() call with string argument sets valid title", function(assert) {
  26. var service = getMisagoService('page-title');
  27. var container = {settings: {forum_name: 'Lorem Ipsum'}};
  28. service(container);
  29. container.title.set("Hello!");
  30. assert.equal(document.title, 'Hello! | Lorem Ipsum', 'string argument changed title');
  31. });
  32. QUnit.test("title.set() call with object argument sets valid title", function(assert) {
  33. var service = getMisagoService('page-title');
  34. var container = {settings: {forum_name: 'Lorem Ipsum'}};
  35. service(container);
  36. container.title.set({title: "Hello!"});
  37. assert.equal(document.title, 'Hello! | Lorem Ipsum', 'object argument changed title');
  38. container.title.set({title: "User", page: 1});
  39. assert.equal(document.title, 'User | Lorem Ipsum', 'object argument with first page changed title');
  40. container.title.set({title: "User", page: 5});
  41. assert.equal(document.title, 'User (page 5) | Lorem Ipsum', 'object argument with page changed title');
  42. container.title.set({title: "User", parent: 'Admins'});
  43. assert.equal(document.title, 'User | Admins | Lorem Ipsum', 'object argument with parent changed title');
  44. container.title.set({title: "User", parent: 'Admins', page: 1});
  45. assert.equal(document.title, 'User | Admins | Lorem Ipsum', 'object argument with parent and first page changed title');
  46. container.title.set({title: "User", parent: 'Admins', page: 5});
  47. assert.equal(document.title, 'User (page 5) | Admins | Lorem Ipsum', 'object argument with parent and page changed title');
  48. });
  49. }());