| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/a/w/e/awebpaca/Dolibarr/htdocs/includes/stripe/tests/Stripe/Util/ |
Upload File : |
<?php
namespace Stripe;
class UtilTest extends TestCase
{
public function testIsList()
{
$list = [5, 'nstaoush', []];
$this->assertTrue(Util\Util::isList($list));
$notlist = [5, 'nstaoush', [], 'bar' => 'baz'];
$this->assertFalse(Util\Util::isList($notlist));
}
public function testThatPHPHasValueSemanticsForArrays()
{
$original = ['php-arrays' => 'value-semantics'];
$derived = $original;
$derived['php-arrays'] = 'reference-semantics';
$this->assertSame('value-semantics', $original['php-arrays']);
}
public function testConvertStripeObjectToArrayIncludesId()
{
$customer = Util\Util::convertToStripeObject([
'id' => 'cus_123',
'object' => 'customer',
], null);
$this->assertTrue(array_key_exists("id", $customer->__toArray(true)));
}
public function testUtf8()
{
// UTF-8 string
$x = "\xc3\xa9";
$this->assertSame(Util\Util::utf8($x), $x);
// Latin-1 string
$x = "\xe9";
$this->assertSame(Util\Util::utf8($x), "\xc3\xa9");
// Not a string
$x = true;
$this->assertSame(Util\Util::utf8($x), $x);
}
public function testUrlEncode()
{
$a = [
'my' => 'value',
'that' => ['your' => 'example'],
'bar' => 1,
'baz' => null
];
$enc = Util\Util::urlEncode($a);
$this->assertSame('my=value&that%5Byour%5D=example&bar=1', $enc);
$a = ['that' => ['your' => 'example', 'foo' => null]];
$enc = Util\Util::urlEncode($a);
$this->assertSame('that%5Byour%5D=example', $enc);
$a = ['that' => 'example', 'foo' => ['bar', 'baz']];
$enc = Util\Util::urlEncode($a);
$this->assertSame('that=example&foo%5B%5D=bar&foo%5B%5D=baz', $enc);
$a = [
'my' => 'value',
'that' => ['your' => ['cheese', 'whiz', null]],
'bar' => 1,
'baz' => null
];
$enc = Util\Util::urlEncode($a);
$expected = 'my=value&that%5Byour%5D%5B%5D=cheese'
. '&that%5Byour%5D%5B%5D=whiz&bar=1';
$this->assertSame($expected, $enc);
// Ignores an empty array
$enc = Util\Util::urlEncode(['foo' => [], 'bar' => 'baz']);
$expected = 'bar=baz';
$this->assertSame($expected, $enc);
$a = ['foo' => [['bar' => 'baz'], ['bar' => 'bin']]];
$enc = Util\Util::urlEncode($a);
$this->assertSame('foo%5B0%5D%5Bbar%5D=baz&foo%5B1%5D%5Bbar%5D=bin', $enc);
}
}