WordPress.org

Make WordPress Core

Ticket #24661: 24661.0.tests.rev1301.patch

File 24661.0.tests.rev1301.patch, 1.2 KB (added by numidwasnotavailable, 10 months ago)

Unit test

  • tests/formatting/RemoveAccents.php

     
    9494 
    9595                remove_filter( 'locale', array( $this, '_remove_accents_germanic_umlauts_cb' ) ); 
    9696        } 
     97 
     98        /** 
     99         * @ticket 24661 
     100         */ 
     101        public function test_remove_accents_combining_marks() { 
     102                // Creates a string with all the combining marks. 
     103                $code_points = array_merge( 
     104                        range( 0x0300, 0x036F ), // Combining Diacritical Marks 
     105                        range( 0x1DC0, 0x1DFF ), // Combining Diacritical Marks Supplement 
     106                        range( 0x20D0, 0x20FF ), // Combining Diacritical Marks for Symbols 
     107                        range( 0xFE20, 0xFE2F )  // Combining Half Marks 
     108                ); 
     109                $combining_marks = ''; 
     110                foreach ( $code_points as $code_point ) 
     111                        if ( $code_point <= 0x07ff ) 
     112                                $combining_marks .= chr( 0xc0 | ( $code_point >> 6 ) ) . chr( 0x80 | ( $code_point & 0x003f ) ); 
     113                        else 
     114                                $combining_marks .= chr( 0xe0 | ( $code_point >> 12 ) ) . chr( 0x80 | ( ( $code_point >> 6 ) & 0x003f ) ) . chr( 0x80 | ( $code_point & 0x003f ) ); 
     115                // Performs the test: all the characters should be removed. 
     116                $this->assertEquals( '', remove_accents( $combining_marks ) ); 
     117        } 
     118 
    97119}