2018-01-16 11:34:37 +01:00
|
|
|
flectra.define('web.registry_tests', function (require) {
|
2018-01-16 06:58:15 +01:00
|
|
|
"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);
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|