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

1.1       misho       1: --TEST--
                      2: Test mb_stripos() function : basic functionality
                      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 basic functionality of mb_stripos with ASCII and multibyte characters
                     18:  */
                     19: 
                     20: echo "*** Testing mb_stripos() : basic functionality***\n";
                     21: 
                     22: mb_internal_encoding('UTF-8');
                     23: 
                     24: //ascii strings
                     25: $ascii_haystacks = array(
                     26:    b'abc defabc   def',
                     27:    b'ABC DEFABC   DEF',
                     28:    b'Abc dEFaBC   Def',
                     29: );
                     30: 
                     31: $ascii_needles = array(
                     32:    // 4 good ones
                     33:    b'DE',
                     34:    b'de',
                     35:    b'De',
                     36:    b'dE',
                     37: );
                     38: 
                     39: //greek strings in UTF-8
                     40: $greek_lower = base64_decode('zrrOu868zr3Ovs6/z4DPgSDOus67zrzOvc6+zr/PgA==');
                     41: $greek_upper = base64_decode('zprOm86czp3Ons6fzqDOoSDOms6bzpzOnc6ezp/OoA==');
                     42: $greek_mixed = base64_decode('zrrOu868zr3Ovs6fzqDOoSDOus67zpzOnc6+zr/OoA==');
                     43: $greek_haystacks = array($greek_lower, $greek_upper, $greek_mixed);
                     44: 
                     45: $greek_nlower = base64_decode('zrzOvc6+zr8=');
                     46: $greek_nupper = base64_decode('zpzOnc6ezp8=');
                     47: $greek_nmixed1 = base64_decode('zpzOnc6+zr8=');
                     48: $greek_nmixed2 = base64_decode('zrzOvc6+zp8=');
                     49: 
                     50: $greek_needles = array(
                     51:    // 4 good ones
                     52:    $greek_nlower, $greek_nupper, $greek_nmixed1, $greek_nmixed2,
                     53: );
                     54: 
                     55: // try the basic options
                     56: echo "\n -- ASCII Strings --\n";
                     57: foreach ($ascii_needles as $needle) {
                     58:    foreach ($ascii_haystacks as $haystack) {
                     59:       var_dump(mb_stripos($haystack, $needle));      
                     60:       var_dump(mb_stripos($haystack, $needle, 6));
                     61:    }
                     62: }
                     63: 
                     64: echo "\n -- Greek Strings --\n";
                     65: foreach ($greek_needles as $needle) {
                     66:    foreach ($greek_haystacks as $haystack) {
                     67:       var_dump(mb_stripos($haystack, $needle));
                     68:       var_dump(mb_stripos($haystack, $needle, 4));         
                     69:    }
                     70: }
                     71: 
                     72: echo "Done";
                     73: ?>
                     74: --EXPECTF--
                     75: *** Testing mb_stripos() : basic functionality***
                     76: 
                     77:  -- ASCII Strings --
                     78: int(4)
                     79: int(13)
                     80: int(4)
                     81: int(13)
                     82: int(4)
                     83: int(13)
                     84: int(4)
                     85: int(13)
                     86: int(4)
                     87: int(13)
                     88: int(4)
                     89: int(13)
                     90: int(4)
                     91: int(13)
                     92: int(4)
                     93: int(13)
                     94: int(4)
                     95: int(13)
                     96: int(4)
                     97: int(13)
                     98: int(4)
                     99: int(13)
                    100: int(4)
                    101: int(13)
                    102: 
                    103:  -- Greek Strings --
                    104: int(2)
                    105: int(11)
                    106: int(2)
                    107: int(11)
                    108: int(2)
                    109: int(11)
                    110: int(2)
                    111: int(11)
                    112: int(2)
                    113: int(11)
                    114: int(2)
                    115: int(11)
                    116: int(2)
                    117: int(11)
                    118: int(2)
                    119: int(11)
                    120: int(2)
                    121: int(11)
                    122: int(2)
                    123: int(11)
                    124: int(2)
                    125: int(11)
                    126: int(2)
                    127: int(11)
                    128: Done
                    129: 

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