flectra/addons/web/static/tests/core/registry_tests.js
2018-01-16 02:34:37 -08:00

84 lines
1.9 KiB
JavaScript

flectra.define('web.registry_tests', function (require) {
"use strict";
var Registry = require('web.Registry');
QUnit.module('core', {}, function () {
QUnit.module('Registry');
QUnit.test('key set', function (assert) {
assert.expect(1);
var registry = new Registry();
var foo = {};
registry
.add('foo', foo);
assert.strictEqual(registry.get('foo'), foo);
});
QUnit.test('extension', function (assert) {
assert.expect(2);
var foo = {};
var foo2 = {};
var registry = new Registry({
foo: foo,
});
var registry2 = registry.extend({foo: foo2});
assert.strictEqual(registry.get('foo'), foo);
assert.strictEqual(registry2.get('foo'), foo2);
});
QUnit.test('remain-linked', function (assert) {
assert.expect(2);
var foo = {};
var foo2 = {};
var registry = new Registry({
foo: foo,
});
var registry2 = registry.extend();
registry.add('foo2', foo2);
assert.strictEqual(registry.get('foo2'), foo2);
assert.strictEqual(registry2.get('foo2'), foo2);
});
QUnit.test('multiget', function (assert) {
assert.expect(1);
var foo = {};
var bar = {};
var registry = new Registry({
foo: foo,
bar: bar,
});
assert.strictEqual(
registry.getAny(['qux', 'grault', 'bar', 'foo']),
bar,
"Registry getAny should find first defined key");
});
QUnit.test('extended-multiget', function (assert) {
assert.expect(1);
var foo = {};
var bar = {};
var registry = new Registry({
foo: foo,
bar: bar,
});
var registry2 = registry.extend();
assert.strictEqual(registry2.getAny(['qux', 'grault', 'bar', 'foo']), bar);
});
});
});