UNPKG

@girders-elements/core

Version:

Girders Elements is an architectural framework that assists with building data-driven apps with React or React Native.

37 lines (27 loc) 1.2 kB
'use strict'; var _immutable=require('immutable'); var _PatternRegistry=require('../PatternRegistry');var _PatternRegistry2=_interopRequireDefault(_PatternRegistry);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};} describe('PatternRegistry',function(){ var registry=new _PatternRegistry2.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); }); });