Skip to content

Commit 94ad5fd

Browse files
committed
Update msgpack_convert_template tests to assert we can create create invalid objects (non-string and 0 length keys)
1 parent 138072b commit 94ad5fd

File tree

15 files changed

+15
-945
lines changed

15 files changed

+15
-945
lines changed

msgpack_class.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ static ZEND_METHOD(msgpack_unpacker, data)
446446
zval zv, *zv_p;
447447
zv_p = &zv;
448448

449-
ZVAL_COPY_VALUE(return_value, &unpacker->retval);
449+
ZVAL_COPY_VALUE(zv_p, &unpacker->retval);
450450

451451
if (msgpack_convert_object(return_value, object, &zv_p) != SUCCESS) {
452452
RETURN_NULL();

tests/090.phpt

Lines changed: 1 addition & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -76,18 +76,13 @@ test('array(1, 2, 3, 4)', array(1, 2, 3, 4), 'Obj');
7676
test('array("foo", "foobar", "foohoge")', array("foo", "foobar", "hoge"), 'Obj', new Obj("foo", "foobar", "hoge"));
7777
test('array("a" => 1, "b" => 2))', array("a" => 1, "b" => 2), 'Obj', new Obj(1, 2, null));
7878
test('array("one" => 1, "two" => 2))', array("one" => 1, "two" => 2), 'Obj', new Obj(null, null, null, array("one" => 1, "two" => 2)));
79-
test('array("" => "empty")', array("" => "empty"), 'Obj');
8079

8180
test('array("a" => 1, "b" => 2, 3))', array("a" => 1, "b" => 2, 3), 'Obj', new Obj(1, 2, 3));
8281
test('array(3, "a" => 1, "b" => 2))', array(3, "a" => 1, "b" => 2), 'Obj', new Obj(1, 2, 3));
8382
test('array("a" => 1, 3, "b" => 2))', array("a" => 1, 3, "b" => 2), 'Obj', new Obj(1, 2, 3));
8483

8584
$a = array('foo');
8685
test('array($a, $a)', array($a, $a), 'Obj', new Obj($a, $a, null));
87-
test('array(&$a, &$a)', array(&$a, &$a), 'Obj', new Obj($a, $a, null));
88-
89-
test('array(&$a, $a)', array($a, &$a), 'Obj', new Obj($a, $a, null));
90-
test('array(&$a, $a)', array(&$a, $a), 'Obj', new Obj($a, $a, null));
9186

9287
$a = array(
9388
'a' => array(
@@ -122,15 +117,6 @@ $o1 = new Obj2(1, 2, 3);
122117
$o2 = new Obj2(4, 5, 6);
123118
test('object', array($o1, $o2), 'Obj', new Obj($o1, $o2));
124119

125-
$o = new Obj2(1, 2, 3);
126-
test('object', array(&$o, &$o), 'Obj', new Obj($o, $o));
127-
128-
$o = new Obj2(1, 2, 3);
129-
test('object', array(&$o, $o), 'Obj', new Obj($o, $o));
130-
131-
$o = new Obj2(1, 2, 3);
132-
test('object', array($o, &$o), 'Obj', new Obj($o, $o));
133-
134120
--EXPECTF--
135121
object(Obj)#%d (3) {
136122
["a"]=>
@@ -304,7 +290,7 @@ object(Obj)#%d (4) {
304290
int(2)
305291
[%r"?c"?:("Obj":)?private"?%r]=>
306292
int(3)
307-
[3]=>
293+
["3"]=>
308294
int(4)
309295
}
310296
SKIP
@@ -339,17 +325,6 @@ object(Obj)#%d (5) {
339325
int(2)
340326
}
341327
OK
342-
object(Obj)#%d (4) {
343-
["a"]=>
344-
NULL
345-
[%r"?b"?:protected"?%r]=>
346-
NULL
347-
[%r"?c"?:("Obj":)?private"?%r]=>
348-
NULL
349-
[""]=>
350-
string(5) "empty"
351-
}
352-
SKIP
353328
object(Obj)#%d (3) {
354329
["a"]=>
355330
int(1)
@@ -392,51 +367,6 @@ object(Obj)#%d (3) {
392367
NULL
393368
}
394369
OK
395-
object(Obj)#%d (3) {
396-
["a"]=>
397-
&array(1) {
398-
[0]=>
399-
string(3) "foo"
400-
}
401-
[%r"?b"?:protected"?%r]=>
402-
&array(1) {
403-
[0]=>
404-
string(3) "foo"
405-
}
406-
[%r"?c"?:("Obj":)?private"?%r]=>
407-
NULL
408-
}
409-
OK
410-
object(Obj)#%d (3) {
411-
["a"]=>
412-
array(1) {
413-
[0]=>
414-
string(3) "foo"
415-
}
416-
[%r"?b"?:protected"?%r]=>
417-
&array(1) {
418-
[0]=>
419-
string(3) "foo"
420-
}
421-
[%r"?c"?:("Obj":)?private"?%r]=>
422-
NULL
423-
}
424-
OK
425-
object(Obj)#%d (3) {
426-
["a"]=>
427-
&array(1) {
428-
[0]=>
429-
string(3) "foo"
430-
}
431-
[%r"?b"?:protected"?%r]=>
432-
array(1) {
433-
[0]=>
434-
string(3) "foo"
435-
}
436-
[%r"?c"?:("Obj":)?private"?%r]=>
437-
NULL
438-
}
439-
OK
440370
object(Obj)#%d (4) {
441371
["a"]=>
442372
array(2) {
@@ -504,72 +434,3 @@ object(Obj)#%d (3) {
504434
NULL
505435
}
506436
OK
507-
object(Obj)#%d (3) {
508-
["a"]=>
509-
&object(Obj2)#%d (3) {
510-
["A"]=>
511-
int(1)
512-
[%r"?B"?:protected"?%r]=>
513-
int(2)
514-
[%r"?C"?:("Obj2":)?private"?%r]=>
515-
int(3)
516-
}
517-
[%r"?b"?:protected"?%r]=>
518-
&object(Obj2)#%d (3) {
519-
["A"]=>
520-
int(1)
521-
[%r"?B"?:protected"?%r]=>
522-
int(2)
523-
[%r"?C"?:("Obj2":)?private"?%r]=>
524-
int(3)
525-
}
526-
[%r"?c"?:("Obj":)?private"?%r]=>
527-
NULL
528-
}
529-
OK
530-
object(Obj)#%d (3) {
531-
["a"]=>
532-
object(Obj2)#%d (3) {
533-
["A"]=>
534-
int(1)
535-
[%r"?B"?:protected"?%r]=>
536-
int(2)
537-
[%r"?C"?:("Obj2":)?private"?%r]=>
538-
int(3)
539-
}
540-
[%r"?b"?:protected"?%r]=>
541-
object(Obj2)#%d (3) {
542-
["A"]=>
543-
int(1)
544-
[%r"?B"?:protected"?%r]=>
545-
int(2)
546-
[%r"?C"?:("Obj2":)?private"?%r]=>
547-
int(3)
548-
}
549-
[%r"?c"?:("Obj":)?private"?%r]=>
550-
NULL
551-
}
552-
OK
553-
object(Obj)#%d (3) {
554-
["a"]=>
555-
&object(Obj2)#%d (3) {
556-
["A"]=>
557-
int(1)
558-
[%r"?B"?:protected"?%r]=>
559-
int(2)
560-
[%r"?C"?:("Obj2":)?private"?%r]=>
561-
int(3)
562-
}
563-
[%r"?b"?:protected"?%r]=>
564-
&object(Obj2)#%d (3) {
565-
["A"]=>
566-
int(1)
567-
[%r"?B"?:protected"?%r]=>
568-
int(2)
569-
[%r"?C"?:("Obj2":)?private"?%r]=>
570-
int(3)
571-
}
572-
[%r"?c"?:("Obj":)?private"?%r]=>
573-
NULL
574-
}
575-
OK

tests/091.phpt

Lines changed: 1 addition & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -78,18 +78,13 @@ test('array(1, 2, 3, 4)', array(1, 2, 3, 4), new Obj());
7878
test('array("foo", "foobar", "foohoge")', array("foo", "foobar", "hoge"), new Obj(), new Obj("foo", "foobar", "hoge"));
7979
test('array("a" => 1, "b" => 2))', array("a" => 1, "b" => 2), new Obj(), new Obj(1, 2, null));
8080
test('array("one" => 1, "two" => 2))', array("one" => 1, "two" => 2), new Obj(), new Obj(null, null, null, array("one" => 1, "two" => 2)));
81-
test('array("" => "empty")', array("" => "empty"), new Obj());
8281

8382
test('array("a" => 1, "b" => 2, 3))', array("a" => 1, "b" => 2, 3), new Obj(), new Obj(1, 2, 3));
8483
test('array(3, "a" => 1, "b" => 2))', array(3, "a" => 1, "b" => 2), new Obj(), new Obj(1, 2, 3));
8584
test('array("a" => 1, 3, "b" => 2))', array("a" => 1, 3, "b" => 2), new Obj(), new Obj(1, 2, 3));
8685

8786
$a = array('foo');
8887
test('array($a, $a)', array($a, $a), new Obj(), new Obj($a, $a, null));
89-
test('array(&$a, &$a)', array(&$a, &$a), new Obj(), new Obj($a, $a, null));
90-
91-
test('array(&$a, $a)', array($a, &$a), new Obj(), new Obj($a, $a, null));
92-
test('array(&$a, $a)', array(&$a, $a), new Obj(), new Obj($a, $a, null));
9388

9489
$a = array(
9590
'a' => array(
@@ -124,15 +119,6 @@ $o1 = new Obj2(1, 2, 3);
124119
$o2 = new Obj2(4, 5, 6);
125120
test('object', array($o1, $o2), new Obj(), new Obj($o1, $o2));
126121

127-
$o = new Obj2(1, 2, 3);
128-
test('object', array(&$o, &$o), new Obj(), new Obj($o, $o));
129-
130-
$o = new Obj2(1, 2, 3);
131-
test('object', array(&$o, $o), new Obj(), new Obj($o, $o));
132-
133-
$o = new Obj2(1, 2, 3);
134-
test('object', array($o, &$o), new Obj(), new Obj($o, $o));
135-
136122
--EXPECTF--
137123
object(Obj)#%d (3) {
138124
["a"]=>
@@ -306,7 +292,7 @@ object(Obj)#%d (4) {
306292
int(2)
307293
[%r"?c"?:("Obj":)?private"?%r]=>
308294
int(3)
309-
[3]=>
295+
["3"]=>
310296
int(4)
311297
}
312298
SKIP
@@ -341,17 +327,6 @@ object(Obj)#%d (5) {
341327
int(2)
342328
}
343329
OK
344-
object(Obj)#%d (4) {
345-
["a"]=>
346-
NULL
347-
[%r"?b"?:protected"?%r]=>
348-
NULL
349-
[%r"?c"?:("Obj":)?private"?%r]=>
350-
NULL
351-
[""]=>
352-
string(5) "empty"
353-
}
354-
SKIP
355330
object(Obj)#%d (3) {
356331
["a"]=>
357332
int(1)
@@ -394,51 +369,6 @@ object(Obj)#%d (3) {
394369
NULL
395370
}
396371
OK
397-
object(Obj)#%d (3) {
398-
["a"]=>
399-
&array(1) {
400-
[0]=>
401-
string(3) "foo"
402-
}
403-
[%r"?b"?:protected"?%r]=>
404-
&array(1) {
405-
[0]=>
406-
string(3) "foo"
407-
}
408-
[%r"?c"?:("Obj":)?private"?%r]=>
409-
NULL
410-
}
411-
OK
412-
object(Obj)#%d (3) {
413-
["a"]=>
414-
array(1) {
415-
[0]=>
416-
string(3) "foo"
417-
}
418-
[%r"?b"?:protected"?%r]=>
419-
&array(1) {
420-
[0]=>
421-
string(3) "foo"
422-
}
423-
[%r"?c"?:("Obj":)?private"?%r]=>
424-
NULL
425-
}
426-
OK
427-
object(Obj)#%d (3) {
428-
["a"]=>
429-
&array(1) {
430-
[0]=>
431-
string(3) "foo"
432-
}
433-
[%r"?b"?:protected"?%r]=>
434-
array(1) {
435-
[0]=>
436-
string(3) "foo"
437-
}
438-
[%r"?c"?:("Obj":)?private"?%r]=>
439-
NULL
440-
}
441-
OK
442372
object(Obj)#%d (4) {
443373
["a"]=>
444374
array(2) {
@@ -506,72 +436,3 @@ object(Obj)#%d (3) {
506436
NULL
507437
}
508438
OK
509-
object(Obj)#%d (3) {
510-
["a"]=>
511-
&object(Obj2)#%d (3) {
512-
["A"]=>
513-
int(1)
514-
[%r"?B"?:protected"?%r]=>
515-
int(2)
516-
[%r"?C"?:("Obj2":)?private"?%r]=>
517-
int(3)
518-
}
519-
[%r"?b"?:protected"?%r]=>
520-
&object(Obj2)#%d (3) {
521-
["A"]=>
522-
int(1)
523-
[%r"?B"?:protected"?%r]=>
524-
int(2)
525-
[%r"?C"?:("Obj2":)?private"?%r]=>
526-
int(3)
527-
}
528-
[%r"?c"?:("Obj":)?private"?%r]=>
529-
NULL
530-
}
531-
OK
532-
object(Obj)#%d (3) {
533-
["a"]=>
534-
object(Obj2)#%d (3) {
535-
["A"]=>
536-
int(1)
537-
[%r"?B"?:protected"?%r]=>
538-
int(2)
539-
[%r"?C"?:("Obj2":)?private"?%r]=>
540-
int(3)
541-
}
542-
[%r"?b"?:protected"?%r]=>
543-
object(Obj2)#%d (3) {
544-
["A"]=>
545-
int(1)
546-
[%r"?B"?:protected"?%r]=>
547-
int(2)
548-
[%r"?C"?:("Obj2":)?private"?%r]=>
549-
int(3)
550-
}
551-
[%r"?c"?:("Obj":)?private"?%r]=>
552-
NULL
553-
}
554-
OK
555-
object(Obj)#%d (3) {
556-
["a"]=>
557-
&object(Obj2)#%d (3) {
558-
["A"]=>
559-
int(1)
560-
[%r"?B"?:protected"?%r]=>
561-
int(2)
562-
[%r"?C"?:("Obj2":)?private"?%r]=>
563-
int(3)
564-
}
565-
[%r"?b"?:protected"?%r]=>
566-
&object(Obj2)#%d (3) {
567-
["A"]=>
568-
int(1)
569-
[%r"?B"?:protected"?%r]=>
570-
int(2)
571-
[%r"?C"?:("Obj2":)?private"?%r]=>
572-
int(3)
573-
}
574-
[%r"?c"?:("Obj":)?private"?%r]=>
575-
NULL
576-
}
577-
OK

0 commit comments

Comments
 (0)