mirror of
https://github.com/macintoshplus/mongo-php-driver.git
synced 2026-04-29 11:33:12 +02:00
93bd10bd21
* BSON corpus prose tests for null bytes
For tests that already existed we just add a reference to the prose test
* BSON corpus tests for null bytes
Synced with mongodb/specifications@c64fc79899
This sync also removes some old DBRef tests, which should have been removed in 6929bcb608.
* Bump libmongoc to 1.19.1 to pull in changes from CDRIVER-4083
59 lines
2.1 KiB
PHP
59 lines
2.1 KiB
PHP
--TEST--
|
|
MongoDB\BSON\fromPHP(): PHP documents with null bytes in field name
|
|
--DESCRIPTION--
|
|
BSON Corpus spec prose test #1
|
|
--FILE--
|
|
<?php
|
|
|
|
require_once __DIR__ . '/../utils/basic.inc';
|
|
|
|
echo "\nTesting array with one leading null byte in field name\n";
|
|
echo throws(function() {
|
|
fromPHP(["\0" => 1]);
|
|
}, 'MongoDB\Driver\Exception\UnexpectedValueException'), "\n";
|
|
|
|
echo "\nTesting array with one trailing null byte in field name\n";
|
|
echo throws(function() {
|
|
fromPHP(["a\0" => 1]);
|
|
}, 'MongoDB\Driver\Exception\UnexpectedValueException'), "\n";
|
|
|
|
echo "\nTesting array with multiple null bytes in field name\n";
|
|
echo throws(function() {
|
|
fromPHP(["\0\0\0" => 1]);
|
|
}, 'MongoDB\Driver\Exception\UnexpectedValueException'), "\n";
|
|
|
|
echo "\nTesting object with one trailing null byte in field name\n";
|
|
echo throws(function() {
|
|
fromPHP((object) ["a\0" => 1]);
|
|
}, 'MongoDB\Driver\Exception\UnexpectedValueException'), "\n";
|
|
|
|
echo "\nTesting nested array with one trailing null byte in field name\n";
|
|
echo throws(function() {
|
|
fromPHP(['a' => ["b\0" => 1]]);
|
|
}, 'MongoDB\Driver\Exception\UnexpectedValueException'), "\n";
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECT--
|
|
Testing array with one leading null byte in field name
|
|
OK: Got MongoDB\Driver\Exception\UnexpectedValueException
|
|
BSON keys cannot contain null bytes. Unexpected null byte after "".
|
|
|
|
Testing array with one trailing null byte in field name
|
|
OK: Got MongoDB\Driver\Exception\UnexpectedValueException
|
|
BSON keys cannot contain null bytes. Unexpected null byte after "a".
|
|
|
|
Testing array with multiple null bytes in field name
|
|
OK: Got MongoDB\Driver\Exception\UnexpectedValueException
|
|
BSON keys cannot contain null bytes. Unexpected null byte after "".
|
|
|
|
Testing object with one trailing null byte in field name
|
|
OK: Got MongoDB\Driver\Exception\UnexpectedValueException
|
|
BSON keys cannot contain null bytes. Unexpected null byte after "a".
|
|
|
|
Testing nested array with one trailing null byte in field name
|
|
OK: Got MongoDB\Driver\Exception\UnexpectedValueException
|
|
BSON keys cannot contain null bytes. Unexpected null byte after "b".
|
|
===DONE===
|