## Creating
- Put selection in the single paragraph, and press code block button. Paragraph should change to code block.
- Select multiple paragraphs and press code block icon. All blocks should be changed into one code block element with a multiple lines.
- Change the middle paragraph into code block, select the preceding and the following paragraph, and press code block button. All selected blocks should be merged into one code block.
- Try to create code block into block quote - it should work fine.
- Try to create create a block quote into a table - it should work fine.
## Leaving the code block using enter
### Block end
- Create an empty line at the end of the block and put the selection there.
- Press Enter again.
- The new line created in the code block should no longer be there.
- A new empty paragraph should be created after the code block.
- The selection should be in that paragraph.
### Block beginning
- Similarly, create an empty line at the beginning of the block and put the selection there.
- The operation should be mirrored upon enter (empty paragraph created before, not after, etc.).
### Shift+Enter
- The above scenarios should **not** work when using Shift+Enter.
## Indenting and outdenting
- Use Tab to insert tab (selection in the middle of the line) or indent entire line (selection before line's text).
- Use Shift+Tab to outdent the line.
- Try both with different selections, e.g. containing multiple lines.
- It should act similarly to native code editors.
- Use the "Increase indent" and "Decrease indent" buttons in the toolbar – their actions should correspond to the keystrokes.
## Preserving indent on enter
- Having indented some line put the caret at the end of it.
- Press Enter.
- The new line should have the same indentation level as the previous one.
## Integration with Autoformat
- Type `` ``` `` in an empty paragraph.
- A new empty code block should be inserted with the selection inside of it.
- Try to undo. There should be 2 undo steps (code block removal, and `` ``` ``).