Annotation of embedaddon/php/ext/mbstring/tests/bug45923.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #45923 (mb_st[r]ripos() offset not handled correctly)
                      3: --SKIPIF--
                      4: <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
                      5: --INI--
                      6: mbstring.internal_encoding=UTF-8
                      7: --FILE--
                      8: <?php
                      9: var_dump(strpos("abc abc abc", "abc", 0));
                     10: var_dump(strpos("abc abc abc", "abc", 3));
                     11: var_dump(strpos("abc abc abc", "abc", 6));
                     12: var_dump(strpos("abc abc abc", "abc", 9));
                     13: var_dump(strpos("abc abc abc", "abc", 11));
                     14: var_dump(strpos("abc abc abc", "abc", 12));
                     15: var_dump(strpos("abc abc abc", "abc", -1));
                     16: var_dump(strpos("abc abc abc", "abc", -3));
                     17: var_dump(strpos("abc abc abc", "abc", -6));
                     18: 
                     19: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", 0));
                     20: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", 3));
                     21: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", 6));
                     22: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", 9));
                     23: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", 11));
                     24: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", 12));
                     25: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", -1));
                     26: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", -3));
                     27: var_dump(mb_strpos("●○◆ ●○◆ ●○◆", "●○◆", -6));
                     28: 
                     29: var_dump(stripos("abc abc abc", "abc", 0));
                     30: var_dump(stripos("abc abc abc", "abc", 3));
                     31: var_dump(stripos("abc abc abc", "abc", 6));
                     32: var_dump(stripos("abc abc abc", "abc", 9));
                     33: var_dump(stripos("abc abc abc", "abc", 11));
                     34: var_dump(stripos("abc abc abc", "abc", 12));
                     35: var_dump(stripos("abc abc abc", "abc", -1));
                     36: var_dump(stripos("abc abc abc", "abc", -3));
                     37: var_dump(stripos("abc abc abc", "abc", -6));
                     38: 
                     39: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", 0));
                     40: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", 3));
                     41: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", 6));
                     42: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", 9));
                     43: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", 11));
                     44: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", 12));
                     45: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", -1));
                     46: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", -3));
                     47: var_dump(mb_stripos("●○◆ ●○◆ ●○◆", "●○◆", -6));
                     48: 
                     49: var_dump(strrpos("abc abc abc", "abc", 0));
                     50: var_dump(strrpos("abc abc abc", "abc", 3));
                     51: var_dump(strrpos("abc abc abc", "abc", 6));
                     52: var_dump(strrpos("abc abc abc", "abc", 9));
                     53: var_dump(strrpos("abc abc abc", "abc", 11));
                     54: var_dump(strrpos("abc abc abc", "abc", 12));
                     55: var_dump(strrpos("abc abc abc", "abc", -1));
                     56: var_dump(strrpos("abc abc abc", "abc", -3));
                     57: var_dump(strrpos("abc abc abc", "abc", -6));
                     58: 
                     59: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", 0));
                     60: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", 3));
                     61: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", 6));
                     62: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", 9));
                     63: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", 11));
                     64: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", 12));
                     65: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", -1));
                     66: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", -3));
                     67: var_dump(mb_strrpos("●○◆ ●○◆ ●○◆", "●○◆", -6));
                     68: 
                     69: var_dump(strripos("abc abc abc", "abc", 0));
                     70: var_dump(strripos("abc abc abc", "abc", 3));
                     71: var_dump(strripos("abc abc abc", "abc", 6));
                     72: var_dump(strripos("abc abc abc", "abc", 9));
                     73: var_dump(strripos("abc abc abc", "abc", 11));
                     74: var_dump(strripos("abc abc abc", "abc", 12));
                     75: var_dump(strripos("abc abc abc", "abc", -1));
                     76: var_dump(strripos("abc abc abc", "abc", -3));
                     77: var_dump(strripos("abc abc abc", "abc", -6));
                     78: 
                     79: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", 0));
                     80: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", 3));
                     81: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", 6));
                     82: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", 9));
                     83: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", 11));
                     84: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", 12));
                     85: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", -1));
                     86: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", -3));
                     87: var_dump(mb_strripos("●○◆ ●○◆ ●○◆", "●○◆", -6));
                     88: 
                     89: ?>
                     90: --EXPECTF--
                     91: int(0)
                     92: int(4)
                     93: int(8)
                     94: bool(false)
                     95: bool(false)
                     96: 
                     97: Warning: strpos(): Offset not contained in string in %s on line %d
                     98: bool(false)
                     99: 
                    100: Warning: strpos(): Offset not contained in string in %s on line %d
                    101: bool(false)
                    102: 
                    103: Warning: strpos(): Offset not contained in string in %s on line %d
                    104: bool(false)
                    105: 
                    106: Warning: strpos(): Offset not contained in string in %s on line %d
                    107: bool(false)
                    108: int(0)
                    109: int(4)
                    110: int(8)
                    111: bool(false)
                    112: bool(false)
                    113: 
                    114: Warning: mb_strpos(): Offset not contained in string in %s on line %d
                    115: bool(false)
                    116: 
                    117: Warning: mb_strpos(): Offset not contained in string in %s on line %d
                    118: bool(false)
                    119: 
                    120: Warning: mb_strpos(): Offset not contained in string in %s on line %d
                    121: bool(false)
                    122: 
                    123: Warning: mb_strpos(): Offset not contained in string in %s on line %d
                    124: bool(false)
                    125: int(0)
                    126: int(4)
                    127: int(8)
                    128: bool(false)
                    129: bool(false)
                    130: 
                    131: Warning: stripos(): Offset not contained in string in %s on line %d
                    132: bool(false)
                    133: 
                    134: Warning: stripos(): Offset not contained in string in %s on line %d
                    135: bool(false)
                    136: 
                    137: Warning: stripos(): Offset not contained in string in %s on line %d
                    138: bool(false)
                    139: 
                    140: Warning: stripos(): Offset not contained in string in %s on line %d
                    141: bool(false)
                    142: int(0)
                    143: int(4)
                    144: int(8)
                    145: bool(false)
                    146: bool(false)
                    147: 
                    148: Warning: mb_stripos(): Offset not contained in string in %s on line %d
                    149: bool(false)
                    150: 
                    151: Warning: mb_stripos(): Offset not contained in string in %s on line %d
                    152: bool(false)
                    153: 
                    154: Warning: mb_stripos(): Offset not contained in string in %s on line %d
                    155: bool(false)
                    156: 
                    157: Warning: mb_stripos(): Offset not contained in string in %s on line %d
                    158: bool(false)
                    159: int(8)
                    160: int(8)
                    161: int(8)
                    162: bool(false)
                    163: bool(false)
                    164: 
                    165: Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
                    166: bool(false)
                    167: int(8)
                    168: int(8)
                    169: int(4)
                    170: int(8)
                    171: int(8)
                    172: int(8)
                    173: bool(false)
                    174: bool(false)
                    175: 
                    176: Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
                    177: bool(false)
                    178: int(8)
                    179: int(8)
                    180: int(4)
                    181: int(8)
                    182: int(8)
                    183: int(8)
                    184: bool(false)
                    185: bool(false)
                    186: 
                    187: Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
                    188: bool(false)
                    189: int(8)
                    190: int(8)
                    191: int(4)
                    192: int(8)
                    193: int(8)
                    194: int(8)
                    195: bool(false)
                    196: bool(false)
                    197: 
                    198: Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
                    199: bool(false)
                    200: int(8)
                    201: int(8)
                    202: int(4)

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