Make WordPress Core


Ignore:
Timestamp:
01/25/2015 07:50:31 AM (9 years ago)
Author:
nacin
Message:

Allow $autoload in add_option() to receive false.

props dllh.
fixes #31119.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/option/option.php

    r25002 r31278  
    100100        delete_option( 'notoptions' );
    101101    }
     102
     103    function data_option_autoloading() {
     104        return array(
     105            array( 'autoload_yes',    'yes',   'yes' ),
     106            array( 'autoload_true',   true,    'yes' ),
     107            array( 'autoload_string', 'foo',   'yes' ),
     108            array( 'autoload_int',    123456,  'yes' ),
     109            array( 'autoload_array',  array(), 'yes' ),
     110            array( 'autoload_no',     'no',    'no'  ),
     111            array( 'autoload_false',  false,   'no'  ),
     112        );
     113    }
     114    /**
     115     * Options should be autoloaded unless they were added with "no" or `false`.
     116     *
     117     * @ticket 31119
     118     * @dataProvider data_option_autoloading
     119     */
     120    function test_option_autoloading( $name, $autoload_value, $expected ) {
     121        global $wpdb;
     122        $added = add_option( $name, 'Autoload test', '', $autoload_value );
     123        $this->assertTrue( $added );
     124
     125        $actual = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s LIMIT 1", $name ) );
     126        $this->assertEquals( $expected, $actual->autoload );
     127    }
    102128}
Note: See TracChangeset for help on using the changeset viewer.