1010
1111use phper:: {
1212 alloc:: { ebox, EBox } ,
13- arrays:: ZArray ,
13+ arrays:: { InsertKey , ZArray } ,
1414 modules:: Module ,
1515 objects:: ZObject ,
1616 values:: ZVal ,
@@ -61,6 +61,11 @@ fn integrate_returns(module: &mut Module) {
6161 integration_values_return_array,
6262 vec ! [ ] ,
6363 ) ;
64+ module. add_function (
65+ "integration_values_return_kv_array" ,
66+ integration_values_return_kv_array,
67+ vec ! [ ] ,
68+ ) ;
6469 module. add_function (
6570 "integration_values_return_object" ,
6671 integration_values_return_object,
@@ -76,6 +81,11 @@ fn integrate_returns(module: &mut Module) {
7681 integration_values_return_option_i64_none,
7782 vec ! [ ] ,
7883 ) ;
84+ module. add_function (
85+ "integration_values_return_ebox_i64" ,
86+ integration_values_return_ebox_i64,
87+ vec ! [ ] ,
88+ ) ;
7989 module. add_function (
8090 "integration_values_return_result_string_ok" ,
8191 integration_values_return_result_string_ok,
@@ -119,11 +129,19 @@ fn integration_values_return_string(_: &mut [ZVal]) -> String {
119129 "foo" . to_string ( )
120130}
121131
122- fn integration_values_return_array ( _: & mut [ ZVal ] ) -> EBox < ZArray > {
132+ fn integration_values_return_array ( _: & mut [ ZVal ] ) -> ZArray {
133+ let mut arr = ZArray :: new ( ) ;
134+ arr. insert ( InsertKey :: NextIndex , ZVal :: from ( "a" ) ) ;
135+ arr. insert ( InsertKey :: NextIndex , ZVal :: from ( "b" ) ) ;
136+ arr. insert ( InsertKey :: NextIndex , ZVal :: from ( "c" ) ) ;
137+ arr
138+ }
139+
140+ fn integration_values_return_kv_array ( _: & mut [ ZVal ] ) -> ZArray {
123141 let mut arr = ZArray :: new ( ) ;
124142 arr. insert ( "a" , ZVal :: from ( 1 ) ) ;
125143 arr. insert ( "b" , ZVal :: from ( "foo" ) ) ;
126- ebox ! ( arr)
144+ arr
127145}
128146
129147fn integration_values_return_object ( _: & mut [ ZVal ] ) -> ZObject {
@@ -140,6 +158,10 @@ fn integration_values_return_option_i64_none(_: &mut [ZVal]) -> Option<i64> {
140158 None
141159}
142160
161+ fn integration_values_return_ebox_i64 ( _: & mut [ ZVal ] ) -> EBox < i64 > {
162+ ebox ! ( 64 )
163+ }
164+
143165fn integration_values_return_result_string_ok ( _: & mut [ ZVal ] ) -> phper:: Result < String > {
144166 Ok ( "foo" . to_string ( ) )
145167}
0 commit comments