1--TEST--
2Test internal weakmap API
3--SKIPIF--
4<?php if (!extension_loaded('zend-test')) die('skip: zend-test extension required'); ?>
5--FILE--
6<?php
7
8$id1 = new \stdClass;
9$id2 = new \stdClass;
10
11var_dump(zend_weakmap_attach($id1, 1));
12var_dump(zend_weakmap_attach($id1, 3));
13var_dump(zend_weakmap_attach($id2, 2));
14
15var_dump(zend_weakmap_dump());
16
17unset($id1);
18
19var_dump(zend_weakmap_dump());
20
21var_dump(zend_weakmap_remove($id2));
22var_dump(zend_weakmap_remove($id2));
23
24var_dump(zend_weakmap_dump());
25
26var_dump(zend_weakmap_attach($id2, $id2));
27
28var_dump(zend_weakmap_dump());
29
30?>
31--EXPECTF--
32bool(true)
33bool(false)
34bool(true)
35array(2) {
36  [%s]=>
37  int(1)
38  [%s]=>
39  int(2)
40}
41array(1) {
42  [%s]=>
43  int(2)
44}
45bool(true)
46bool(false)
47array(0) {
48}
49bool(true)
50array(1) {
51  [%s]=>
52  object(stdClass)#2 (0) {
53  }
54}