UNPKG

@skele/core

Version:

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

1 lines 1.12 kB
'use strict';var _immutable=require("immutable");var _PatternRegistry=_interopRequireDefault(require("../PatternRegistry"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}describe('PatternRegistry',function(){var registry=new _PatternRegistry.default();afterEach(function(){return registry.reset();});it('allows predicate functions as keys',function(){registry.register(function(k){return k.startsWith('ab');},1);expect(registry.get('c')).toBeUndefined();expect(registry.get('abc')).toEqual(1);});it('allows regular expressions for patterns',function(){registry.register(/^http:/,4);expect(registry.get(44)).toBeUndefined();expect(registry.get('http://example.com')).toEqual(4);});it('allows any other value, to be used (like a map, only slower)',function(){registry.register(22,4);registry.register('http://example.com',5);registry.register([1,2],6);registry.register(_immutable.List.of(1,2),7);expect(registry.get(22)).toEqual(4);expect(registry.get('http://example.com')).toEqual(5);expect(registry.get([1,2])).toEqual(6);expect(registry.get(_immutable.List.of(1,2))).toEqual(7);});});