RemoveSelectionSpec.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* global sinon */
  2. import {
  3. bootstrapDiagram,
  4. inject
  5. } from 'test/TestHelper';
  6. import {
  7. forEach
  8. } from 'min-dash';
  9. import modelingModule from 'lib/features/modeling';
  10. import editorActionsModule from 'lib/features/editor-actions';
  11. import keyboardModule from 'lib/features/keyboard';
  12. import { createKeyEvent } from 'test/util/KeyEvents';
  13. var spy = sinon.spy;
  14. var KEYS = [
  15. 'Delete',
  16. 'Del'
  17. ];
  18. describe('features/keyboard - remove selection', function() {
  19. var defaultDiagramConfig = {
  20. modules: [
  21. modelingModule,
  22. keyboardModule,
  23. editorActionsModule
  24. ],
  25. canvas: {
  26. deferUpdate: false
  27. }
  28. };
  29. beforeEach(bootstrapDiagram(defaultDiagramConfig));
  30. forEach(KEYS, function(key) {
  31. it('should call remove selection when ' + key + ' is pressed',
  32. inject(function(keyboard, editorActions) {
  33. // given
  34. var removeSelectionSpy = spy(editorActions, 'trigger');
  35. var event = createKeyEvent(key);
  36. // when
  37. keyboard._keyHandler(event);
  38. // then
  39. expect(removeSelectionSpy.calledWith('removeSelection')).to.be.true;
  40. })
  41. );
  42. });
  43. });