123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import {
- bootstrapDiagram,
- inject
- } from 'test/TestHelper';
- import {
- forEach
- } from 'min-dash';
- import editorActionsModule from 'lib/features/editor-actions';
- import zoomScrollModule from 'lib/navigation/zoomscroll';
- import keyboardModule from 'lib/features/keyboard';
- import { createKeyEvent } from 'test/util/KeyEvents';
- var KEYS = {
- ZOOM_IN: [ '+', 'Add' ],
- ZOOM_OUT: [ '-', 'Subtract' ],
- ZOOM_DEFAULT: [ '0' ],
- };
- describe('features/keyboard - zoom', function() {
- var defaultDiagramConfig = {
- modules: [
- keyboardModule,
- editorActionsModule,
- zoomScrollModule
- ],
- canvas: {
- deferUpdate: false
- }
- };
- var decisionTable = [{
- desc: 'zoom in',
- keys: KEYS.ZOOM_IN,
- ctrlKey: true,
- defaultZoom: 3,
- zoom: 4
- }, {
- desc: 'zoom out',
- keys: KEYS.ZOOM_OUT,
- ctrlKey: true,
- defaultZoom: 3,
- zoom: 2.456
- }, {
- desc: 'zoom default',
- keys: KEYS.ZOOM_DEFAULT,
- ctrlKey: true,
- defaultZoom: 3,
- zoom: 1
- }];
- beforeEach(bootstrapDiagram(defaultDiagramConfig));
- forEach(decisionTable, function(testCase) {
- forEach(testCase.keys, function(key) {
- it('should handle ' + key + ' for ' + testCase.desc, inject(function(canvas, keyboard) {
- // given
- canvas.zoom(testCase.defaultZoom);
- var event = createKeyEvent(key, {
- ctrlKey: testCase.ctrlKey
- });
- // when
- keyboard._keyHandler(event);
- // then
- expect(canvas.zoom()).to.be.equal(testCase.zoom);
- expect(event.defaultPrevented).to.be.true;
- }));
- });
- });
- });
|