router.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. (function (Misago) {
  2. 'use strict';
  3. QUnit.module("Router");
  4. QUnit.test("cleanUrl cleans url's that should be routed", function(assert) {
  5. var container = {
  6. context: {
  7. 'STATIC_URL': '/static/',
  8. 'MEDIA_URL': 'http://nocookie.somewhere.com/'
  9. }
  10. };
  11. var router = new Misago.RouterFactory(container);
  12. assert.equal(router.cleanUrl('/'), '/');
  13. assert.equal(router.cleanUrl('/lorem-ipsum/'), '/lorem-ipsum/');
  14. assert.equal(router.cleanUrl('/lorem-ipsum/dolor/'), '/lorem-ipsum/dolor/');
  15. assert.equal(router.cleanUrl('/static/'), undefined);
  16. assert.equal(router.cleanUrl('http://nocookie.somewhere.com/'), undefined);
  17. assert.equal(router.cleanUrl('/static/test.png'), undefined);
  18. assert.equal(router.cleanUrl('http://nocookie.somewhere.com/test.png'), undefined);
  19. container.context.STATIC_URL = '/misago/static/';
  20. router = new Misago.RouterFactory(container);
  21. router.baseUrl = '/misago/';
  22. assert.equal(router.cleanUrl('/misago/'), '/misago/');
  23. assert.equal(router.cleanUrl('/misago/lorem-ipsum/'), '/misago/lorem-ipsum/');
  24. assert.equal(router.cleanUrl('/misago/lorem-ipsum/dolor/'), '/misago/lorem-ipsum/dolor/');
  25. assert.equal(router.cleanUrl('/'), undefined);
  26. assert.equal(router.cleanUrl('/lorem-ipsum/'), undefined);
  27. assert.equal(router.cleanUrl('/lorem-ipsum/dolor/'), undefined);
  28. assert.equal(router.cleanUrl('/misago/static/'), undefined);
  29. assert.equal(router.cleanUrl('http://nocookie.somewhere.com/'), undefined);
  30. assert.equal(router.cleanUrl('/misago/static/test.png'), undefined);
  31. assert.equal(router.cleanUrl('http://nocookie.somewhere.com/test.png'), undefined);
  32. });
  33. QUnit.test("staticUrl and mediaUrl prefix paths", function(assert) {
  34. var container = {
  35. context: {
  36. 'STATIC_URL': '/static/',
  37. 'MEDIA_URL': 'http://nocookie.somewhere.com/'
  38. }
  39. };
  40. var router = new Misago.RouterFactory(container);
  41. assert.equal(router.staticUrl('logo.png'), '/static/logo.png', 'staticUrl correctly prefixed url to static asset.');
  42. assert.equal(router.mediaUrl('avatar_1.png'), 'http://nocookie.somewhere.com/avatar_1.png', 'mediaUrl correctly prefixed url to media asset.');
  43. });
  44. }(Misago.prototype));