@skele/core
Version:
Core package of the Skele framework. Element definitions, registrations and traversal.
1 lines • 1.11 kB
JavaScript
;var _MultivalueRegistry=_interopRequireDefault(require("../MultivalueRegistry"));var _immutable=require("immutable");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}describe('MultivalueRegistry',function(){var registry=new _MultivalueRegistry.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'],20);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,20,5));expect(registry.get(['a','b','c'])).toEqualI(_immutable.List.of(1,4,2,20,5,3));});});