@girders-elements/core
Version:
Girders Elements is an architectural framework that assists with building data-driven apps with React or React Native.
34 lines (25 loc) • 1.15 kB
JavaScript
;
var _MultivalueRegistry=require('../MultivalueRegistry');var _MultivalueRegistry2=_interopRequireDefault(_MultivalueRegistry);
var _immutable=require('immutable');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
describe('MultivalueRegistry',function(){
var registry=new _MultivalueRegistry2.default();
afterEach(function(){return registry.reset();});
it('returns empty lists for missing keys',function(){
expect(registry.get('a')).toEqualI((0,_immutable.List)());
});
it('collects all registered values for a key',function(){
registry.register('a',1);
registry.register('a',2);
expect(registry.get('a')).toEqualI(_immutable.List.of(1,2));
});
it('prepends matching values of lesser specificity to the result',function(){
registry.register('a',1);
registry.register(['a','b'],2);
registry.register(['a','b','c'],3);
registry.register('a',4);
registry.register(['a','b'],5);
expect(registry.get('a')).toEqualI(_immutable.List.of(1,4));
expect(registry.get(['a','b'])).toEqualI(_immutable.List.of(1,4,2,5));
expect(registry.get(['a','b','c'])).toEqualI(_immutable.List.of(1,4,2,5,3));
});
});