This test verifies that we scroll to reveal the selection after pasting images in an editable area. To run the test manually, copy the selected images and paste into the red editable container above. The container should scroll to reveal the caret after the last image.

Scrolled after pasting:
| <div>
|   <img>
|     src="resources/mozilla.gif"
| <div>
|   <img>
|     src="resources/apple.gif"
| <div>
|   <img>
|     src="../resources/abe.png"
|   <#selection-caret>
