summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/form.inc2
-rw-r--r--modules/simpletest/tests/form.test8
2 files changed, 5 insertions, 5 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 9875c1b0a..9b259c482 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1625,7 +1625,7 @@ function form_type_checkbox_value($element, $input = FALSE) {
else {
// Disabled form controls are not submitted by the browser. Ignore any
// submitted value and always return default.
- return $element['#default_value'];
+ return isset($element['#default_value']) && $element['#default_value'] === $element['#return_value'] ? $element['#return_value'] : 0;
}
}
}
diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test
index b7dec7b6a..8941fd170 100644
--- a/modules/simpletest/tests/form.test
+++ b/modules/simpletest/tests/form.test
@@ -135,14 +135,14 @@ class FormsTestCase extends DrupalWebTestCase {
$values = drupal_json_decode($this->drupalPost(NULL, array('required_checkbox' => 1), t('Submit')));
$expected_values = array(
'disabled_checkbox_on' => 'disabled_checkbox_on',
- 'disabled_checkbox_off' => '',
+ 'disabled_checkbox_off' => 0,
'checkbox_on' => 'checkbox_on',
- 'checkbox_off' => '',
+ 'checkbox_off' => 0,
'zero_checkbox_on' => '0',
- 'zero_checkbox_off' => '',
+ 'zero_checkbox_off' => 0,
);
foreach ($expected_values as $widget => $expected_value) {
- $this->assertEqual($values[$widget], $expected_value, t('Checkbox %widget returns expected value (expected: %expected, got: %value)', array(
+ $this->assertIdentical($values[$widget], $expected_value, t('Checkbox %widget returns expected value (expected: %expected, got: %value)', array(
'%widget' => var_export($widget, TRUE),
'%expected' => var_export($expected_value, TRUE),
'%value' => var_export($values[$widget], TRUE),