// Confirm the AJAX operation of opening the form does not result in the row
// being set as changed. New settings must be submitted for that to happen.
$assert_session->
elementNotExists('css', 'abbr.tabledrag-changed'
);
$cancel_button =
$assert_session->
waitForElementVisible('css', '[data-drupal-selector="edit-fields-uid-settings-edit-form-actions-cancel-settings"]'
);
$cancel_button->
press();
$assert_session->
assertNoElementAfterWait('css', '[data-drupal-selector="edit-fields-uid-settings-edit-form-actions-cancel-settings"]'
);
$assert_session->
elementNotExists('css', '.tabledrag-changed-warning'
);
$assert_session->
elementNotExists('css', 'abbr.tabledrag-changed'
);
$edit_widget_button =
$assert_session->
waitForElementVisible('css', '[data-drupal-selector="edit-fields-uid-settings-edit"]'
);
$edit_widget_button->
press();
$widget_field =
$assert_session->
waitForField('fields[uid][settings_edit_form][third_party_settings][field_third_party_test][field_test_widget_third_party_settings_form]'
);
$widget_field->
setValue('honk'
);
$update_button =
$assert_session->
waitForElementVisible('css', '[data-drupal-selector="edit-fields-uid-settings-edit-form-actions-save-settings"]'
);
$update_button->
press();
$assert_session->
assertNoElementAfterWait('css', '[data-drupal-selector="edit-fields-field-test-settings-edit-form-actions-cancel-settings"]'
);
$this->
assertNotNull($changed_warning =
$assert_session->
waitForElementVisible('css', '.tabledrag-changed-warning'
));
$this->
assertNotNull($assert_session->
waitForElementVisible('css', ' #uid abbr.tabledrag-changed'
));
$this->
assertSame('* You have unsaved changes.',
$changed_warning->
getText());
// Content display, change formatter type.
$this->
drupalGet($manage_display);
$assert_session->
elementNotExists('css', '.tabledrag-changed-warning'
);