misago.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import assert from 'assert';
  2. import { Misago } from 'misago/index';
  3. var misago = null;
  4. describe('Misago', function() {
  5. it("addInitializer registers new initializer", function() {
  6. misago = new Misago();
  7. misago.addInitializer({
  8. name: 'test',
  9. init: null
  10. });
  11. assert.equal(misago._initializers[0].key, 'test',
  12. "test initializer was registered");
  13. assert.equal(misago._initializers.length, 1,
  14. "addInitializer() registered single initializer in container");
  15. assert.equal(misago._initializers[0].key, 'test',
  16. "addInitializer() registered test initializer in container");
  17. });
  18. it("init() calls test initializer", function() {
  19. misago = new Misago();
  20. misago.addInitializer({
  21. name: 'test',
  22. init: function(options) {
  23. assert.equal(options, 'tru', "initializer was called with options");
  24. }
  25. });
  26. misago.init('tru');
  27. });
  28. it("init() calls test initializers in order", function() {
  29. misago = new Misago();
  30. misago.addInitializer({
  31. name: 'carrot',
  32. init: function(options) {
  33. assert.equal(options.next, 'carrot',
  34. "first initializer was called in right order");
  35. options.next = 'apple';
  36. },
  37. before: 'apple'
  38. });
  39. misago.addInitializer({
  40. name: 'apple',
  41. init: function(options) {
  42. assert.equal(options.next, 'apple',
  43. "second initializer was called in right order");
  44. options.next = 'orange';
  45. }
  46. });
  47. misago.addInitializer({
  48. name: 'orange',
  49. init: function(options) {
  50. assert.equal(options.next, 'orange',
  51. "pen-ultimate initializer was called in right order");
  52. options.next = 'banana';
  53. },
  54. before: '_end'
  55. });
  56. misago.addInitializer({
  57. name: 'banana',
  58. init: function(options) {
  59. assert.equal(options.next, 'banana',
  60. "ultimate initializer was called in right order");
  61. },
  62. after: 'orange'
  63. });
  64. misago.init({next: 'carrot'});
  65. });
  66. });