Annotation of embedaddon/php/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test mb_strripos() function : usage variations - Pass different integers as $offset argument
        !             3: --SKIPIF--
        !             4: <?php
        !             5: extension_loaded('mbstring') or die('skip');
        !             6: function_exists('mb_strripos') or die("skip mb_strripos() is not available in this build");
        !             7: ?>
        !             8: --FILE--
        !             9: <?php
        !            10: /* Prototype  : int mb_strripos(string haystack, string needle [, int offset [, string encoding]])
        !            11:  * Description: Finds position of last occurrence of a string within another, case insensitive 
        !            12:  * Source code: ext/mbstring/mbstring.c
        !            13:  * Alias to functions: 
        !            14:  */
        !            15: 
        !            16: /*
        !            17:  * Test how mb_strripos() behaves when passed different integers as $offset argument
        !            18:  * The character length of $string_ascii and $string_mb is the same, 
        !            19:  * and the needle appears at the same positions in both strings
        !            20:  */
        !            21: 
        !            22: mb_internal_encoding('UTF-8');
        !            23: 
        !            24: echo "*** Testing mb_strripos() : usage variations ***\n";
        !            25: 
        !            26: $string_ascii = b'+Is an English string'; //21 chars
        !            27: $needle_ascii = b'G';
        !            28: 
        !            29: $string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII='); //21 chars
        !            30: $needle_mb = base64_decode('44CC');
        !            31: 
        !            32: /*
        !            33:  * Loop through integers as multiples of ten for $offset argument
        !            34:  * mb_strripos should not be able to accept negative values as $offset.
        !            35:  * 60 is larger than *BYTE* count for $string_mb
        !            36:  */
        !            37: for ($i = -10; $i <= 60; $i += 10) {
        !            38:        echo "\n**-- Offset is: $i --**\n";
        !            39:        echo "-- ASCII String --\n";
        !            40:        var_dump(mb_strripos($string_ascii, $needle_ascii, $i));
        !            41:        echo "--Multibyte String --\n";
        !            42:        var_dump(mb_strripos($string_mb, $needle_mb, $i, 'UTF-8'));
        !            43: }
        !            44: 
        !            45: echo "Done";
        !            46: ?>
        !            47: 
        !            48: --EXPECTF--
        !            49: *** Testing mb_strripos() : usage variations ***
        !            50: 
        !            51: **-- Offset is: -10 --**
        !            52: -- ASCII String --
        !            53: int(9)
        !            54: --Multibyte String --
        !            55: int(9)
        !            56: 
        !            57: **-- Offset is: 0 --**
        !            58: -- ASCII String --
        !            59: int(20)
        !            60: --Multibyte String --
        !            61: int(20)
        !            62: 
        !            63: **-- Offset is: 10 --**
        !            64: -- ASCII String --
        !            65: int(20)
        !            66: --Multibyte String --
        !            67: int(20)
        !            68: 
        !            69: **-- Offset is: 20 --**
        !            70: -- ASCII String --
        !            71: int(20)
        !            72: --Multibyte String --
        !            73: int(20)
        !            74: 
        !            75: **-- Offset is: 30 --**
        !            76: -- ASCII String --
        !            77: 
        !            78: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !            79: bool(false)
        !            80: --Multibyte String --
        !            81: 
        !            82: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !            83: bool(false)
        !            84: 
        !            85: **-- Offset is: 40 --**
        !            86: -- ASCII String --
        !            87: 
        !            88: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !            89: bool(false)
        !            90: --Multibyte String --
        !            91: 
        !            92: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !            93: bool(false)
        !            94: 
        !            95: **-- Offset is: 50 --**
        !            96: -- ASCII String --
        !            97: 
        !            98: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !            99: bool(false)
        !           100: --Multibyte String --
        !           101: 
        !           102: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !           103: bool(false)
        !           104: 
        !           105: **-- Offset is: 60 --**
        !           106: -- ASCII String --
        !           107: 
        !           108: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !           109: bool(false)
        !           110: --Multibyte String --
        !           111: 
        !           112: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
        !           113: bool(false)
        !           114: Done
        !           115: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>