UNPKG

@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
'use strict'; 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)); }); });