Annotation of embedaddon/php/ext/json/tests/json_encode_basic.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test json_encode() function : basic functionality
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded("json")) {
! 6: die('skip JSON extension not available in this build');
! 7: }
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: /* Prototype : string json_encode ( mixed $value )
! 12: * Description: Returns the JSON representation of a value
! 13: * Source code: ext/json/php_json.c
! 14: * Alias to functions:
! 15: */
! 16: echo "*** Testing json_encode() : basic functionality ***\n";
! 17:
! 18: //get an unset variable
! 19: $unset_var = 10;
! 20: unset ($unset_var);
! 21:
! 22: // get a resource variable
! 23: $fp = fopen(__FILE__, "r");
! 24:
! 25: // get an object
! 26: class sample {
! 27: }
! 28:
! 29: $obj = new sample();
! 30: $obj->MyInt = 99;
! 31: $obj->MyFloat = 123.45;
! 32: $obj->MyBool = true;
! 33: $obj->MyNull = null;
! 34: $obj->MyString = "Hello World";
! 35:
! 36: // array with different values for $string
! 37: $inputs = array (
! 38:
! 39: // integers
! 40: /*1*/ 0,
! 41: 123,
! 42: -123,
! 43: 2147483647,
! 44: -2147483648,
! 45:
! 46: // floats
! 47: /*6*/ 123.456,
! 48: 1.23E3,
! 49: -1.23E3,
! 50:
! 51: // boolean
! 52: /*9*/ TRUE,
! 53: true,
! 54: FALSE,
! 55: false,
! 56:
! 57: // NULL
! 58: /*13*/ NULL,
! 59: null,
! 60:
! 61: // strings
! 62: /*15*/ "abc",
! 63: 'abc',
! 64: "Hello\t\tWorld\n",
! 65:
! 66: // arrays
! 67: /*18*/ array(),
! 68: array(1,2,3,4,5),
! 69: array(1 => "Sun", 2=>"Mon", 3 => "Tue", 4 => "Wed", 5 => "Thur", 6 => "Fri", 7 => "Sat"),
! 70: array("Jan" => 31, "Feb" => 29, "Mar" => 31, "April" => 30, "May" => 31, "June" => 30),
! 71:
! 72: // empty data
! 73: /*22*/ "",
! 74: '',
! 75:
! 76: // undefined data
! 77: /*24*/ @$undefined_var,
! 78:
! 79: // unset data
! 80: /*25*/ @$unset_var,
! 81:
! 82: // resource variable
! 83: /*26*/ $fp,
! 84:
! 85: // object variable
! 86: /*27*/ $obj
! 87:
! 88: );
! 89:
! 90: // loop through with each element of the $inputs array to test json_encode() function
! 91: $count = 1;
! 92: foreach($inputs as $input) {
! 93: echo "-- Iteration $count --\n";
! 94: var_dump(json_encode($input));
! 95: $count ++;
! 96: }
! 97:
! 98: ?>
! 99: ===Done===
! 100: --EXPECTF--
! 101: *** Testing json_encode() : basic functionality ***
! 102: -- Iteration 1 --
! 103: string(1) "0"
! 104: -- Iteration 2 --
! 105: string(3) "123"
! 106: -- Iteration 3 --
! 107: string(4) "-123"
! 108: -- Iteration 4 --
! 109: string(10) "2147483647"
! 110: -- Iteration 5 --
! 111: string(11) "-2147483648"
! 112: -- Iteration 6 --
! 113: string(7) "123.456"
! 114: -- Iteration 7 --
! 115: string(4) "1230"
! 116: -- Iteration 8 --
! 117: string(5) "-1230"
! 118: -- Iteration 9 --
! 119: string(4) "true"
! 120: -- Iteration 10 --
! 121: string(4) "true"
! 122: -- Iteration 11 --
! 123: string(5) "false"
! 124: -- Iteration 12 --
! 125: string(5) "false"
! 126: -- Iteration 13 --
! 127: string(4) "null"
! 128: -- Iteration 14 --
! 129: string(4) "null"
! 130: -- Iteration 15 --
! 131: string(5) ""abc""
! 132: -- Iteration 16 --
! 133: string(5) ""abc""
! 134: -- Iteration 17 --
! 135: string(18) ""Hello\t\tWorld\n""
! 136: -- Iteration 18 --
! 137: string(2) "[]"
! 138: -- Iteration 19 --
! 139: string(11) "[1,2,3,4,5]"
! 140: -- Iteration 20 --
! 141: string(72) "{"1":"Sun","2":"Mon","3":"Tue","4":"Wed","5":"Thur","6":"Fri","7":"Sat"}"
! 142: -- Iteration 21 --
! 143: string(58) "{"Jan":31,"Feb":29,"Mar":31,"April":30,"May":31,"June":30}"
! 144: -- Iteration 22 --
! 145: string(2) """"
! 146: -- Iteration 23 --
! 147: string(2) """"
! 148: -- Iteration 24 --
! 149: string(4) "null"
! 150: -- Iteration 25 --
! 151: string(4) "null"
! 152: -- Iteration 26 --
! 153:
! 154: Warning: json_encode(): type is unsupported, encoded as null in %s on line %d
! 155: string(4) "null"
! 156: -- Iteration 27 --
! 157: string(82) "{"MyInt":99,"MyFloat":123.45,"MyBool":true,"MyNull":null,"MyString":"Hello World"}"
! 158: ===Done===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>