WordPress.org

Make WordPress Core

Ticket #39868: wp-validate-boolean.php.patch

File wp-validate-boolean.php.patch, 1.7 KB (added by pbearne, 2 years ago)

unit tests

  • tests/phpunit/tests/functions/wp-validate-boolean.php

     
     1<?php
     2/**
     3 * tests for wp_validate_boolean() in functions.php
     4 * User: PBearne
     5 * Date: 2016-02-01
     6 *
     7 */
     8
     9if ( ! defined( 'WPINC' ) ) {
     10        die;
     11}
     12/**
     13 * @group functions.php
     14 */
     15class Tests_Functions_wp_validate_boolean extends WP_UnitTestCase {
     16
     17        /**
     18         * data provider
     19         *
     20         * @return array
     21         */
     22        function data_provider() {
     23                        $std = new \stdClass();
     24
     25                        return array(
     26                                array ( true, true ),
     27                                array ( false, false ),
     28                                array ( 'true', true ),
     29                                array ( 'false', false ),
     30                                array ( 'string', true ),
     31                                array ( array(), false ),
     32                                array ( 1, true ),
     33                                array ( 0, false ),
     34                                array ( -1, true ),
     35                                array ( 99, true ),
     36                                array ( $std, true ),
     37                                array ( 'yes', true ),
     38                                array ( 'no', true ),
     39                                array ( '', false ),
     40                                array ( 0.1, true ),
     41                                array ( '1', true ),
     42                                array ( '0', false ),
     43                                array ( 'FalSE', false ), // @ticket 30238
     44                                array ( null, false ),
     45                                array ( 'FALSE', false ), // @ticket 30238
     46                                array ( 'TRUE', true ),
     47                                array ( ' FALSE ', true ),
     48                        );
     49                }
     50
     51        /**
     52         * @covers ::wp_validate_boolean
     53         * @dataProvider data_provider
     54         *
     55         * @param mixed $tested.
     56         * @param bool $expected.
     57         */
     58        public function test_wp_validate_boolea( $tested, $expected ) {
     59
     60                $this->assertEquals( wp_validate_boolean( $tested ), $expected );
     61        }
     62}