123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import TestState, { rectangleId, arrowId } from './test-utils'
-
- describe('selection', () => {
- const tt = new TestState()
-
- it('selects a shape', () => {
- tt.deselectAll().clickShape(rectangleId)
-
- expect(tt.idsAreSelected([rectangleId])).toBe(true)
- })
-
- it('selects and deselects a shape', () => {
- tt.deselectAll().clickShape(rectangleId).clickCanvas()
-
- expect(tt.idsAreSelected([])).toBe(true)
- })
-
- it('selects multiple shapes', () => {
- tt.deselectAll()
- .clickShape(rectangleId)
- .clickShape(arrowId, { shiftKey: true })
-
- expect(tt.idsAreSelected([rectangleId, arrowId])).toBe(true)
- })
-
- it('shift-selects to deselect shapes', () => {
- tt.deselectAll()
- .clickShape(rectangleId)
- .clickShape(arrowId, { shiftKey: true })
- .clickShape(rectangleId, { shiftKey: true })
-
- expect(tt.idsAreSelected([arrowId])).toBe(true)
- })
-
- it('single-selects shape in selection on click', () => {
- tt.deselectAll()
- .clickShape(rectangleId)
- .clickShape(arrowId, { shiftKey: true })
- .clickShape(arrowId)
-
- expect(tt.idsAreSelected([arrowId])).toBe(true)
- })
-
- it('single-selects shape in selection on pointerup only', () => {
- tt.deselectAll()
- .clickShape(rectangleId)
- .clickShape(arrowId, { shiftKey: true })
-
- expect(tt.idsAreSelected([rectangleId, arrowId])).toBe(true)
-
- tt.startClick(arrowId)
-
- expect(tt.idsAreSelected([rectangleId, arrowId])).toBe(true)
-
- tt.stopClick(arrowId)
-
- expect(tt.idsAreSelected([arrowId])).toBe(true)
- })
-
- it('selects shapes if shift key is lifted before pointerup', () => {
- tt.deselectAll()
- .clickShape(rectangleId)
- .clickShape(arrowId, { shiftKey: true })
- .startClick(rectangleId, { shiftKey: true })
- .stopClick(rectangleId)
-
- expect(tt.idsAreSelected([rectangleId])).toBe(true)
- })
-
- it('does not select on meta-click', () => {
- tt.deselectAll().clickShape(rectangleId, { ctrlKey: true })
-
- expect(tt.idsAreSelected([])).toBe(true)
- })
-
- it('does not select on meta-shift-click', () => {
- tt.deselectAll().clickShape(rectangleId, { ctrlKey: true, shiftKey: true })
-
- expect(tt.idsAreSelected([])).toBe(true)
- })
- })
|