UNPKG

@girders-elements/core

Version:

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

35 lines (25 loc) 967 B
'use strict' import MultivalueRegistry from '../MultivalueRegistry' import { List } from 'immutable' describe('MultivalueRegistry', () => { const registry = new MultivalueRegistry() afterEach(() => registry.reset()) it('returns empty lists for missing keys', () => { expect(registry.get('a')).toEqualI(List()) }) it('collects all registered values for a key', () => { registry.register('a', 1) registry.register('a', 2) expect(registry.get('a')).toEqualI(List.of(1, 2)) }) it('prepends matching values of lesser specificity to the result', () => { 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(List.of(1, 4)) expect(registry.get(['a', 'b'])).toEqualI(List.of(1, 4, 2, 5)) expect(registry.get(['a', 'b', 'c'])).toEqualI(List.of(1, 4, 2, 5, 3)) }) })