Initial commit
[phplua.git] / tests / 003.phpt
blobfb887193bc5276349148e9ce460cf1dd037d4f68
1 --TEST--
2 Call lua functions
3 --SKIPIF--
4 <?php if (!extension_loaded("lua")) print "skip"; ?>
5 --FILE--
6 <?php 
7 $l = new lua();
8 $l->evaluate(<<<CODE
9 function phptest_no_param()
10     print("No parameters!\\n")
11 end
13 function phptest_1_param(param)
14     print("Parameter: `", param, "'!\\n")
15 end
17 function phptest_2_params(param1, param2)
18     print("Parameter 1: `", param1, "', Parameter 2: `", param2, "'!\\n")
19 end
21 function multiret()
22     return "a", "b", "c"
23 end
24 CODE
27 $l->print("Hello world!\n");
28 $l->phptest_no_param();
30 $l->phptest_1_param();
31 $l->phptest_1_param("foobar");
33 $l->phptest_2_params();
34 $l->phptest_2_params("foo");
35 $l->phptest_2_params("foo", "bar");
37 echo "\n";
39 var_dump($l->{"math.sin"}(3/2*pi()));
40 var_dump($l->{"math.cos"}(pi()));
42 echo "\n";
44 $l->notexisting(2423);
45 $l->{"not.existing.function"}(432, 342);
47 echo "\n";
49 var_dump($l->type("fobar"));
50 var_dump($l->multiret());
52 echo "\n";
54 var_dump($l->__call("multiret", array(), 0));
55 var_dump($l->__call("multiret", array(), 1));
56 var_dump($l->__call("multiret", array(), 2));
57 var_dump($l->__call("multiret", array(), LUA::MULTRET));
59 $l->__call("print");
60 $l->__call("print", "foo");
62 --EXPECTF--
63 Hello world!
64 No parameters!
65 Parameter: `(null)'!
66 Parameter: `foobar'!
67 Parameter 1: `(null)', Parameter 2: `(null)'!
68 Parameter 1: `foo', Parameter 2: `(null)'!
69 Parameter 1: `foo', Parameter 2: `bar'!
71 array(1) {
72   [0]=>
73   float(-1)
75 array(1) {
76   [0]=>
77   float(-1)
81 Warning: lua::__call(): error running lua function `notexisting': attempt to call a nil value in %s on line %i
83 Warning: lua::__call(): error looking up lua function `not.existing.function': [string "return not.existing.function"]:1: unexpected symbol near '.' in %s on line %i
85 array(1) {
86   [0]=>
87   string(6) "string"
89 array(3) {
90   [0]=>
91   string(1) "a"
92   [1]=>
93   string(1) "b"
94   [2]=>
95   string(1) "c"
98 NULL
99 array(1) {
100   [0]=>
101   string(1) "a"
103 array(2) {
104   [0]=>
105   string(1) "a"
106   [1]=>
107   string(1) "b"
109 array(3) {
110   [0]=>
111   string(1) "a"
112   [1]=>
113   string(1) "b"
114   [2]=>
115   string(1) "c"
118 Warning: lua::__call() expects at least 2 parameters, 1 given in %s on line %i
120 Warning: lua::__call() expects parameter 2 to be array, string given in %s on line %i