Annotation of embedaddon/php/ext/standard/tests/strings/strtr_variation6.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test strtr() function : usage variations - unexpected inputs for 'from' argument
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : string strtr(string $str, string $from[, string $to]);
! 6: string strtr(string $str, array $replace_pairs);
! 7: * Description: Translates characters in str using given translation tables
! 8: * Source code: ext/standard/string.c
! 9: */
! 10:
! 11: /* Test strtr() function: with unexpected inputs for 'from'
! 12: * and expected type for 'str' & 'to' arguments
! 13: */
! 14:
! 15: echo "*** Testing strtr() function: with unexpected inputs for 'from' ***\n";
! 16:
! 17: //get an unset variable
! 18: $unset_var = 'string_val';
! 19: unset($unset_var);
! 20:
! 21: //defining a class
! 22: class sample {
! 23: public function __toString() {
! 24: return "sample object";
! 25: }
! 26: }
! 27:
! 28: //getting the resource
! 29: $file_handle = fopen(__FILE__, "r");
! 30:
! 31: //defining 'str' argument
! 32: $str = "012atm";
! 33:
! 34: // array of values for 'from'
! 35: $from_arr = array (
! 36:
! 37: // integer values
! 38: /*1*/ 0,
! 39: 1,
! 40: -2,
! 41:
! 42: // float values
! 43: /*4*/ 10.5,
! 44: -20.5,
! 45: 10.1234567e10,
! 46:
! 47: // array values
! 48: /*7*/ array(),
! 49: array(0),
! 50: array(1, 2),
! 51:
! 52: // boolean values
! 53: /*10*/ true,
! 54: false,
! 55: TRUE,
! 56: FALSE,
! 57:
! 58: // null vlaues
! 59: /*14*/ NULL,
! 60: null,
! 61:
! 62: // objects
! 63: /*16*/ new sample(),
! 64:
! 65: // resource
! 66: /*17*/ $file_handle,
! 67:
! 68: // undefined variable
! 69: /*18*/ @$undefined_var,
! 70:
! 71: // unset variable
! 72: /*19*/ @$unset_var
! 73: );
! 74:
! 75: //defining 'to' argument
! 76: $to = "atm012";
! 77:
! 78: // loop through with each element of the $from array to test strtr() function
! 79: $count = 1;
! 80: for($index = 0; $index < count($from_arr); $index++) {
! 81: echo "-- Iteration $count --\n";
! 82: $from = $from_arr[$index];
! 83: var_dump( strtr($str, $from, $to) );
! 84: $count ++;
! 85: }
! 86:
! 87: fclose($file_handle); //closing the file handle
! 88: ?>
! 89: ===DONE===
! 90: --EXPECTF--
! 91: *** Testing strtr() function: with unexpected inputs for 'from' ***
! 92: -- Iteration 1 --
! 93: string(6) "a12atm"
! 94: -- Iteration 2 --
! 95: string(6) "0a2atm"
! 96: -- Iteration 3 --
! 97: string(6) "01tatm"
! 98: -- Iteration 4 --
! 99: string(6) "ta2atm"
! 100: -- Iteration 5 --
! 101: string(6) "m1tatm"
! 102: -- Iteration 6 --
! 103: string(6) "tm0atm"
! 104: -- Iteration 7 --
! 105:
! 106: Notice: Array to string conversion in %s on line %d
! 107: string(6) "0120tm"
! 108: -- Iteration 8 --
! 109:
! 110: Notice: Array to string conversion in %s on line %d
! 111: string(6) "0120tm"
! 112: -- Iteration 9 --
! 113:
! 114: Notice: Array to string conversion in %s on line %d
! 115: string(6) "0120tm"
! 116: -- Iteration 10 --
! 117: string(6) "0a2atm"
! 118: -- Iteration 11 --
! 119: string(6) "012atm"
! 120: -- Iteration 12 --
! 121: string(6) "0a2atm"
! 122: -- Iteration 13 --
! 123: string(6) "012atm"
! 124: -- Iteration 14 --
! 125: string(6) "012atm"
! 126: -- Iteration 15 --
! 127: string(6) "012atm"
! 128: -- Iteration 16 --
! 129: string(6) "012ttm"
! 130: -- Iteration 17 --
! 131: string(6) "012atm"
! 132: -- Iteration 18 --
! 133: string(6) "012atm"
! 134: -- Iteration 19 --
! 135: string(6) "012atm"
! 136: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>