Make WordPress Core

Changeset 30207


Ignore:
Timestamp:
11/03/2014 03:54:42 PM (10 years ago)
Author:
boonebgorges
Message:

Ignore case when checking string 'false' in wp_validate_boolean().

Props TobiasBg, kitchin.
Fixes #30238.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/functions.php

    r30191 r30207  
    47414741
    47424742/**
    4743  * Alternative to filter_var( $var, FILTER_VALIDATE_BOOLEAN ).
     4743 * Filter/validate a variable as a boolean.
     4744 *
     4745 * Alternative to `filter_var( $var, FILTER_VALIDATE_BOOLEAN )`.
    47444746 *
    47454747 * @since 4.0.0
     
    47534755    }
    47544756
    4755     if ( 'false' === $var ) {
     4757    if ( is_string( $var ) && 'false' === strtolower( $var ) ) {
    47564758        return false;
    47574759    }
  • trunk/tests/phpunit/tests/functions/WpValidateBoolean.php

    r30206 r30207  
    5757        $this->assertFalse( wp_validate_boolean( 'false' ) );
    5858    }
     59
     60    /**
     61     * @ticket 30238
     62     */
     63    public function test_string_false_uppercase() {
     64        // Differs from (bool) conversion.
     65        $this->assertFalse( wp_validate_boolean( 'FALSE' ) );
     66    }
     67
     68    /**
     69     * @ticket 30238
     70     */
     71    public function test_string_false_mixedcase() {
     72        // Differs from (bool) conversion.
     73        $this->assertFalse( wp_validate_boolean( 'FaLsE' ) );
     74    }
    5975}
Note: See TracChangeset for help on using the changeset viewer.