Merge branch 'master' into gsoc2017-php7-classes-via-c-api

This commit is contained in:
Olly Betts 2021-04-21 16:05:24 +12:00
commit 3e8373b09a
20 changed files with 76 additions and 20 deletions

View file

@ -418,6 +418,7 @@ CPP_TEST_CASES += \
struct_value \
swig_exception \
symbol_clash \
sym \
template_arg_replace \
template_arg_scope \
template_arg_typename \

View file

@ -46,7 +46,6 @@ CPP_TEST_CASES = \
java_typemaps_typewrapper \
nested_scope \
li_std_list \
li_std_map \
li_std_set \
# li_boost_intrusive_ptr

View file

@ -32,7 +32,8 @@ char *Person_name_get(Person *p) {
}
void Person_name_set(Person *p, char *val) {
strncpy(p->name,val,50);
p->name[0] = '\0';
strncat(p->name, val, sizeof(p->name) - 1);
make_upper(p->name);
}
%}

View file

@ -16,11 +16,13 @@ CPP_TEST_CASES += \
li_cstring \
li_cdata_carrays_cpp \
li_reference \
memberin1 \
director_nestedmodule \
C_TEST_CASES += \
li_cstring \
li_cdata_carrays \
multivalue \
include $(srcdir)/../common.mk

View file

@ -0,0 +1,20 @@
use strict;
use warnings;
use Test::More tests => 8;
BEGIN { use_ok('multivalue') }
require_ok('multivalue');
my ($q, $r);
($q, $r) = multivalue::divide_l(37, 5);
is($q, 7, "Test divide_l quotient");
is($r, 2, "Test divide_l remainder");
($q, $r) = multivalue::divide_v(41, 7);
is($q, 5, "Test divide_v quotient");
is($r, 6, "Test divide_v remainder");
($q, $r) = multivalue::divide_mv(91, 13);
is($q, 7, "Test divide_mv quotient");
is($r, 0, "Test divide_mv remainder");

View file

@ -11,12 +11,20 @@ top_builddir = @top_builddir@
CPP_TEST_CASES += \
callback \
director_stl \
exception_partial_info \
inout \
li_cdata_carrays_cpp \
li_factory \
php_iterator \
php_namewarn_rename \
php_pragma \
prefix \
C_TEST_CASES += \
li_cdata_carrays \
multivalue \
include $(srcdir)/../common.mk
# Overridden variables here

View file

@ -3,8 +3,8 @@
require "tests.php";
require "director_profile.php";
// New functions
check::functions(array('b_fn','b_vfi','b_fi','b_fj','b_fk','b_fl','b_get_self','b_vfs','b_fs'));
// No new functions
check::functions(array());
// New classes
check::classes(array('A','B'));
// No new vars

View file

@ -3,8 +3,8 @@
require "tests.php";
require "director_stl.php";
// New functions
check::functions(array('foo_bar','foo_ping','foo_pong','foo_tping','foo_tpong','foo_pident','foo_vident','foo_vsecond','foo_tpident','foo_tvident','foo_tvsecond','foo_vidents','foo_tvidents'));
// No new functions
check::functions(array());
// New classes
check::classes(array('Foo'));
// No new vars

View file

@ -0,0 +1,25 @@
<?php
require "tests.php";
require "multivalue.php";
// New functions
check::functions(array('divide_l','divide_v','divide_mv'));
// New classes
check::classes(array('multivalue'));
// No new vars
check::globals(array());
$r = multivalue::divide_l(37, 5);
check::equal($r[0], 7, "Test divide_l quotient");
check::equal($r[1], 2, "Test divide_l remainder");
$r = multivalue::divide_v(41, 7);
check::equal($r[0], 5, "Test divide_v quotient");
check::equal($r[1], 6, "Test divide_v remainder");
$r = multivalue::divide_mv(91, 13);
check::equal($r[0], 7, "Test divide_mv quotient");
check::equal($r[1], 0, "Test divide_mv remainder");
check::done();

View file

@ -6,7 +6,7 @@ require "sym.php";
// No new functions
check::functions(array());
// New classes
check::classes(array('flim','flam'));
check::classes(array('Flim','Flam'));
// No new vars
check::globals(array());