diff --git a/tests/phpunit/tests/option/option.php b/tests/phpunit/tests/option/option.php index 0f67fa9490..79331f9a24 100644 --- a/tests/phpunit/tests/option/option.php +++ b/tests/phpunit/tests/option/option.php @@ -89,14 +89,63 @@ class Tests_Option_Option extends WP_UnitTestCase { /** * @ticket 23289 + * + * @dataProvider data_bad_option_names + * + * @param mixed $option_name Option name. */ - function test_bad_option_names() { - foreach ( array( '', '0', ' ', 0, false, null ) as $empty ) { - $this->assertFalse( get_option( $empty ) ); - $this->assertFalse( add_option( $empty, '' ) ); - $this->assertFalse( update_option( $empty, '' ) ); - $this->assertFalse( delete_option( $empty ) ); - } + public function test_get_option_bad_option_name( $option_name ) { + $this->assertFalse( get_option( $option_name ) ); + } + + /** + * @ticket 23289 + * + * @dataProvider data_bad_option_names + * + * @param mixed $option_name Option name. + */ + public function test_add_option_bad_option_name( $option_name ) { + $this->assertFalse( add_option( $option_name, '' ) ); + } + + /** + * @ticket 23289 + * + * @dataProvider data_bad_option_names + * + * @param mixed $option_name Option name. + */ + public function test_update_option_bad_option_name( $option_name ) { + $this->assertFalse( update_option( $option_name, '' ) ); + } + + /** + * @ticket 23289 + * + * @dataProvider data_bad_option_names + * + * @param mixed $option_name Option name. + */ + public function test_delete_option_bad_option_name( $option_name ) { + $this->assertFalse( delete_option( $option_name ) ); + } + + /** + * Data provider. + * + * @return array + */ + public function data_bad_option_names() { + return array( + 'empty string' => array( '' ), + 'string 0' => array( '0' ), + 'string single space' => array( ' ' ), + 'integer 0' => array( 0 ), + 'float 0.0' => array( 0.0 ), + 'boolean false' => array( false ), + 'null' => array( null ), + ); } /**