Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
2b609009
Commit
2b609009
authored
Nov 27, 2014
by
Alex Pott
Browse files
Issue
#2348459
by larowlan, alexarpen: Fields of type 'Text (formatted)' do NOT save values
parent
4fef7db1
Changes
2
Hide whitespace changes
Inline
Side-by-side
core/modules/filter/src/Element/TextFormat.php
View file @
2b609009
...
...
@@ -83,6 +83,8 @@ public static function processFormat(&$element, FormStateInterface $form_state,
// Do not copy this #process function to prevent
// \Drupal::formBuilder()->doBuildForm() from recursing infinitely.
'#process'
,
// Ensure #pre_render functions will be run.
'#pre_render'
,
// Description is handled by theme_text_format_wrapper().
'#description'
,
// Ensure proper ordering of children.
...
...
core/modules/filter/src/Tests/TextFormatElementFormTest.php
0 → 100644
View file @
2b609009
<?php
/**
* @file
* Contains \Drupal\filter\Tests\TextFormatElementFormTest.
*/
namespace
Drupal\filter\Tests
;
use
Drupal\Core\Form\FormInterface
;
use
Drupal\Core\Form\FormStateInterface
;
use
Drupal\filter\Entity\FilterFormat
;
use
Drupal\simpletest\KernelTestBase
;
use
Drupal\user\Entity\Role
;
use
Drupal\user\Entity\User
;
/**
* Tests PathElement validation and conversion functionality.
*
* @group Form
*/
class
TextFormatElementFormTest
extends
KernelTestBase
implements
FormInterface
{
/**
* User for testing.
*
* @var \Drupal\user\UserInterface
*/
protected
$testUser
;
/**
* Modules to enable.
*
* @var array
*/
public
static
$modules
=
[
'system'
,
'user'
,
'filter'
,
'filter_test'
,
'editor'
];
/**
* Sets up the test.
*/
protected
function
setUp
()
{
parent
::
setUp
();
$this
->
installEntitySchema
(
'user'
);
$this
->
installSchema
(
'system'
,
[
'sequences'
,
'router'
]);
$this
->
installConfig
([
'filter'
,
'filter_test'
]);
// Filter tips link to the full-page.
\
Drupal
::
service
(
'router.builder'
)
->
rebuild
();
/* @var \Drupal\Core\Render\ElementInfoManager $manager */
$manager
=
\
Drupal
::
service
(
'plugin.manager.element_info'
);
$manager
->
clearCachedDefinitions
();
$manager
->
getDefinitions
();
/* @var \Drupal\filter\FilterFormatInterface $filter_test_format */
$filter_test_format
=
FilterFormat
::
load
(
'filter_test'
);
/* @var \Drupal\user\RoleInterface $role */
$role
=
Role
::
create
([
'id'
=>
'admin'
,
'label'
=>
'admin'
,
]);
$role
->
grantPermission
(
$filter_test_format
->
getPermissionName
());
$role
->
save
();
$this
->
testUser
=
User
::
create
([
'name'
=>
'foobar'
,
'mail'
=>
'foobar@example.com'
,
]);
$this
->
testUser
->
addRole
(
$role
->
id
());
$this
->
testUser
->
save
();
\
Drupal
::
service
(
'current_user'
)
->
setAccount
(
$this
->
testUser
);
}
/**
* {@inheritdoc}
*/
public
function
getFormId
()
{
return
'test_text_area_element'
;
}
/**
* {@inheritdoc}
*/
public
function
buildForm
(
array
$form
,
FormStateInterface
$form_state
)
{
// A textformat field.
$form
[
'textformat'
]
=
[
'#type'
=>
'text_format'
,
'#required'
=>
TRUE
,
'#title'
=>
'Text'
,
'#base_type'
=>
'textfield'
,
'#format'
=>
NULL
,
'#default_value'
=>
'test value'
,
];
return
$form
;
}
/**
* {@inheritdoc}
*/
public
function
submitForm
(
array
&
$form
,
FormStateInterface
$form_state
)
{}
/**
* Form validation handler.
*
* @param array $form
* An associative array containing the structure of the form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*/
public
function
validateForm
(
array
&
$form
,
FormStateInterface
$form_state
)
{}
/**
* Tests that values are returned.
*/
public
function
testTextFormatElement
()
{
/* @var \Drupal\Core\Form\FormBuilder $form_builder */
$form_builder
=
$this
->
container
->
get
(
'form_builder'
);
$form
=
$form_builder
->
getForm
(
$this
);
$output
=
$this
->
render
(
$form
);
$this
->
setRawContent
(
$output
);
$this
->
assertFieldByName
(
'textformat[value]'
);
}
/**
* {@inheritdoc}
*/
protected
function
getUrl
()
{
// \Drupal\simpletest\AssertContentTrait needs this for ::assertFieldByName
// to work.
return
'Internal rendering'
;
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment