123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import assert from 'assert';
- import { Misago } from 'misago/index';
- var misago = null;
- describe('Misago', function() {
- it("addInitializer registers new initializer", function() {
- misago = new Misago();
- misago.addInitializer({
- name: 'test',
- initializer: null
- });
- assert.equal(misago._initializers[0].key, 'test',
- "test initializer was registered");
- assert.equal(misago._initializers.length, 1,
- "addInitializer() registered single initializer in container");
- assert.equal(misago._initializers[0].key, 'test',
- "addInitializer() registered test initializer in container");
- });
- it("init() calls test initializer", function() {
- misago = new Misago();
- misago.addInitializer({
- name: 'test',
- initializer: function(misago) {
- assert.equal(misago, misago, "initializer was called with context");
- assert.equal(misago._context, 'tru', "context is preserved");
- }
- });
- misago.init('tru');
- });
- it("init() calls test initializers in order", function() {
- misago = new Misago();
- misago.addInitializer({
- name: 'carrot',
- initializer: function(misago) {
- assert.equal(misago._context.next, 'carrot',
- "first initializer was called in right order");
- misago._context.next = 'apple';
- },
- before: 'apple'
- });
- misago.addInitializer({
- name: 'apple',
- initializer: function(misago) {
- assert.equal(misago._context.next, 'apple',
- "second initializer was called in right order");
- misago._context.next = 'orange';
- }
- });
- misago.addInitializer({
- name: 'orange',
- initializer: function(misago) {
- assert.equal(misago._context.next, 'orange',
- "pen-ultimate initializer was called in right order");
- misago._context.next = 'banana';
- },
- before: '_end'
- });
- misago.addInitializer({
- name: 'banana',
- initializer: function(misago) {
- assert.equal(misago._context.next, 'banana',
- "ultimate initializer was called in right order");
- },
- after: 'orange'
- });
- misago.init({next: 'carrot'});
- });
- it("has() tests if context has value", function() {
- misago = new Misago();
- misago.init({valid: 'okay'});
- assert.equal(misago.has('invalid'), false,
- "has() returned false for nonexisting key");
- assert.equal(misago.has('valid'), true,
- "has() returned true for existing key");
- });
- it("get() allows access to context values", function() {
- misago = new Misago();
- misago.init({valid: 'okay'});
- assert.equal(misago.get('invalid'), undefined,
- "get() returned undefined for nonexisting key");
- assert.equal(misago.get('invalid', 'fallback'), 'fallback',
- "get() returned fallback value for nonexisting key");
- assert.equal(misago.get('valid'), 'okay',
- "get() returned value for existing key");
- assert.equal(misago.get('valid', 'fallback'), 'okay',
- "get() returned value for existing key instead of fallback");
- });
- it("pop() allows single time access to context values", function() {
- misago = new Misago();
- misago.init({valid: 'okay'});
- assert.equal(misago.pop('invalid'), undefined,
- "pop() returned undefined for nonexisting key");
- assert.equal(misago.pop('valid'), 'okay',
- "pop() returned value for existing key");
- assert.equal(misago.get('valid'), null,
- "get() returned null for popped value");
- });
- });
|