diff options
Diffstat (limited to 'tests/profile/custom_test.php')
-rw-r--r-- | tests/profile/custom_test.php | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/tests/profile/custom_test.php b/tests/profile/custom_test.php index 06926d4af6..0e0a851243 100644 --- a/tests/profile/custom_test.php +++ b/tests/profile/custom_test.php @@ -19,20 +19,23 @@ class phpbb_profile_custom_test extends phpbb_database_test_case static public function dropdownFields() { return array( - // novalue, required, value, expected - array(1, 1, '0', 'FIELD_INVALID_VALUE'), - array(1, 1, '1', 'FIELD_REQUIRED'), - array(1, 1, '2', false), - array(1, 0, '0', 'FIELD_INVALID_VALUE'), - array(1, 0, '1', false), - array(1, 0, '2', false), + // note, there is an offset of 1 between option_id (0-indexed) + // in the database and values (1-indexed) to avoid problems with + // transmitting 0 in an HTML form + // required, value, expected + array(1, '0', 'FIELD_INVALID_VALUE', 'Required field should throw error for out-of-range value'), + array(1, '1', 'FIELD_REQUIRED', 'Required field should throw error for default value'), + array(1, '2', false, 'Required field should accept non-default value'), + array(0, '0', 'FIELD_INVALID_VALUE', 'Optional field should throw error for out-of-range value'), + array(0, '1', false, 'Optional field should accept default value'), + array(0, '2', false, 'Optional field should accept non-default value'), ); } /** * @dataProvider dropdownFields */ - public function test_dropdown_validate($field_novalue, $field_required, $field_value, $expected) + public function test_dropdown_validate($field_required, $field_value, $expected, $description) { global $db; $db = $this->new_dbal(); @@ -40,13 +43,13 @@ class phpbb_profile_custom_test extends phpbb_database_test_case $field_data = array( 'field_id' => 1, 'lang_id' => 1, - 'field_novalue' => $field_novalue, + 'field_novalue' => 1, 'field_required' => $field_required, ); $cp = new custom_profile; $result = $cp->validate_profile_field(FIELD_DROPDOWN, &$field_value, $field_data); - $this->assertEquals($expected, $result); + $this->assertEquals($expected, $result, $description); } } |