-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RNMobile] Spacer block: Fix import of
MIN_SPACER_SIZE
constant (#4…
…0053) * Fix import of MIN_SPACER_SIZE constant * Add tests for Spacer block
- Loading branch information
Showing
3 changed files
with
212 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 31 additions & 0 deletions
31
packages/block-library/src/spacer/test/__snapshots__/index.native.js.snap
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
// Jest Snapshot v1, https://goo.gl/fbAQLP | ||
|
||
exports[`Spacer block decrements height 1`] = ` | ||
"<!-- wp:spacer {\\"height\\":\\"99px\\"} --> | ||
<div style=\\"height:99px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div> | ||
<!-- /wp:spacer -->" | ||
`; | ||
exports[`Spacer block increments height 1`] = ` | ||
"<!-- wp:spacer {\\"height\\":\\"101px\\"} --> | ||
<div style=\\"height:101px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div> | ||
<!-- /wp:spacer -->" | ||
`; | ||
exports[`Spacer block inserts block 1`] = ` | ||
"<!-- wp:spacer --> | ||
<div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div> | ||
<!-- /wp:spacer -->" | ||
`; | ||
exports[`Spacer block updates height to 25vh 1`] = ` | ||
"<!-- wp:spacer {\\"height\\":\\"25vh\\"} --> | ||
<div style=\\"height:25vh\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div> | ||
<!-- /wp:spacer -->" | ||
`; | ||
exports[`Spacer block updates height to 50px 1`] = ` | ||
"<!-- wp:spacer {\\"height\\":\\"50px\\"} --> | ||
<div style=\\"height:50px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div> | ||
<!-- /wp:spacer -->" | ||
`; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
/** | ||
* External dependencies | ||
*/ | ||
import { | ||
fireEvent, | ||
getEditorHtml, | ||
initializeEditor, | ||
waitFor, | ||
} from 'test/helpers'; | ||
|
||
/** | ||
* WordPress dependencies | ||
*/ | ||
import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks'; | ||
import { registerCoreBlocks } from '@wordpress/block-library'; | ||
|
||
beforeAll( () => { | ||
// Register all core blocks | ||
registerCoreBlocks(); | ||
} ); | ||
|
||
afterAll( () => { | ||
// Clean up registered blocks | ||
getBlockTypes().forEach( ( block ) => { | ||
unregisterBlockType( block.name ); | ||
} ); | ||
} ); | ||
|
||
describe( 'Spacer block', () => { | ||
it( 'inserts block', async () => { | ||
const { | ||
getByA11yLabel, | ||
getByTestId, | ||
getByText, | ||
} = await initializeEditor(); | ||
|
||
fireEvent.press( getByA11yLabel( 'Add block' ) ); | ||
|
||
const blockList = getByTestId( 'InserterUI-Blocks' ); | ||
// onScroll event used to force the FlatList to render all items | ||
fireEvent.scroll( blockList, { | ||
nativeEvent: { | ||
contentOffset: { y: 0, x: 0 }, | ||
contentSize: { width: 100, height: 100 }, | ||
layoutMeasurement: { width: 100, height: 100 }, | ||
}, | ||
} ); | ||
|
||
fireEvent.press( await waitFor( () => getByText( 'Spacer' ) ) ); | ||
|
||
expect( getByA11yLabel( /Spacer Block\. Row 1/ ) ).toBeVisible(); | ||
expect( getEditorHtml() ).toMatchSnapshot(); | ||
} ); | ||
|
||
it( 'updates height to 50px', async () => { | ||
const initialHtml = `<!-- wp:spacer --> | ||
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div> | ||
<!-- /wp:spacer -->`; | ||
const { | ||
getByA11yLabel, | ||
getByDisplayValue, | ||
getByTestId, | ||
getByText, | ||
} = await initializeEditor( { | ||
initialHtml, | ||
} ); | ||
|
||
// Select Spacer block | ||
const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ ); | ||
fireEvent.press( spacerBlock ); | ||
|
||
// Open block settings | ||
fireEvent.press( getByA11yLabel( 'Open Settings' ) ); | ||
await waitFor( | ||
() => getByTestId( 'block-settings-modal' ).props.isVisible | ||
); | ||
|
||
// Update height attribute | ||
fireEvent.press( getByText( '100' ) ); | ||
const heightTextInput = getByDisplayValue( '100' ); | ||
fireEvent.changeText( heightTextInput, '50' ); | ||
|
||
expect( getEditorHtml() ).toMatchSnapshot(); | ||
} ); | ||
|
||
it( 'updates height to 25vh', async () => { | ||
const initialHtml = `<!-- wp:spacer --> | ||
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div> | ||
<!-- /wp:spacer -->`; | ||
const { | ||
getByA11yLabel, | ||
getByDisplayValue, | ||
getByTestId, | ||
getByText, | ||
} = await initializeEditor( { | ||
initialHtml, | ||
} ); | ||
|
||
// Select Spacer block | ||
const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ ); | ||
fireEvent.press( spacerBlock ); | ||
|
||
// Open block settings | ||
fireEvent.press( getByA11yLabel( 'Open Settings' ) ); | ||
await waitFor( | ||
() => getByTestId( 'block-settings-modal' ).props.isVisible | ||
); | ||
|
||
// Set vh unit | ||
fireEvent.press( getByText( 'px' ) ); | ||
fireEvent.press( getByText( 'Viewport height (vh)' ) ); | ||
|
||
// Update height attribute | ||
fireEvent.press( getByText( '100' ) ); | ||
const heightTextInput = getByDisplayValue( '100' ); | ||
fireEvent.changeText( heightTextInput, '25' ); | ||
|
||
expect( getEditorHtml() ).toMatchSnapshot(); | ||
} ); | ||
|
||
it( 'increments height', async () => { | ||
const initialHtml = `<!-- wp:spacer --> | ||
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div> | ||
<!-- /wp:spacer -->`; | ||
const { getByA11yLabel, getByTestId } = await initializeEditor( { | ||
initialHtml, | ||
} ); | ||
|
||
// Select Spacer block | ||
const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ ); | ||
fireEvent.press( spacerBlock ); | ||
|
||
// Open block settings | ||
fireEvent.press( getByA11yLabel( 'Open Settings' ) ); | ||
await waitFor( | ||
() => getByTestId( 'block-settings-modal' ).props.isVisible | ||
); | ||
|
||
// Increment height | ||
fireEvent( | ||
getByA11yLabel( /Height\. Value is 100 Pixels \(px\)/ ), | ||
'accessibilityAction', | ||
{ | ||
nativeEvent: { actionName: 'increment' }, | ||
} | ||
); | ||
|
||
expect( getEditorHtml() ).toMatchSnapshot(); | ||
} ); | ||
|
||
it( 'decrements height', async () => { | ||
const initialHtml = `<!-- wp:spacer --> | ||
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div> | ||
<!-- /wp:spacer -->`; | ||
const { getByA11yLabel, getByTestId } = await initializeEditor( { | ||
initialHtml, | ||
} ); | ||
|
||
// Select Spacer block | ||
const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ ); | ||
fireEvent.press( spacerBlock ); | ||
|
||
// Open block settings | ||
fireEvent.press( getByA11yLabel( 'Open Settings' ) ); | ||
await waitFor( | ||
() => getByTestId( 'block-settings-modal' ).props.isVisible | ||
); | ||
|
||
// Increment height | ||
fireEvent( | ||
getByA11yLabel( /Height\. Value is 100 Pixels \(px\)/ ), | ||
'accessibilityAction', | ||
{ | ||
nativeEvent: { actionName: 'decrement' }, | ||
} | ||
); | ||
|
||
expect( getEditorHtml() ).toMatchSnapshot(); | ||
} ); | ||
} ); |