Make WordPress Core


Ignore:
Timestamp:
05/28/2015 06:37:44 AM (9 years ago)
Author:
jeremyfelt
Message:

Use a dataProvider for network option sanitization tests.

Cleans up tests for sanitization of illegal_names, illegal_email_domains, and banned_email_domains network options.

Fixes #32517.

File:
1 edited

Legend:

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

    r32518 r32634  
    183183
    184184    /**
    185      * @ticket 21552
    186      * @ticket 23418
    187      */
    188     function test_sanitize_ms_options() {
    189         update_site_option( 'illegal_names', array( '', 'Woo', '' ) );
    190         update_site_option( 'limited_email_domains', array(  'woo', '', 'boo.com', 'foo.net.biz..'  ) );
    191         update_site_option( 'banned_email_domains', array(  'woo', '', 'boo.com', 'foo.net.biz..'  ) );
    192 
    193         $this->assertEquals( array( 'Woo' ), get_site_option( 'illegal_names' ) );
    194         $this->assertEquals( array( 'woo', 'boo.com' ), get_site_option( 'limited_email_domains' ) );
    195         $this->assertEquals( array( 'woo', 'boo.com' ), get_site_option( 'banned_email_domains' ) );
    196 
    197         update_site_option( 'illegal_names', 'foo bar' );
    198         update_site_option( 'limited_email_domains', "foo\nbar" );
    199         update_site_option( 'banned_email_domains', "foo\nbar" );
    200 
    201         $this->assertEquals( array( 'foo', 'bar' ), get_site_option( 'illegal_names' ) );
    202         $this->assertEquals( array( 'foo', 'bar' ), get_site_option( 'limited_email_domains' ) );
    203         $this->assertEquals( array( 'foo', 'bar' ), get_site_option( 'banned_email_domains' ) );
    204 
    205         foreach ( array( 'illegal_names', 'limited_email_domains', 'banned_email_domains' ) as $option ) {
    206             update_site_option( $option, array() );
    207             $this->assertSame( '', get_site_option( $option ) );
    208         }
     185     * @dataProvider data_illegal_names
     186     */
     187    function test_sanitize_network_option_illegal_names( $option_value, $sanitized_option_value ) {
     188        update_site_option( 'illegal_names', $option_value );
     189        $this->assertEquals( $sanitized_option_value, get_site_option( 'illegal_names' ) );
     190    }
     191
     192    function data_illegal_names() {
     193        return array(
     194            array( array( '', 'Woo', '' ), array( 'Woo' ) ),
     195            array( 'foo bar', array( 'foo', 'bar' ) ),
     196            array( array(), '' ),
     197        );
     198    }
     199
     200    /**
     201     * @dataProvider data_email_domains
     202     *
     203     * @param $option_value
     204     * @param $sanitized_option_value
     205     */
     206    function test_sanitize_network_option_limited_email_domains( $option_value, $sanitized_option_value ) {
     207        update_site_option( 'limited_email_domains', $option_value );
     208        $this->assertEquals( $sanitized_option_value, get_site_option( 'limited_email_domains' ) );
     209    }
     210
     211    /**
     212     * @dataProvider data_email_domains
     213     *
     214     * @param $option_value
     215     * @param $sanitized_option_value
     216     */
     217    function test_sanitize_network_option_banned_email_domains( $option_value, $sanitized_option_value ) {
     218        update_site_option( 'banned_email_domains', $option_value );
     219        $this->assertEquals( $sanitized_option_value, get_site_option( 'banned_email_domains' ) );
     220    }
     221
     222    function data_email_domains() {
     223        return array(
     224            array( array( 'woo', '', 'boo.com', 'foo.net.biz..' ), array( 'woo', 'boo.com' ) ),
     225            array( "foo\nbar", array( 'foo', 'bar' ) ),
     226            array( "foo\n\nbar", array( 'foo', 'bar' ) ),
     227            array( "\nfoo\nbar\n", array( 'foo', 'bar' ) ),
     228            array( "foo\nfoo.net.biz..", array( 'foo' ) ),
     229            array( "foo\nfoo.net.biz..\nbar.com", array( 'foo', 'bar.com' ) ),
     230            array( 'foo.', array( 'foo.' ) ),
     231            array( '.foo', array( '.foo' ) ),
     232            array( 'foo^net', '' ),
     233            array( array(), '' ),
     234        );
    209235    }
    210236}
Note: See TracChangeset for help on using the changeset viewer.