.../QuickEditIntegrationTest.php | 31 +++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/core/modules/quickedit/tests/src/FunctionalJavaScript/QuickEditIntegrationTest.php b/core/modules/quickedit/tests/src/FunctionalJavaScript/QuickEditIntegrationTest.php index e23a9f1..1ba5cf0 100644 --- a/core/modules/quickedit/tests/src/FunctionalJavaScript/QuickEditIntegrationTest.php +++ b/core/modules/quickedit/tests/src/FunctionalJavaScript/QuickEditIntegrationTest.php @@ -24,8 +24,10 @@ class QuickEditIntegrationTest extends JavascriptTestBase { protected $contentAuthorUser; protected static $expectedFieldStateAttributes = [ - 'candidate' => '.quickedit-field.quickedit-editable.quickedit-candidate:not(.quickedit-highlighted):not(.quickedit-editing)', - 'active' => '.quickedit-field.quickedit-editable.quickedit-candidate.quickedit-highlighted.quickedit-editing', + 'candidate' => '.quickedit-field.quickedit-editable.quickedit-candidate:not(.quickedit-highlighted):not(.quickedit-editing):not(.quickedit-changed)', + 'active' => '.quickedit-field.quickedit-editable.quickedit-candidate.quickedit-highlighted.quickedit-editing:not(.quickedit-changed)', + 'changed' => '.quickedit-field.quickedit-editable.quickedit-candidate.quickedit-highlighted.quickedit-editing.quickedit-changed', + 'saving' => '.quickedit-field.quickedit-editable.quickedit-candidate.quickedit-highlighted.quickedit-editing.quickedit-changed', ]; /** @@ -270,11 +272,34 @@ public function testArticleNode() { 'node/1/body/en/full' => 'candidate', ]); + // Type in the title field. + // @todo Clean this up once PhantomJS is fixed, see http://sticksnglue.com/wordpress/phantomjs-1-9-and-keyboardevent/. + $text_to_type = $node->get('body')->value . ' Llamas are awesome!'; + $js_simulate_user_typing = << span'); + el.textContent = '$text_to_type'; + el.dispatchEvent(window.KeyboardEvent('keyup')); +}() +JS; + $this->getSession()->evaluateScript($js_simulate_user_typing); + $this->assertEntityFieldStates('node', 1, 0, [ + 'node/1/title/en/full' => 'changed', + 'node/1/uid/en/full' => 'candidate', + 'node/1/created/en/full' => 'candidate', + 'node/1/body/en/full' => 'candidate', + ]); + // Click the body field. $this->click('[data-quickedit-entity-id="node/1"] .field--name-body'); $this->assertQuickEditEntityToolbar((string) $node->label(), 'Body'); $this->assertEntityFieldStates('node', 1, 0, [ - 'node/1/title/en/full' => 'candidate', + 'node/1/title/en/full' => 'saving', 'node/1/uid/en/full' => 'candidate', 'node/1/created/en/full' => 'candidate', 'node/1/body/en/full' => 'active',