From f5006846148e5598c528967bb645b5a945e5b91c Mon Sep 17 00:00:00 2001 From: Ella van Durpe Date: Tue, 21 Jan 2020 17:41:15 +0100 Subject: [PATCH] Add e2e test --- .../multi-block-selection.test.js.snap | 10 +++++++ .../various/multi-block-selection.test.js | 27 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/packages/e2e-tests/specs/editor/various/__snapshots__/multi-block-selection.test.js.snap b/packages/e2e-tests/specs/editor/various/__snapshots__/multi-block-selection.test.js.snap index 68f5047e1bc9c0..c3bea88fa75fad 100644 --- a/packages/e2e-tests/specs/editor/various/__snapshots__/multi-block-selection.test.js.snap +++ b/packages/e2e-tests/specs/editor/various/__snapshots__/multi-block-selection.test.js.snap @@ -8,6 +8,16 @@ exports[`Multi-block selection should allow selecting outer edge if there is no exports[`Multi-block selection should always expand single line selection 1`] = `""`; +exports[`Multi-block selection should clear selection when clicking next to blocks 1`] = ` +" +

1

+ + + +

2

+" +`; + exports[`Multi-block selection should copy and paste 1`] = ` "

1

diff --git a/packages/e2e-tests/specs/editor/various/multi-block-selection.test.js b/packages/e2e-tests/specs/editor/various/multi-block-selection.test.js index cd7b19f264666c..7adbdacd7f1261 100644 --- a/packages/e2e-tests/specs/editor/various/multi-block-selection.test.js +++ b/packages/e2e-tests/specs/editor/various/multi-block-selection.test.js @@ -449,4 +449,31 @@ describe( 'Multi-block selection', () => { expect( await getEditedPostContent() ).toMatchSnapshot(); } ); + + it( 'should clear selection when clicking next to blocks', async () => { + await clickBlockAppender(); + await page.keyboard.type( '1' ); + await page.keyboard.press( 'Enter' ); + await page.keyboard.type( '2' ); + await pressKeyWithModifier( 'shift', 'ArrowUp' ); + + await testNativeSelection(); + expect( await getSelectedFlatIndices() ).toEqual( [ 1, 2 ] ); + + const coord = await page.evaluate( () => { + const element = document.querySelector( '.wp-block-paragraph' ); + const rect = element.getBoundingClientRect(); + return { + x: rect.x - 1, + y: rect.y + ( rect.height / 2 ), + }; + } ); + + await page.mouse.click( coord.x, coord.y ); + + await testNativeSelection(); + expect( await getSelectedFlatIndices() ).toEqual( [] ); + + expect( await getEditedPostContent() ).toMatchSnapshot(); + } ); } );