5dc7778d22a102a1ef0cf4a4483034a63ee26965
[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($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