UNPKG

@skele/core

Version:

Core package of the Skele framework. Element definitions, registrations and traversal.

1 lines 1.11 kB
'use strict';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));});});