tests/Symbol/Table/Shared: lookup shared symbols in catalog
[awesomized/ext-ion] / tests / Symbol / Table / Local.phpt
1 --TEST--
2 ion\Symbol\Table\Local
3 --EXTENSIONS--
4 ion
5 --FILE--
6 TEST
7 <?php
8
9 $w = new ion\Writer\Buffer\Writer($buf,
10 new ion\Writer\Options(outputBinary: true));
11
12 $w->writeSymbol("local1");
13 $w->writeSymbol("local1");
14 $w->writeSymbol("local2");
15 $w->writeSymbol("local2");
16
17 $w->finish();
18
19 foreach (str_split($buf, 8) as $line) {
20 printf("%-26s", chunk_split(bin2hex($line), 2, " "));
21 foreach (str_split($line) as $byte) {
22 echo ctype_print($byte) ? $byte : ".";
23 }
24 echo "\n";
25 }
26 echo "\n";
27
28 $u = new ion\Unserializer\PHP(multiSequence: true);
29 var_dump($u->unserialize($buf));
30
31 ?>
32 DONE
33 --EXPECTF--
34 TEST
35 e0 01 00 ea ee 95 81 83 ........
36 de 91 87 be 8e 86 6c 6f ......lo
37 63 61 6c 31 86 6c 6f 63 cal1.loc
38 61 6c 32 71 0a 71 0a 71 al2q.q.q
39 0b 71 0b .q.
40
41 array(4) {
42 [0]=>
43 object(ion\Symbol)#%d (3) {
44 ["value"]=>
45 string(6) "local1"
46 ["sid"]=>
47 int(10)
48 ["importLocation"]=>
49 NULL
50 }
51 [1]=>
52 object(ion\Symbol)#%d (3) {
53 ["value"]=>
54 string(6) "local1"
55 ["sid"]=>
56 int(10)
57 ["importLocation"]=>
58 NULL
59 }
60 [2]=>
61 object(ion\Symbol)#%d (3) {
62 ["value"]=>
63 string(6) "local2"
64 ["sid"]=>
65 int(11)
66 ["importLocation"]=>
67 NULL
68 }
69 [3]=>
70 object(ion\Symbol)#%d (3) {
71 ["value"]=>
72 string(6) "local2"
73 ["sid"]=>
74 int(11)
75 ["importLocation"]=>
76 NULL
77 }
78 }
79 DONE