1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
--TEST--
MongoDB\BSON\Binary can be cloned (PHP >= 8.2)
--SKIPIF--
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
<?php skip_if_php_version('<', '8.2'); ?>
--FILE--
<?php
require_once __DIR__ . '/../utils/basic.inc';
$types = array(
MongoDB\BSON\Binary::TYPE_GENERIC,
MongoDB\BSON\Binary::TYPE_FUNCTION,
MongoDB\BSON\Binary::TYPE_OLD_BINARY,
MongoDB\BSON\Binary::TYPE_OLD_UUID,
MongoDB\BSON\Binary::TYPE_UUID,
MongoDB\BSON\Binary::TYPE_MD5,
MongoDB\BSON\Binary::TYPE_USER_DEFINED,
MongoDB\BSON\Binary::TYPE_USER_DEFINED+5,
);
foreach($types as $type) {
// Use 16-byte data to satisfy UUID requirements
$binary = new MongoDB\BSON\Binary('randomBinaryData', $type);
$clone = clone $binary;
var_dump($clone == $binary);
var_dump($clone === $binary);
unset($binary);
var_dump($clone);
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(0)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(1)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(2)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(3)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(4)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(5)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(128)
}
bool(true)
bool(false)
object(MongoDB\BSON\Binary)#%d (2) {
["data"]=>
string(16) "randomBinaryData"
["type"]=>
int(133)
}
===DONE===
|