router.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. (function () {
  2. 'use strict';
  3. QUnit.module("Router");
  4. QUnit.test("cleanUrl", function(assert) {
  5. var container = {
  6. context: {
  7. 'STATIC_URL': '/static/',
  8. 'MEDIA_URL': 'http://nocookie.somewhere.com/'
  9. }
  10. };
  11. var service = getMisagoService('router');
  12. var router = service(container);
  13. assert.equal(router.cleanUrl('/'), '/');
  14. assert.equal(router.cleanUrl('/lorem-ipsum/'), '/lorem-ipsum/');
  15. assert.equal(
  16. router.cleanUrl('/lorem-ipsum/dolor/'), '/lorem-ipsum/dolor/');
  17. assert.equal(router.cleanUrl('/static/'), undefined);
  18. assert.equal(router.cleanUrl('http://nocookie.somewhere.com/'), undefined);
  19. assert.equal(router.cleanUrl('/static/test.png'), undefined);
  20. assert.equal(
  21. router.cleanUrl('http://nocookie.somewhere.com/test.png'), undefined);
  22. container.context.STATIC_URL = '/misago/static/';
  23. router = service(container);
  24. router.baseUrl = '/misago/';
  25. assert.equal(router.cleanUrl('/misago/'), '/misago/');
  26. assert.equal(router.cleanUrl('/misago/lorem-ipsum/'),
  27. '/misago/lorem-ipsum/');
  28. assert.equal(router.cleanUrl('/misago/lorem-ipsum/dolor/'),
  29. '/misago/lorem-ipsum/dolor/');
  30. assert.equal(router.cleanUrl('/'), undefined);
  31. assert.equal(router.cleanUrl('/lorem-ipsum/'), undefined);
  32. assert.equal(router.cleanUrl('/lorem-ipsum/dolor/'), undefined);
  33. assert.equal(router.cleanUrl('/misago/static/'), undefined);
  34. assert.equal(router.cleanUrl('http://nocookie.somewhere.com/'), undefined);
  35. assert.equal(router.cleanUrl('/misago/static/test.png'), undefined);
  36. assert.equal(
  37. router.cleanUrl('http://nocookie.somewhere.com/test.png'), undefined);
  38. });
  39. QUnit.test("staticUrl and mediaUrl", function(assert) {
  40. var container = {
  41. context: {
  42. 'STATIC_URL': '/static/',
  43. 'MEDIA_URL': 'http://nocookie.somewhere.com/'
  44. }
  45. };
  46. var service = getMisagoService('router');
  47. var router = service(container);
  48. assert.equal(router.staticUrl('logo.png'), '/static/logo.png',
  49. 'staticUrl correctly prefixed url to static asset.');
  50. assert.equal(
  51. router.mediaUrl('avatar_1.png'),
  52. 'http://nocookie.somewhere.com/avatar_1.png',
  53. 'mediaUrl correctly prefixed url to media asset.');
  54. });
  55. }());