tests: blacklist sqlite3_str and sqlite3_win32 functions
[m6w6/ext-psi] / tests / getopt / getopt002.phpt
1 --TEST--
2 getopt
3 --INI--
4 psi.directory={PWD}:{PWD}/../../psi.d
5 --SKIPIF--
6 <?php
7 extension_loaded("psi") or die("skip - need ext/psi");
8 PHP_OS === "Darwin" or die("skip - only for OSX");
9 function_exists("psi\\getopt") or die("skip - need psi\\getopt()");
10 ?>
11 --ENV--
12 POSIXLY_CORRECT=
13 --FILE--
14 ===TEST===
15 <?php
16
17 $args = [
18 "progname", "huh", "-v", "-x", 1, "-s", "foo", "--", "-gotcha", "--bar", "baz"
19 ];
20
21 $opts = "v::x:s:";
22
23 for ($i = 0; $i<3; ++$i) {
24 psi\opterr(0);
25 psi\optind\set(1);
26
27 while (($opt = chr(psi\getopt($args, $opts)))) {
28 switch ($opt) {
29 case "v":
30 printf("got v\n");
31 break;
32 case "x":
33 case "s":
34 printf("got %s: %s\n", $opt, psi\optarg());
35 break;
36 default:
37 printf("error '%s'\n", $opt);
38 case chr(-1):
39 break 2;
40 }
41 }
42
43 $pos = psi\optind\get();
44 while ($pos < count($args)) {
45 printf("arg: %s\n", $args[$pos++]);
46 }
47 psi\optreset();
48 }
49 var_dump($args);
50
51 ?>
52 ===DONE===
53 --EXPECT--
54 ===TEST===
55 got v
56 got x: 1
57 got s: foo
58 arg: huh
59 arg: -gotcha
60 arg: --bar
61 arg: baz
62 got v
63 got x: 1
64 got s: foo
65 arg: huh
66 arg: -gotcha
67 arg: --bar
68 arg: baz
69 got v
70 got x: 1
71 got s: foo
72 arg: huh
73 arg: -gotcha
74 arg: --bar
75 arg: baz
76 array(11) {
77 [0]=>
78 string(8) "progname"
79 [1]=>
80 string(2) "-v"
81 [2]=>
82 string(2) "-x"
83 [3]=>
84 string(1) "1"
85 [4]=>
86 string(2) "-s"
87 [5]=>
88 string(3) "foo"
89 [6]=>
90 string(2) "--"
91 [7]=>
92 string(3) "huh"
93 [8]=>
94 string(7) "-gotcha"
95 [9]=>
96 string(5) "--bar"
97 [10]=>
98 string(3) "baz"
99 }
100 ===DONE===