aboutsummaryrefslogblamecommitdiff
path: root/test/content/repositories/KeymapRepository.test.ts
blob: 68f515c64f38b33771535d441d5511ca91aad8b0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14

                                                            
                                                   








                                        

                                                           
 
                                 

                                                             



                              

                                          
                  
                                                           




                                            
import KeymapRepository, { KeymapRepositoryImpl }
  from '../../../src/content/repositories/KeymapRepository';
import { expect } from 'chai';
import Key from "../../../src/shared/settings/Key";

describe('KeymapRepositoryImpl', () => {
  let sut: KeymapRepository;

  before(() => {
    sut = new KeymapRepositoryImpl();
  });

  describe('#enqueueKey()', () => {
    it('enqueues keys', () => {
      sut.enqueueKey(Key.fromMapKey('a'));
      sut.enqueueKey(Key.fromMapKey('b'));
      const sequence = sut.enqueueKey(Key.fromMapKey('c'));

      const keys = sequence.keys;
      expect(keys[0].equals(Key.fromMapKey('a'))).to.be.true;
      expect(keys[1].equals(Key.fromMapKey('b'))).to.be.true;
      expect(keys[2].equals(Key.fromMapKey('c'))).to.be.true;
    });
  });

  describe('#clear()', () => {
    it('clears keys', () => {
      sut.enqueueKey(Key.fromMapKey('a'));
      sut.enqueueKey(Key.fromMapKey('b'));
      sut.enqueueKey(Key.fromMapKey('c'));
      sut.clear();

      const sequence = sut.enqueueKey(Key.fromMapKey('a'));
      expect(sequence.length()).to.equal(1);
    });
  });
});