WordPress.org

Make WordPress Core

Changeset 36552


Ignore:
Timestamp:
02/17/16 18:54:27 (20 months ago)
Author:
ocean90
Message:

Tests: Add Tests_dbDelta::assertTableHasPrimaryKey().

Also fix a typo in the name for the compound key.

Props charlestonsw.
Fixes #34877.

File:
1 edited

Legend:

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

    r35487 r36552  
    3434                PRIMARY KEY  (id), 
    3535                KEY key_1 (column_1), 
    36                 KEY compoud_key (id,column_1), 
     36                KEY compound_key (id,column_1), 
    3737                FULLTEXT KEY fulltext_key (column_1) 
    3838            ) ENGINE=MyISAM 
     
    106106                PRIMARY KEY  (id), 
    107107                KEY key_1 (column_1), 
    108                 KEY compoud_key (id,column_1) 
     108                KEY compound_key (id,column_1) 
    109109            ) 
    110110            " 
     
    129129                PRIMARY KEY  (id), 
    130130                KEY key_1 (column_1), 
    131                 KEY compoud_key (id,column_1) 
     131                KEY compound_key (id,column_1) 
    132132            ) 
    133133            " 
     
    158158                PRIMARY KEY  (id), 
    159159                KEY key_1 (column_1), 
    160                 KEY compoud_key (id,column_1) 
     160                KEY compound_key (id,column_1) 
    161161            ) 
    162162            " 
     
    172172 
    173173        $this->assertTableHasColumn( 'column_1', $wpdb->prefix . 'dbdelta_test' ); 
     174        $this->assertTableHasPrimaryKey( 'id' , $wpdb->prefix . 'dbdelta_test' ); 
    174175    } 
    175176 
     
    190191                PRIMARY KEY  (id), 
    191192                KEY key_1 (column_1), 
    192                 KEY compoud_key (id,column_1) 
     193                KEY compound_key (id,column_1) 
    193194            ) 
    194195            " 
     
    216217                PRIMARY KEY  (id), 
    217218                KEY key_1 (column_1), 
    218                 KEY compoud_key (id,column_1) 
     219                KEY compound_key (id,column_1) 
    219220            ) 
    220221            " 
     
    266267                PRIMARY KEY  (id), 
    267268                KEY key_1 (column_1), 
    268                 KEY compoud_key (id,column_1), 
     269                KEY compound_key (id,column_1), 
    269270                FULLTEXT KEY fulltext_key (column_1) 
    270271            ) 
     
    287288     */ 
    288289    protected function assertTableRowHasValue( $column, $value, $table ) { 
    289  
    290290        global $wpdb; 
    291291 
     
    306306     */ 
    307307    protected function assertTableHasColumn( $column, $table ) { 
    308  
    309308        global $wpdb; 
    310309 
     
    312311 
    313312        $this->assertCount( 1, wp_list_filter( $table_fields, array( 'Field' => $column ) ) ); 
     313    } 
     314 
     315    /** 
     316     * Assert that a table has a primary key. 
     317     * 
     318     * Checks for single-column primary keys. May not work for multi-column primary keys. 
     319     * 
     320     * @param string $column The column for the primary key. 
     321     * @param string $table  The database table name. 
     322     */ 
     323    protected function assertTableHasPrimaryKey( $column , $table ) { 
     324        global $wpdb; 
     325 
     326        $table_indices = $wpdb->get_results( "SHOW INDEX FROM {$table}" ); 
     327 
     328        $this->assertCount( 1, wp_list_filter( $table_indices, array( 'Key_name' => 'PRIMARY' , 'Column_name' => $column ) , 'AND' ) ); 
    314329    } 
    315330 
Note: See TracChangeset for help on using the changeset viewer.