Fix array query param processing

A couple of PHP functions that don't exist in Perl were being called to
process array query parameters.
This commit is contained in:
Dave Baird 2015-11-02 10:47:46 +01:00
parent d28737ffd2
commit 3559a8bd09
3 changed files with 9 additions and 6 deletions

View File

@ -146,8 +146,8 @@ sub to_path_value {
# @return string the serialized object
sub to_query_value {
my ($self, $object) = @_;
if (is_array($object)) {
return implode(',', $object);
if (ref($object) eq 'ARRAY') {
return join(',', @$object);
} else {
return $self->to_string($object);
}

View File

@ -146,14 +146,13 @@ sub to_path_value {
# @return string the serialized object
sub to_query_value {
my ($self, $object) = @_;
if (is_array($object)) {
return implode(',', $object);
if (ref($object) eq 'ARRAY') {
return join(',', @$object);
} else {
return $self->to_string($object);
}
}
# Take value and turn it into a string suitable for inclusion in
# the header. If it's a string, pass through unchanged
# If it's a datetime object, format it in ISO8601

View File

@ -1,4 +1,4 @@
use Test::More tests => 33;
use Test::More tests => 35;
use Test::Exception;
use lib 'lib';
@ -74,3 +74,7 @@ is $delete_pet, undef, 'get the null response from delete_pet';
throws_ok{$api->get_pet_by_id(pet_id => $pet_id)} qr/API Exception\(404\): Not Found/, "throw 404 error about pet not found after delete";
#is $get_pet_after_delete->{status}, undef, 'get the updated status after update_pet_with_form';
my $pets;
lives_ok {$pets = $api->find_pets_by_status(status => [qw(sold available)])} 'array query param processed correctly';
isa_ok($pets->[0], 'WWW::SwaggerClient::Object::Pet');