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

1.1     ! misho       1: --TEST--
        !             2: Test mb_stripos() function : usage variations - Pass different integers as $offset argument
        !             3: --SKIPIF--
        !             4: <?php
        !             5: extension_loaded('mbstring') or die('skip');
        !             6: function_exists('mb_stripos') or die("skip mb_stripos() is not available in this build");
        !             7: ?>
        !             8: --FILE--
        !             9: <?php
        !            10: /* Prototype  : int mb_stripos(string haystack, string needle [, int offset [, string encoding]])
        !            11:  * Description: Finds position of first 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_stripos() 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_stripos() : 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_stripos 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_stripos($string_ascii, $needle_ascii, $i));
        !            41:        echo "--Multibyte String --\n";
        !            42:        var_dump(mb_stripos($string_mb, $needle_mb, $i, 'UTF-8'));
        !            43: }
        !            44: 
        !            45: echo "Done";
        !            46: ?>
        !            47: 
        !            48: --EXPECTF--
        !            49: *** Testing mb_stripos() : usage variations ***
        !            50: 
        !            51: **-- Offset is: -10 --**
        !            52: -- ASCII String --
        !            53: 
        !            54: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !            55: bool(false)
        !            56: --Multibyte String --
        !            57: 
        !            58: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !            59: bool(false)
        !            60: 
        !            61: **-- Offset is: 0 --**
        !            62: -- ASCII String --
        !            63: int(9)
        !            64: --Multibyte String --
        !            65: int(9)
        !            66: 
        !            67: **-- Offset is: 10 --**
        !            68: -- ASCII String --
        !            69: int(20)
        !            70: --Multibyte String --
        !            71: int(20)
        !            72: 
        !            73: **-- Offset is: 20 --**
        !            74: -- ASCII String --
        !            75: int(20)
        !            76: --Multibyte String --
        !            77: int(20)
        !            78: 
        !            79: **-- Offset is: 30 --**
        !            80: -- ASCII String --
        !            81: 
        !            82: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !            83: bool(false)
        !            84: --Multibyte String --
        !            85: 
        !            86: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !            87: bool(false)
        !            88: 
        !            89: **-- Offset is: 40 --**
        !            90: -- ASCII String --
        !            91: 
        !            92: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !            93: bool(false)
        !            94: --Multibyte String --
        !            95: 
        !            96: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !            97: bool(false)
        !            98: 
        !            99: **-- Offset is: 50 --**
        !           100: -- ASCII String --
        !           101: 
        !           102: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !           103: bool(false)
        !           104: --Multibyte String --
        !           105: 
        !           106: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !           107: bool(false)
        !           108: 
        !           109: **-- Offset is: 60 --**
        !           110: -- ASCII String --
        !           111: 
        !           112: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !           113: bool(false)
        !           114: --Multibyte String --
        !           115: 
        !           116: Warning: mb_stripos(): Offset not contained in string in %s on line %d
        !           117: bool(false)
        !           118: Done
        !           119: 

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