| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import staticRegister, {collection} from 'handsontable/utils/staticRegister';
- describe('staticRegister', () => {
- describe('.register/.getItem', () => {
- afterEach(() => {
- collection.clear();
- });
- it('should register item to the collection and make it overwritable', () => {
- const sr = staticRegister();
- const testObject = {foo: 'bar'};
- sr.register('name', 'baz');
- sr.register('name', testObject);
- expect(sr.getItem('name')).toBe(testObject);
- });
- });
- describe('.hasItem', () => {
- afterEach(() => {
- collection.clear();
- });
- it('should return `true` when item exists in the collection', () => {
- const sr = staticRegister();
- const testObject = {foo: 'bar'};
- sr.register('name', testObject);
- expect(sr.hasItem('name')).toBe(true);
- });
- it('should return `false` when item not exist in the collection', () => {
- const sr = staticRegister();
- const testObject = {foo: 'bar'};
- sr.register('name', testObject);
- expect(sr.hasItem('wrong_name')).toBe(false);
- });
- });
- describe('.getNames', () => {
- afterEach(() => {
- collection.clear();
- });
- it('should return an empty array when no items was registered', () => {
- const sr = staticRegister();
- expect(sr.getNames()).toEqual([]);
- });
- it('should return an array of string as a list of registered names', () => {
- const sr = staticRegister();
- sr.register('name', {foo: 'bar'});
- sr.register('number', 1);
- sr.register('string', 'baz');
- expect(sr.getNames()).toEqual(['name', 'number', 'string']);
- });
- });
- describe('.getValues', () => {
- afterEach(() => {
- collection.clear();
- });
- it('should return an empty array when no items was registered', () => {
- const sr = staticRegister();
- expect(sr.getValues()).toEqual([]);
- });
- it('should return an array of string as a list of registered items', () => {
- const sr = staticRegister();
- sr.register('name', {foo: 'bar'});
- sr.register('number', 1);
- sr.register('string', 'baz');
- expect(sr.getValues()).toEqual([{foo: 'bar'}, 1, 'baz']);
- });
- });
- it('should share items between the same namespaces and make them overwritable', () => {
- const sr1 = staticRegister('my-space');
- const sr2 = staticRegister('my-space');
- const sr3 = staticRegister();
- sr1.register('foo', 'bar');
- sr2.register('foo', 'baz');
- sr3.register('foo', 'test');
- expect(sr1.getValues()).toEqual(['baz']);
- expect(sr2.getValues()).toEqual(['baz']);
- expect(sr3.getValues()).toEqual(['test']);
- });
- });
|