urlconf.js 1.4 KB

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