urlconf.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. (function (Misago) {
  2. 'use strict';
  3. var urlconf = null;
  4. QUnit.module("UrlConf", {
  5. beforeEach: function() {
  6. urlconf = new Misago.UrlConf();
  7. }
  8. });
  9. QUnit.test("url registers pattern in config", function(assert) {
  10. var component = {test: 'test'};
  11. urlconf.url('/test/', component, 'test_url');
  12. var patterns = urlconf.patterns();
  13. assert.equal(patterns.length, 1,
  14. 'url() has registered single URL in config');
  15. assert.deepEqual(
  16. patterns[0],
  17. {pattern: '/test/', component: component, name: 'test_url'},
  18. 'url() has registered valid URL in config');
  19. });
  20. QUnit.test("UrlConf.url(conf) includes child config", function(assert) {
  21. var component = {test: 'test'};
  22. urlconf.url('', component, 'test_url');
  23. urlconf.url('/test/', component, 'test_url');
  24. var childconf = new Misago.UrlConf();
  25. childconf.url('/', component, 'users');
  26. childconf.url('/user/', component, 'user');
  27. urlconf.url('/users/', childconf);
  28. var expected_patterns = [
  29. {pattern: '/', component: component, name: 'test_url'},
  30. {pattern: '/test/', component: component, name: 'test_url'},
  31. {pattern: '/users/', component: component, name: 'users'},
  32. {pattern: '/users/user/', component: component, name: 'user'}
  33. ];
  34. assert.deepEqual(urlconf.patterns(), expected_patterns,
  35. 'url() has included other urlconf');
  36. });
  37. }(Misago.prototype));