Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
c98eebe4
Commit
c98eebe4
authored
Oct 09, 2012
by
catch
Browse files
Issue
#1807058
by sun: Fixed Config stores a NULL value as an array.
parent
fe77630a
Changes
2
Hide whitespace changes
Inline
Side-by-side
core/lib/Drupal/Core/Config/Config.php
View file @
c98eebe4
...
...
@@ -270,13 +270,14 @@ public function set($key, $value) {
* Any non-scalar value that is not an array (aka objects) gets cast
* to an array.
*
* @param $value
* @param
mixed
$value
* A value being saved into the configuration system.
* @param $value
*
* @return string
* The value cast to a string or array.
*/
public
function
castValue
(
$value
)
{
if
(
is_scalar
(
$value
))
{
if
(
is_scalar
(
$value
)
||
$value
===
NULL
)
{
// Handle special case of FALSE, which should be '0' instead of ''.
if
(
$value
===
FALSE
)
{
$value
=
'0'
;
...
...
core/modules/config/lib/Drupal/config/Tests/ConfigFileContentTest.php
View file @
c98eebe4
...
...
@@ -84,6 +84,9 @@ function testReadWriteConfig() {
// Add a boolean true value. Should get cast to 1
$config
->
set
(
$true_key
,
TRUE
);
// Add a null value. Should get cast to an empty string.
$config
->
set
(
'null'
,
NULL
);
// Add an array with a nested boolean false that should get cast to 0.
$config
->
set
(
$casting_array_key
,
$casting_array_value
);
$config
->
save
();
...
...
@@ -119,6 +122,9 @@ function testReadWriteConfig() {
// Read true value
$this
->
assertEqual
(
$config
->
get
(
$true_key
),
'1'
,
format_string
(
"Boolean TRUE value returned the string '1'."
));
// Read null value.
$this
->
assertIdentical
(
$config
->
get
(
'null'
),
''
);
// Read false that had been nested in an array value
$this
->
assertEqual
(
$config
->
get
(
$casting_array_false_value_key
),
'0'
,
format_string
(
"Nested boolean FALSE value returned the string '0'."
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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