diff --git a/config.m4 b/config.m4 index b62228527..af5b37d2f 100644 --- a/config.m4 +++ b/config.m4 @@ -214,13 +214,13 @@ if test "$MONGODB" != "no"; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_MSG_CHECKING(for libbson) if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libbson-1.0; then - if $PKG_CONFIG libbson-1.0 --atleast-version 1.6.0; then + if $PKG_CONFIG libbson-1.0 --atleast-version 1.7.0; then LIBBSON_INC=`$PKG_CONFIG libbson-1.0 --cflags` LIBBSON_LIB=`$PKG_CONFIG libbson-1.0 --libs` LIBBSON_VER=`$PKG_CONFIG libbson-1.0 --modversion` AC_MSG_RESULT(version $LIBBSON_VER found) else - AC_MSG_ERROR(system libbson must be upgraded to version >= 1.6.0) + AC_MSG_ERROR(system libbson must be upgraded to version >= 1.7.0) fi else AC_MSG_ERROR(pkgconfig and libbson must be installed) @@ -252,14 +252,14 @@ if test "$MONGODB" != "no"; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_MSG_CHECKING(for libmongoc) if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libmongoc-1.0; then - if $PKG_CONFIG libmongoc-1.0 --atleast-version 1.6.0; then + if $PKG_CONFIG libmongoc-1.0 --atleast-version 1.7.0; then LIBMONGOC_INC=`$PKG_CONFIG libmongoc-1.0 --cflags` LIBMONGOC_LIB=`$PKG_CONFIG libmongoc-1.0 --libs` LIBMONGOC_VER=`$PKG_CONFIG libmongoc-1.0 --modversion` AC_MSG_RESULT(version $LIBMONGOC_VER found) else - AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.6.0) + AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.7.0) fi else AC_MSG_ERROR(pkgconfig and mongoc must be installed) @@ -271,7 +271,7 @@ if test "$MONGODB" != "no"; then PHP_MONGODB_MONGOC_CFLAGS="$STD_CFLAGS -DMONGOC_COMPILATION -DMONGOC_TRACE" # Generated with: find src/libmongoc/src/mongoc -name '*.c' -print0 | cut -sz -d / -f 5- | sort -z | tr '\000' ' ' - PHP_MONGODB_MONGOC_SOURCES="mongoc-apm.c mongoc-array.c mongoc-async.c mongoc-async-cmd.c mongoc-b64.c mongoc-buffer.c mongoc-bulk-operation.c mongoc-client.c mongoc-client-pool.c mongoc-cluster.c mongoc-cluster-sasl.c mongoc-cluster-sspi.c mongoc-collection.c mongoc-counters.c mongoc-crypto.c mongoc-crypto-cng.c mongoc-crypto-common-crypto.c mongoc-crypto-openssl.c mongoc-cursor-array.c mongoc-cursor.c mongoc-cursor-cursorid.c mongoc-cursor-transform.c mongoc-database.c mongoc-find-and-modify.c mongoc-gridfs.c mongoc-gridfs-file.c mongoc-gridfs-file-list.c mongoc-gridfs-file-page.c mongoc-handshake.c mongoc-host-list.c mongoc-index.c mongoc-init.c mongoc-libressl.c mongoc-linux-distro-scanner.c mongoc-list.c mongoc-log.c mongoc-matcher.c mongoc-matcher-op.c mongoc-memcmp.c mongoc-opcode.c mongoc-openssl.c mongoc-queue.c mongoc-rand-cng.c mongoc-rand-common-crypto.c mongoc-rand-openssl.c mongoc-read-concern.c mongoc-read-prefs.c mongoc-rpc.c mongoc-sasl.c mongoc-scram.c mongoc-secure-channel.c mongoc-secure-transport.c mongoc-server-description.c mongoc-server-stream.c mongoc-set.c mongoc-socket.c mongoc-ssl.c mongoc-sspi.c mongoc-stream-buffered.c mongoc-stream.c mongoc-stream-file.c mongoc-stream-gridfs.c mongoc-stream-socket.c mongoc-stream-tls.c mongoc-stream-tls-libressl.c mongoc-stream-tls-openssl-bio.c mongoc-stream-tls-openssl.c mongoc-stream-tls-secure-channel.c mongoc-stream-tls-secure-transport.c mongoc-topology.c mongoc-topology-description-apm.c mongoc-topology-description.c mongoc-topology-scanner.c mongoc-uri.c mongoc-util.c mongoc-version-functions.c mongoc-write-command.c mongoc-write-concern.c" + PHP_MONGODB_MONGOC_SOURCES="mongoc-apm.c mongoc-array.c mongoc-async.c mongoc-async-cmd.c mongoc-b64.c mongoc-buffer.c mongoc-bulk-operation.c mongoc-client.c mongoc-client-pool.c mongoc-cluster.c mongoc-cluster-cyrus.c mongoc-cluster-gssapi.c mongoc-cluster-sasl.c mongoc-cluster-sspi.c mongoc-collection.c mongoc-compression.c mongoc-counters.c mongoc-crypto.c mongoc-crypto-cng.c mongoc-crypto-common-crypto.c mongoc-crypto-openssl.c mongoc-cursor-array.c mongoc-cursor.c mongoc-cursor-cursorid.c mongoc-cursor-transform.c mongoc-cyrus.c mongoc-database.c mongoc-find-and-modify.c mongoc-gridfs.c mongoc-gridfs-file.c mongoc-gridfs-file-list.c mongoc-gridfs-file-page.c mongoc-gssapi.c mongoc-handshake.c mongoc-host-list.c mongoc-index.c mongoc-init.c mongoc-libressl.c mongoc-linux-distro-scanner.c mongoc-list.c mongoc-log.c mongoc-matcher.c mongoc-matcher-op.c mongoc-memcmp.c mongoc-openssl.c mongoc-queue.c mongoc-rand-cng.c mongoc-rand-common-crypto.c mongoc-rand-openssl.c mongoc-read-concern.c mongoc-read-prefs.c mongoc-rpc.c mongoc-sasl.c mongoc-scram.c mongoc-secure-channel.c mongoc-secure-transport.c mongoc-server-description.c mongoc-server-stream.c mongoc-set.c mongoc-socket.c mongoc-ssl.c mongoc-sspi.c mongoc-stream-buffered.c mongoc-stream.c mongoc-stream-file.c mongoc-stream-gridfs.c mongoc-stream-socket.c mongoc-stream-tls.c mongoc-stream-tls-libressl.c mongoc-stream-tls-openssl-bio.c mongoc-stream-tls-openssl.c mongoc-stream-tls-secure-channel.c mongoc-stream-tls-secure-transport.c mongoc-topology.c mongoc-topology-description-apm.c mongoc-topology-description.c mongoc-topology-scanner.c mongoc-uri.c mongoc-util.c mongoc-version-functions.c mongoc-write-command.c mongoc-write-concern.c" PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libmongoc/src/mongoc], $PHP_MONGODB_MONGOC_SOURCES, $PHP_MONGODB_MONGOC_CFLAGS, shared_objects_mongodb, yes) @@ -279,6 +279,7 @@ if test "$MONGODB" != "no"; then AC_SUBST(MONGOC_ENABLE_SSL, 0) AC_SUBST(MONGOC_ENABLE_CRYPTO_LIBCRYPTO, 0) AC_SUBST(MONGOC_ENABLE_SSL_OPENSSL, 0) + AC_SUBST(MONGOC_HAVE_ASN1_STRING_GET0_DATA, 0) PHP_SETUP_OPENSSL(MONGODB_SHARED_LIBADD, [ AC_SUBST(MONGOC_ENABLE_CRYPTO, 1) @@ -306,6 +307,10 @@ if test "$MONGODB" != "no"; then AC_SUBST(MONGOC_NO_AUTOMATIC_GLOBALS, 1) AC_CHECK_TYPE([socklen_t], [AC_SUBST(MONGOC_HAVE_SOCKLEN, 1)], [AC_SUBST(MONGOC_HAVE_SOCKLEN, 0)], [#include ]) + + AC_SUBST(MONGOC_ENABLE_COMPRESSION_SNAPPY, 0) + AC_SUBST(MONGOC_ENABLE_COMPRESSION_ZLIB, 0) + AC_SUBST(MONGOC_ENABLE_COMPRESSION, 0) fi @@ -316,6 +321,7 @@ if test "$MONGODB" != "no"; then AC_SUBST(MONGOC_HAVE_SASL_CLIENT_DONE, 0) AC_SUBST(MONGOC_ENABLE_SASL_CYRUS, 0) AC_SUBST(MONGOC_ENABLE_SASL_SSPI, 0) + AC_SUBST(MONGOC_ENABLE_SASL_GSSAPI, 0) if test "$PHP_MONGODB_SASL" != "no"; then AC_MSG_CHECKING(for SASL) diff --git a/config.w32 b/config.w32 index d6e333455..b3ce2ac44 100644 --- a/config.w32 +++ b/config.w32 @@ -80,7 +80,7 @@ if (PHP_MONGODB != "no") { var PHP_MONGODB_JSONSL_SOURCES="jsonsl.c"; // Generated with: find src/libmongoc/src/mongoc -name '*.c' -print0 | cut -sz -d / -f 4- | sort -z | tr '\000' ' ' - var PHP_MONGODB_MONGOC_SOURCES="mongoc-apm.c mongoc-array.c mongoc-async.c mongoc-async-cmd.c mongoc-b64.c mongoc-buffer.c mongoc-bulk-operation.c mongoc-client.c mongoc-client-pool.c mongoc-cluster.c mongoc-collection.c mongoc-counters.c mongoc-crypto.c mongoc-crypto-cng.c mongoc-crypto-common-crypto.c mongoc-crypto-openssl.c mongoc-cursor-array.c mongoc-cursor.c mongoc-cursor-cursorid.c mongoc-cursor-transform.c mongoc-database.c mongoc-find-and-modify.c mongoc-gridfs.c mongoc-gridfs-file.c mongoc-gridfs-file-list.c mongoc-gridfs-file-page.c mongoc-handshake.c mongoc-host-list.c mongoc-index.c mongoc-init.c mongoc-libressl.c mongoc-linux-distro-scanner.c mongoc-list.c mongoc-log.c mongoc-matcher.c mongoc-matcher-op.c mongoc-memcmp.c mongoc-opcode.c mongoc-openssl.c mongoc-queue.c mongoc-rand-cng.c mongoc-rand-common-crypto.c mongoc-rand-openssl.c mongoc-read-concern.c mongoc-read-prefs.c mongoc-rpc.c mongoc-sasl.c mongoc-scram.c mongoc-secure-channel.c mongoc-secure-transport.c mongoc-server-description.c mongoc-server-stream.c mongoc-set.c mongoc-socket.c mongoc-ssl.c mongoc-stream-buffered.c mongoc-stream.c mongoc-stream-file.c mongoc-stream-gridfs.c mongoc-stream-socket.c mongoc-stream-tls.c mongoc-stream-tls-libressl.c mongoc-stream-tls-openssl-bio.c mongoc-stream-tls-openssl.c mongoc-stream-tls-secure-channel.c mongoc-stream-tls-secure-transport.c mongoc-topology.c mongoc-topology-description-apm.c mongoc-topology-description.c mongoc-topology-scanner.c mongoc-uri.c mongoc-util.c mongoc-version-functions.c mongoc-write-command.c mongoc-write-concern.c"; + var PHP_MONGODB_MONGOC_SOURCES="mongoc-apm.c mongoc-array.c mongoc-async.c mongoc-async-cmd.c mongoc-b64.c mongoc-buffer.c mongoc-bulk-operation.c mongoc-client.c mongoc-client-pool.c mongoc-cluster.c mongoc-cluster-cyrus.c mongoc-cluster-gssapi.c mongoc-cluster-sasl.c mongoc-cluster-sspi.c mongoc-collection.c mongoc-compression.c mongoc-counters.c mongoc-crypto.c mongoc-crypto-cng.c mongoc-crypto-common-crypto.c mongoc-crypto-openssl.c mongoc-cursor-array.c mongoc-cursor.c mongoc-cursor-cursorid.c mongoc-cursor-transform.c mongoc-cyrus.c mongoc-database.c mongoc-find-and-modify.c mongoc-gridfs.c mongoc-gridfs-file.c mongoc-gridfs-file-list.c mongoc-gridfs-file-page.c mongoc-gssapi.c mongoc-handshake.c mongoc-host-list.c mongoc-index.c mongoc-init.c mongoc-libressl.c mongoc-linux-distro-scanner.c mongoc-list.c mongoc-log.c mongoc-matcher.c mongoc-matcher-op.c mongoc-memcmp.c mongoc-openssl.c mongoc-queue.c mongoc-rand-cng.c mongoc-rand-common-crypto.c mongoc-rand-openssl.c mongoc-read-concern.c mongoc-read-prefs.c mongoc-rpc.c mongoc-sasl.c mongoc-scram.c mongoc-secure-channel.c mongoc-secure-transport.c mongoc-server-description.c mongoc-server-stream.c mongoc-set.c mongoc-socket.c mongoc-ssl.c mongoc-sspi.c mongoc-stream-buffered.c mongoc-stream.c mongoc-stream-file.c mongoc-stream-gridfs.c mongoc-stream-socket.c mongoc-stream-tls.c mongoc-stream-tls-libressl.c mongoc-stream-tls-openssl-bio.c mongoc-stream-tls-openssl.c mongoc-stream-tls-secure-channel.c mongoc-stream-tls-secure-transport.c mongoc-topology.c mongoc-topology-description-apm.c mongoc-topology-description.c mongoc-topology-scanner.c mongoc-uri.c mongoc-util.c mongoc-version-functions.c mongoc-write-command.c mongoc-write-concern.c"; EXTENSION("mongodb", "php_phongo.c phongo_compat.c", null, PHP_MONGODB_CFLAGS); ADD_SOURCES(configure_module_dirname + "/src", "bson.c bson-encode.c", "mongodb"); @@ -107,7 +107,8 @@ if (PHP_MONGODB != "no") { BSON_HAVE_TIMESPEC: 0, BSON_EXTRA_ALIGN: 0, BSON_HAVE_SYSCALL_TID: 0, - BSON_HAVE_DECIMAL128: 0 + BSON_HAVE_DECIMAL128: 0, + BSON_HAVE_GMTIME_R: 0 }; if (CHECK_FUNC_IN_HEADER("stdio.h", "_set_output_format")) { @@ -139,9 +140,14 @@ if (PHP_MONGODB != "no") { MONGOC_ENABLE_SSL: 0, MONGOC_ENABLE_CRYPTO: 0, MONGOC_ENABLE_CRYPTO_SYSTEM_PROFILE: 0, + MONGOC_ENABLE_COMPRESSION_SNAPPY: 0, + MONGOC_ENABLE_COMPRESSION_ZLIB: 0, + MONGOC_ENABLE_COMPRESSION: 0, MONGOC_ENABLE_SASL: 0, MONGOC_ENABLE_SASL_CYRUS: 0, + MONGOC_ENABLE_SASL_GSSAPI: 0, MONGOC_ENABLE_SASL_SSPI: 0, + MONGOC_HAVE_ASN1_STRING_GET0_DATA: 0, MONGOC_HAVE_SASL_CLIENT_DONE: 0, MONGOC_HAVE_SOCKLEN: 0, MONGOC_HAVE_WEAK_SYMBOLS: 0, diff --git a/scripts/convert-bson-corpus-tests.php b/scripts/convert-bson-corpus-tests.php index dbad768d4..3e8cf5c50 100644 --- a/scripts/convert-bson-corpus-tests.php +++ b/scripts/convert-bson-corpus-tests.php @@ -21,6 +21,11 @@ continue; } + if ( ! isset($test['description'])) { + printf("Skipping test file without \"description\" field: %s\n", $inputFile); + continue; + } + if ( ! empty($test['deprecated'])) { printf("Skipping deprecated test file: %s\n", $inputFile); continue; @@ -29,7 +34,12 @@ if ( ! empty($test['valid'])) { foreach ($test['valid'] as $i => $case) { $outputFile = sprintf('%s-valid-%03d.phpt', pathinfo($inputFile, PATHINFO_FILENAME), $i + 1); - $output = renderPhpt(getParamsForValid($test, $case)); + try { + $output = renderPhpt(getParamsForValid($test, $case)); + } catch (Exception $e) { + printf("Error processing valid[%d] in %s: %s\n", $i, $inputFile, $e->getMessage()); + continue; + } if (false === file_put_contents($outputPath . '/' . $outputFile, $output)) { printf("Error writing valid[%d] in %s\n", $i, $inputFile); @@ -41,7 +51,12 @@ if ( ! empty($test['decodeErrors'])) { foreach ($test['decodeErrors'] as $i => $case) { $outputFile = sprintf('%s-decodeError-%03d.phpt', pathinfo($inputFile, PATHINFO_FILENAME), $i + 1); - $output = renderPhpt(getParamsForDecodeError($test, $case)); + try { + $output = renderPhpt(getParamsForDecodeError($test, $case)); + } catch (Exception $e) { + printf("Error processing decodeErrors[%d] in %s: %s\n", $i, $inputFile, $e->getMessage()); + continue; + } if (false === file_put_contents($outputPath . '/' . $outputFile, $output)) { printf("Error writing decodeErrors[%d] in %s\n", $i, $inputFile); @@ -55,8 +70,8 @@ $outputFile = sprintf('%s-parseError-%03d.phpt', pathinfo($inputFile, PATHINFO_FILENAME), $i + 1); try { $output = renderPhpt(getParamsForParseError($test, $case)); - } catch (UnexpectedValueException $e) { - printf("Parse errors not supported for BSON type: %s\n", $test['bson_type']); + } catch (Exception $e) { + printf("Error processing parseErrors[%d] in %s: %s\n", $i, $inputFile, $e->getMessage()); continue; } @@ -70,67 +85,103 @@ function getParamsForValid(array $test, array $case) { + foreach (['description', 'canonical_bson', 'canonical_extjson'] as $field) { + if (!isset($case[$field])) { + throw new InvalidArgumentException(sprintf('Missing "%s" field', $field)); + } + } + $code = ''; $expect = ''; - $bson = $case['bson']; - $canonicalBson = isset($case['canonical_bson']) ? $case['canonical_bson'] : $bson; + $lossy = isset($case['lossy']) ? (boolean) $case['lossy'] : false; + + $canonicalBson = $case['canonical_bson']; $expectedCanonicalBson = strtolower($canonicalBson); + $code .= sprintf('$canonicalBson = hex2bin(%s);', var_export($canonicalBson, true)) . "\n"; - $code .= sprintf('$bson = hex2bin(%s);', var_export($bson, true)) . "\n"; + if (isset($case['degenerate_bson'])) { + $degenerateBson = $case['degenerate_bson']; + $expectedDegenerateBson = strtolower($degenerateBson); + $code .= sprintf('$degenerateBson = hex2bin(%s);', var_export($degenerateBson, true)) . "\n"; + } - $code .= "\n// BSON to Canonical BSON\n"; - $code .= 'echo bin2hex(fromPHP(toPHP($bson))), "\n";' . "\n"; - $expect .= $expectedCanonicalBson . "\n"; + if (isset($case['converted_bson'])) { + $convertedBson = $case['converted_bson']; + $expectedConvertedBson = strtolower($convertedBson); + $code .= sprintf('$convertedBson = hex2bin(%s);', var_export($convertedBson, true)) . "\n"; + } - if ($bson !== $canonicalBson) { - $code .= "\n" . sprintf('$canonicalBson = hex2bin(%s);', var_export($canonicalBson, true)) . "\n"; - $code .= "\n// Canonical BSON to Canonical BSON\n"; - $code .= 'echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n";' . "\n"; - $expect .= $expectedCanonicalBson . "\n"; + $canonicalExtJson = $case['canonical_extjson']; + $expectedCanonicalExtJson = json_canonicalize($canonicalExtJson); + $code .= sprintf('$canonicalExtJson = %s;', var_export($canonicalExtJson, true)) . "\n"; + + if (isset($case['relaxed_extjson'])) { + $relaxedExtJson = $case['relaxed_extjson']; + $expectedRelaxedExtJson = json_canonicalize($relaxedExtJson); + $code .= sprintf('$relaxedExtJson = %s;', var_export($relaxedExtJson, true)) . "\n"; } - if (isset($case['extjson'])) { - $json = $case['extjson']; - $canonicalJson = isset($case['canonical_extjson']) ? $case['canonical_extjson'] : $json; - $expectedCanonicalJson = json_canonicalize($canonicalJson); - $lossy = isset($case['lossy']) ? (boolean) $case['lossy'] : false; + if (isset($case['degenerate_extjson'])) { + $degenerateExtJson = $case['degenerate_extjson']; + $expectedDegenerateExtJson = json_canonicalize($degenerateExtJson); + $code .= sprintf('$degenerateExtJson = %s;', var_export($degenerateExtJson, true)) . "\n"; + } - $code .= "\n// BSON to Canonical extJSON\n"; - $code .= 'echo json_canonicalize(toExtendedJSON($bson)), "\n";' . "\n";; - $expect .= $expectedCanonicalJson . "\n"; + if (isset($case['converted_extjson'])) { + $convertedExtJson = $case['converted_extjson']; + $expectedConvertedExtJson = json_canonicalize($convertedExtJson); + $code .= sprintf('$convertedExtJson = %s;', var_export($convertedExtJson, true)) . "\n"; + } - $code .= "\n" . sprintf('$json = %s;', var_export($json, true)) . "\n"; - $code .= "\n// extJSON to Canonical extJSON\n"; - $code .= 'echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n";' . "\n";; - $expect .= $expectedCanonicalJson . "\n"; + $code .= "\n// Canonical BSON -> Native -> Canonical BSON \n"; + $code .= 'echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n";' . "\n"; + $expect .= $expectedCanonicalBson . "\n"; - if ($bson !== $canonicalBson) { - $code .= "\n// Canonical BSON to Canonical extJSON\n"; - $code .= 'echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n";' . "\n";; - $expect .= $expectedCanonicalJson . "\n"; - } + $code .= "\n// Canonical BSON -> Canonical extJSON \n"; + $code .= 'echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n";' . "\n";; + $expect .= $expectedCanonicalExtJson . "\n"; - if ($json !== $canonicalJson) { - $code .= "\n" . sprintf('$canonicalJson = %s;', var_export($canonicalJson, true)) . "\n"; - $code .= "\n// Canonical extJSON to Canonical extJSON\n"; - $code .= 'echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n";' . "\n";; - $expect .= $expectedCanonicalJson . "\n"; - } + if (isset($relaxedExtJson)) { + $code .= "\n// Canonical BSON -> Relaxed extJSON \n"; + $code .= 'echo json_canonicalize(toJSON($canonicalBson)), "\n";' . "\n";; + $expect .= $expectedRelaxedExtJson . "\n"; + } - if ( ! $lossy) { - $code .= "\n// extJSON to Canonical BSON\n"; - $code .= 'echo bin2hex(fromJSON($json)), "\n";' . "\n";; - $expect .= $expectedCanonicalBson . "\n"; + if (!$lossy) { + $code .= "\n// Canonical extJSON -> Canonical BSON \n"; + $code .= 'echo bin2hex(fromJSON($canonicalExtJson)), "\n";' . "\n"; + $expect .= $expectedCanonicalBson . "\n"; + } - if ($json !== $canonicalJson) { - $code .= "\n// Canonical extJSON to Canonical BSON\n"; - $code .= 'echo bin2hex(fromJSON($canonicalJson)), "\n";' . "\n";; - $expect .= $expectedCanonicalBson . "\n"; - } + if (isset($degenerateBson)) { + $code .= "\n// Degenerate BSON -> Native -> Canonical BSON \n"; + $code .= 'echo bin2hex(fromPHP(toPHP($degenerateBson))), "\n";' . "\n"; + $expect .= $expectedCanonicalBson . "\n"; + + $code .= "\n// Degenerate BSON -> Canonical extJSON \n"; + $code .= 'echo json_canonicalize(toExtendedJSON($degenerateBson)), "\n";' . "\n";; + $expect .= $expectedCanonicalExtJson . "\n"; + + if (isset($relaxedExtJson)) { + $code .= "\n// Degenerate BSON -> Relaxed extJSON \n"; + $code .= 'echo json_canonicalize(toJSON($degenerateBson)), "\n";' . "\n";; + $expect .= $expectedRelaxedExtJson . "\n"; } } + if (isset($degenerateExtJson) && !$lossy) { + $code .= "\n// Degenerate extJSON -> Canonical BSON \n"; + $code .= 'echo bin2hex(fromJSON($degenerateExtJson)), "\n";' . "\n"; + $expect .= $expectedCanonicalBson . "\n"; + } + + if (isset($relaxedExtJson)) { + $code .= "\n// Relaxed extJSON -> BSON -> Relaxed extJSON \n"; + $code .= 'echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n";' . "\n"; + $expect .= $expectedRelaxedExtJson . "\n"; + } + return [ '%NAME%' => sprintf('%s: %s', trim($test['description']), trim($case['description'])), '%CODE%' => trim($code), @@ -140,6 +191,12 @@ function getParamsForValid(array $test, array $case) function getParamsForDecodeError(array $test, array $case) { + foreach (['description', 'bson'] as $field) { + if (!isset($case[$field])) { + throw new InvalidArgumentException(sprintf('Missing "%s" field', $field)); + } + } + $code = sprintf('$bson = hex2bin(%s);', var_export($case['bson'], true)) . "\n\n"; $code .= "throws(function() use (\$bson) {\n"; $code .= " var_dump(toPHP(\$bson));\n"; @@ -158,10 +215,26 @@ function getParamsForDecodeError(array $test, array $case) function getParamsForParseError(array $test, array $case) { + foreach (['description', 'string'] as $field) { + if (!isset($case[$field])) { + throw new InvalidArgumentException(sprintf('Missing "%s" field', $field)); + } + } + $code = ''; $expect = ''; switch ($test['bson_type']) { + case '0x00': // Top-level document + $code = "throws(function() {\n"; + $code .= sprintf(" fromJSON(%s);\n", var_export($case['string'], true)); + $code .= "}, 'MongoDB\Driver\Exception\UnexpectedValueException');"; + + /* We do not test for the exception message, since that may differ + * based on the nature of the parse error. */ + $expect = "OK: Got MongoDB\Driver\Exception\UnexpectedValueException"; + break; + case '0x13': // Decimal128 $code = "throws(function() {\n"; $code .= sprintf(" new MongoDB\BSON\Decimal128(%s);\n", var_export($case['string'], true)); @@ -173,7 +246,7 @@ function getParamsForParseError(array $test, array $case) break; default: - throw new UnexpectedValueException; + throw new UnexpectedValueException(sprintf("Parse errors not supported for BSON type: %s", $test['bson_type'])); } return [ diff --git a/src/libbson b/src/libbson index 8086fcf57..7fe8d4cf8 160000 --- a/src/libbson +++ b/src/libbson @@ -1 +1 @@ -Subproject commit 8086fcf575c6ebce6f68c8b08673dae160989b1a +Subproject commit 7fe8d4cf88af9ddb31386f73ccd0698e665dbc4d diff --git a/src/libmongoc b/src/libmongoc index 0416c3d14..9d1873fa8 160000 --- a/src/libmongoc +++ b/src/libmongoc @@ -1 +1 @@ -Subproject commit 0416c3d14e5e5d5fdb7bea40784444c6e7c0d838 +Subproject commit 9d1873fa87a4b6b4a11db30a44eebd35891532c6 diff --git a/tests/bson-corpus/array-valid-001.phpt b/tests/bson-corpus/array-valid-001.phpt index 95bf5c3b5..0fba5a2a9 100644 --- a/tests/bson-corpus/array-valid-001.phpt +++ b/tests/bson-corpus/array-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0D000000046100050000000000'); +$canonicalBson = hex2bin('0D000000046100050000000000'); +$canonicalExtJson = '{"a" : []}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : []}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0d000000046100050000000000 {"a":[]} -{"a":[]} 0d000000046100050000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/array-valid-002.phpt b/tests/bson-corpus/array-valid-002.phpt index 35986449e..8b1d6010f 100644 --- a/tests/bson-corpus/array-valid-002.phpt +++ b/tests/bson-corpus/array-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('140000000461000C0000001030000A0000000000'); +$canonicalBson = hex2bin('140000000461000C0000001030000A0000000000'); +$canonicalExtJson = '{"a" : [{"$numberInt": "10"}]}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : [{"$numberInt": "10"}]}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 140000000461000c0000001030000a0000000000 {"a":[{"$numberInt":"10"}]} -{"a":[{"$numberInt":"10"}]} 140000000461000c0000001030000a0000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/array-valid-003.phpt b/tests/bson-corpus/array-valid-003.phpt index 8e16cf8aa..38d643a51 100644 --- a/tests/bson-corpus/array-valid-003.phpt +++ b/tests/bson-corpus/array-valid-003.phpt @@ -9,38 +9,32 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('130000000461000B00000010000A0000000000'); - -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; - $canonicalBson = hex2bin('140000000461000C0000001030000A0000000000'); +$degenerateBson = hex2bin('130000000461000B00000010000A0000000000'); +$canonicalExtJson = '{"a" : [{"$numberInt": "10"}]}'; -// Canonical BSON to Canonical BSON +// Canonical BSON -> Native -> Canonical BSON echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"a" : [{"$numberInt": "10"}]}'; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// Canonical BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; +// Degenerate BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($degenerateBson))), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Degenerate BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($degenerateBson)), "\n"; ?> ===DONE=== --EXPECT-- 140000000461000c0000001030000a0000000000 -140000000461000c0000001030000a0000000000 -{"a":[{"$numberInt":"10"}]} -{"a":[{"$numberInt":"10"}]} {"a":[{"$numberInt":"10"}]} 140000000461000c0000001030000a0000000000 +140000000461000c0000001030000a0000000000 +{"a":[{"$numberInt":"10"}]} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/array-valid-004.phpt b/tests/bson-corpus/array-valid-004.phpt index 1166fcafb..7da1c8006 100644 --- a/tests/bson-corpus/array-valid-004.phpt +++ b/tests/bson-corpus/array-valid-004.phpt @@ -9,38 +9,32 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('150000000461000D000000106162000A0000000000'); - -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; - $canonicalBson = hex2bin('140000000461000C0000001030000A0000000000'); +$degenerateBson = hex2bin('150000000461000D000000106162000A0000000000'); +$canonicalExtJson = '{"a" : [{"$numberInt": "10"}]}'; -// Canonical BSON to Canonical BSON +// Canonical BSON -> Native -> Canonical BSON echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"a" : [{"$numberInt": "10"}]}'; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// Canonical BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; +// Degenerate BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($degenerateBson))), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Degenerate BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($degenerateBson)), "\n"; ?> ===DONE=== --EXPECT-- 140000000461000c0000001030000a0000000000 -140000000461000c0000001030000a0000000000 -{"a":[{"$numberInt":"10"}]} -{"a":[{"$numberInt":"10"}]} {"a":[{"$numberInt":"10"}]} 140000000461000c0000001030000a0000000000 +140000000461000c0000001030000a0000000000 +{"a":[{"$numberInt":"10"}]} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-001.phpt b/tests/bson-corpus/binary-valid-001.phpt index 06094ceef..6fde58790 100644 --- a/tests/bson-corpus/binary-valid-001.phpt +++ b/tests/bson-corpus/binary-valid-001.phpt @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0D000000057800000000000000'); +$canonicalBson = hex2bin('0D000000057800000000000000'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "", "subType" : "00"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "", "$type" : "00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- 0d000000057800000000000000 -{"x":{"$binary":"","$type":"00"}} -{"x":{"$binary":"","$type":"00"}} +{"x":{"$binary":{"base64":"","subType":"00"}}} 0d000000057800000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-002.phpt b/tests/bson-corpus/binary-valid-002.phpt index 87dd42133..06a32744a 100644 --- a/tests/bson-corpus/binary-valid-002.phpt +++ b/tests/bson-corpus/binary-valid-002.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x00 +Binary type: subtype 0x00 (Zero-length, keys reversed) --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,28 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0F0000000578000200000000FFFF00'); +$canonicalBson = hex2bin('0D000000057800000000000000'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "", "subType" : "00"}}}'; +$degenerateExtJson = '{"x" : { "$binary" : {"subType" : "00", "base64" : ""}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "//8=", "$type" : "00"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -0f0000000578000200000000ffff00 -{"x":{"$binary":"\/\/8=","$type":"00"}} -{"x":{"$binary":"\/\/8=","$type":"00"}} -0f0000000578000200000000ffff00 +0d000000057800000000000000 +{"x":{"$binary":{"base64":"","subType":"00"}}} +0d000000057800000000000000 +0d000000057800000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-003.phpt b/tests/bson-corpus/binary-valid-003.phpt index 80cfdd40b..1265778ce 100644 --- a/tests/bson-corpus/binary-valid-003.phpt +++ b/tests/bson-corpus/binary-valid-003.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x01 +Binary type: subtype 0x00 --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0F0000000578000200000001FFFF00'); +$canonicalBson = hex2bin('0F0000000578000200000000FFFF00'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "//8=", "subType" : "00"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "//8=", "$type" : "01"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -0f0000000578000200000001ffff00 -{"x":{"$binary":"\/\/8=","$type":"01"}} -{"x":{"$binary":"\/\/8=","$type":"01"}} -0f0000000578000200000001ffff00 +0f0000000578000200000000ffff00 +{"x":{"$binary":{"base64":"\/\/8=","subType":"00"}}} +0f0000000578000200000000ffff00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-004.phpt b/tests/bson-corpus/binary-valid-004.phpt index 55ae07bd1..a5703d370 100644 --- a/tests/bson-corpus/binary-valid-004.phpt +++ b/tests/bson-corpus/binary-valid-004.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x02 +Binary type: subtype 0x01 --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('13000000057800060000000202000000ffff00'); +$canonicalBson = hex2bin('0F0000000578000200000001FFFF00'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "//8=", "subType" : "01"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "//8=", "$type" : "02"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -13000000057800060000000202000000ffff00 -{"x":{"$binary":"\/\/8=","$type":"02"}} -{"x":{"$binary":"\/\/8=","$type":"02"}} -13000000057800060000000202000000ffff00 +0f0000000578000200000001ffff00 +{"x":{"$binary":{"base64":"\/\/8=","subType":"01"}}} +0f0000000578000200000001ffff00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-005.phpt b/tests/bson-corpus/binary-valid-005.phpt index e704829c7..b0c7c70a2 100644 --- a/tests/bson-corpus/binary-valid-005.phpt +++ b/tests/bson-corpus/binary-valid-005.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x03 +Binary type: subtype 0x02 --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1D000000057800100000000373FFD26444B34C6990E8E7D1DFC035D400'); +$canonicalBson = hex2bin('13000000057800060000000202000000FFFF00'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "//8=", "subType" : "02"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "c//SZESzTGmQ6OfR38A11A==", "$type" : "03"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -1d000000057800100000000373ffd26444b34c6990e8e7d1dfc035d400 -{"x":{"$binary":"c\/\/SZESzTGmQ6OfR38A11A==","$type":"03"}} -{"x":{"$binary":"c\/\/SZESzTGmQ6OfR38A11A==","$type":"03"}} -1d000000057800100000000373ffd26444b34c6990e8e7d1dfc035d400 +13000000057800060000000202000000ffff00 +{"x":{"$binary":{"base64":"\/\/8=","subType":"02"}}} +13000000057800060000000202000000ffff00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-006.phpt b/tests/bson-corpus/binary-valid-006.phpt index d0480c142..9e81c4d11 100644 --- a/tests/bson-corpus/binary-valid-006.phpt +++ b/tests/bson-corpus/binary-valid-006.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x04 +Binary type: subtype 0x03 --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1D000000057800100000000473FFD26444B34C6990E8E7D1DFC035D400'); +$canonicalBson = hex2bin('1D000000057800100000000373FFD26444B34C6990E8E7D1DFC035D400'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "c//SZESzTGmQ6OfR38A11A==", "subType" : "03"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "c//SZESzTGmQ6OfR38A11A==", "$type" : "04"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -1d000000057800100000000473ffd26444b34c6990e8e7d1dfc035d400 -{"x":{"$binary":"c\/\/SZESzTGmQ6OfR38A11A==","$type":"04"}} -{"x":{"$binary":"c\/\/SZESzTGmQ6OfR38A11A==","$type":"04"}} -1d000000057800100000000473ffd26444b34c6990e8e7d1dfc035d400 +1d000000057800100000000373ffd26444b34c6990e8e7d1dfc035d400 +{"x":{"$binary":{"base64":"c\/\/SZESzTGmQ6OfR38A11A==","subType":"03"}}} +1d000000057800100000000373ffd26444b34c6990e8e7d1dfc035d400 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-007.phpt b/tests/bson-corpus/binary-valid-007.phpt index bea06c868..8ed1e9e38 100644 --- a/tests/bson-corpus/binary-valid-007.phpt +++ b/tests/bson-corpus/binary-valid-007.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x05 +Binary type: subtype 0x04 --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1D000000057800100000000573FFD26444B34C6990E8E7D1DFC035D400'); +$canonicalBson = hex2bin('1D000000057800100000000473FFD26444B34C6990E8E7D1DFC035D400'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "c//SZESzTGmQ6OfR38A11A==", "subType" : "04"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "c//SZESzTGmQ6OfR38A11A==", "$type" : "05"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -1d000000057800100000000573ffd26444b34c6990e8e7d1dfc035d400 -{"x":{"$binary":"c\/\/SZESzTGmQ6OfR38A11A==","$type":"05"}} -{"x":{"$binary":"c\/\/SZESzTGmQ6OfR38A11A==","$type":"05"}} -1d000000057800100000000573ffd26444b34c6990e8e7d1dfc035d400 +1d000000057800100000000473ffd26444b34c6990e8e7d1dfc035d400 +{"x":{"$binary":{"base64":"c\/\/SZESzTGmQ6OfR38A11A==","subType":"04"}}} +1d000000057800100000000473ffd26444b34c6990e8e7d1dfc035d400 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-008.phpt b/tests/bson-corpus/binary-valid-008.phpt index 648b65165..f0297c13a 100644 --- a/tests/bson-corpus/binary-valid-008.phpt +++ b/tests/bson-corpus/binary-valid-008.phpt @@ -1,5 +1,5 @@ --TEST-- -Binary type: subtype 0x80 +Binary type: subtype 0x05 --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0F0000000578000200000080FFFF00'); +$canonicalBson = hex2bin('1D000000057800100000000573FFD26444B34C6990E8E7D1DFC035D400'); +$canonicalExtJson = '{"x" : { "$binary" : {"base64" : "c//SZESzTGmQ6OfR38A11A==", "subType" : "05"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"$binary" : "//8=", "$type" : "80"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -0f0000000578000200000080ffff00 -{"x":{"$binary":"\/\/8=","$type":"80"}} -{"x":{"$binary":"\/\/8=","$type":"80"}} -0f0000000578000200000080ffff00 +1d000000057800100000000573ffd26444b34c6990e8e7d1dfc035d400 +{"x":{"$binary":{"base64":"c\/\/SZESzTGmQ6OfR38A11A==","subType":"05"}}} +1d000000057800100000000573ffd26444b34c6990e8e7d1dfc035d400 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-009.phpt b/tests/bson-corpus/binary-valid-009.phpt new file mode 100644 index 000000000..2ba32c87b --- /dev/null +++ b/tests/bson-corpus/binary-valid-009.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x80 +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +0f0000000578000200000080ffff00 +{"x":{"$binary":{"base64":"\/\/8=","subType":"80"}}} +0f0000000578000200000080ffff00 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-010.phpt b/tests/bson-corpus/binary-valid-010.phpt new file mode 100644 index 000000000..25152de56 --- /dev/null +++ b/tests/bson-corpus/binary-valid-010.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: $type query operator (conflicts with legacy $binary form with $type field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +1f000000037800170000000224747970650007000000737472696e67000000 +{"x":{"$type":"string"}} +1f000000037800170000000224747970650007000000737472696e67000000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-011.phpt b/tests/bson-corpus/binary-valid-011.phpt new file mode 100644 index 000000000..d00c4b67f --- /dev/null +++ b/tests/bson-corpus/binary-valid-011.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: $type query operator (conflicts with legacy $binary form with $type field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +180000000378001000000010247479706500020000000000 +{"x":{"$type":{"$numberInt":"2"}}} +180000000378001000000010247479706500020000000000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/boolean-valid-001.phpt b/tests/bson-corpus/boolean-valid-001.phpt index 3584916f2..79da1e48e 100644 --- a/tests/bson-corpus/boolean-valid-001.phpt +++ b/tests/bson-corpus/boolean-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('090000000862000100'); +$canonicalBson = hex2bin('090000000862000100'); +$canonicalExtJson = '{"b" : true}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"b" : true}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 090000000862000100 {"b":true} -{"b":true} 090000000862000100 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/boolean-valid-002.phpt b/tests/bson-corpus/boolean-valid-002.phpt index fc3d0d26a..20b9068a0 100644 --- a/tests/bson-corpus/boolean-valid-002.phpt +++ b/tests/bson-corpus/boolean-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('090000000862000000'); +$canonicalBson = hex2bin('090000000862000000'); +$canonicalExtJson = '{"b" : false}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"b" : false}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 090000000862000000 {"b":false} -{"b":false} 090000000862000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code-valid-001.phpt b/tests/bson-corpus/code-valid-001.phpt index fe01676ac..2998c61ad 100644 --- a/tests/bson-corpus/code-valid-001.phpt +++ b/tests/bson-corpus/code-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0D0000000D6100010000000000'); +$canonicalBson = hex2bin('0D0000000D6100010000000000'); +$canonicalExtJson = '{"a" : {"$code" : ""}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : ""}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0d0000000d6100010000000000 {"a":{"$code":""}} -{"a":{"$code":""}} 0d0000000d6100010000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code-valid-002.phpt b/tests/bson-corpus/code-valid-002.phpt index 0e99e08ec..1eabc82dc 100644 --- a/tests/bson-corpus/code-valid-002.phpt +++ b/tests/bson-corpus/code-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0E0000000D610002000000620000'); +$canonicalBson = hex2bin('0E0000000D610002000000620000'); +$canonicalExtJson = '{"a" : {"$code" : "b"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "b"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0e0000000d610002000000620000 {"a":{"$code":"b"}} -{"a":{"$code":"b"}} 0e0000000d610002000000620000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code-valid-003.phpt b/tests/bson-corpus/code-valid-003.phpt index 8af2e1901..307ee5bb9 100644 --- a/tests/bson-corpus/code-valid-003.phpt +++ b/tests/bson-corpus/code-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000D61000D0000006162616261626162616261620000'); +$canonicalBson = hex2bin('190000000D61000D0000006162616261626162616261620000'); +$canonicalExtJson = '{"a" : {"$code" : "abababababab"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "abababababab"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000d61000d0000006162616261626162616261620000 {"a":{"$code":"abababababab"}} -{"a":{"$code":"abababababab"}} 190000000d61000d0000006162616261626162616261620000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code-valid-004.phpt b/tests/bson-corpus/code-valid-004.phpt index 1bea97724..0d684f443 100644 --- a/tests/bson-corpus/code-valid-004.phpt +++ b/tests/bson-corpus/code-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D000000C3A9C3A9C3A9C3A9C3A9C3A90000'); +$canonicalBson = hex2bin('190000000261000D000000C3A9C3A9C3A9C3A9C3A9C3A90000'); +$canonicalExtJson = '{"a" : "\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d000000c3a9c3a9c3a9c3a9c3a9c3a90000 {"a":"\u00e9\u00e9\u00e9\u00e9\u00e9\u00e9"} -{"a":"\u00e9\u00e9\u00e9\u00e9\u00e9\u00e9"} 190000000261000d000000c3a9c3a9c3a9c3a9c3a9c3a90000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code-valid-005.phpt b/tests/bson-corpus/code-valid-005.phpt index 082572bfa..44fbade12 100644 --- a/tests/bson-corpus/code-valid-005.phpt +++ b/tests/bson-corpus/code-valid-005.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D000000E29886E29886E29886E298860000'); +$canonicalBson = hex2bin('190000000261000D000000E29886E29886E29886E298860000'); +$canonicalExtJson = '{"a" : "\\u2606\\u2606\\u2606\\u2606"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "\\u2606\\u2606\\u2606\\u2606"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d000000e29886e29886e29886e298860000 {"a":"\u2606\u2606\u2606\u2606"} -{"a":"\u2606\u2606\u2606\u2606"} 190000000261000d000000e29886e29886e29886e298860000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code-valid-006.phpt b/tests/bson-corpus/code-valid-006.phpt index 710dece97..2fae82689 100644 --- a/tests/bson-corpus/code-valid-006.phpt +++ b/tests/bson-corpus/code-valid-006.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D0000006162006261620062616261620000'); +$canonicalBson = hex2bin('190000000261000D0000006162006261620062616261620000'); +$canonicalExtJson = '{"a" : "ab\\u0000bab\\u0000babab"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "ab\\u0000bab\\u0000babab"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d0000006162006261620062616261620000 {"a":"ab\u0000bab\u0000babab"} -{"a":"ab\u0000bab\u0000babab"} 190000000261000d0000006162006261620062616261620000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code_w_scope-valid-001.phpt b/tests/bson-corpus/code_w_scope-valid-001.phpt index 70c3a90a2..8eab755e9 100644 --- a/tests/bson-corpus/code_w_scope-valid-001.phpt +++ b/tests/bson-corpus/code_w_scope-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('160000000F61000E0000000100000000050000000000'); +$canonicalBson = hex2bin('160000000F61000E0000000100000000050000000000'); +$canonicalExtJson = '{"a" : {"$code" : "", "$scope" : {}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "", "$scope" : {}}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 160000000f61000e0000000100000000050000000000 {"a":{"$code":"","$scope":{}}} -{"a":{"$code":"","$scope":{}}} 160000000f61000e0000000100000000050000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code_w_scope-valid-002.phpt b/tests/bson-corpus/code_w_scope-valid-002.phpt index 8549c573a..75202a53e 100644 --- a/tests/bson-corpus/code_w_scope-valid-002.phpt +++ b/tests/bson-corpus/code_w_scope-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1A0000000F610012000000050000006162636400050000000000'); +$canonicalBson = hex2bin('1A0000000F610012000000050000006162636400050000000000'); +$canonicalExtJson = '{"a" : {"$code" : "abcd", "$scope" : {}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "abcd", "$scope" : {}}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1a0000000f610012000000050000006162636400050000000000 {"a":{"$code":"abcd","$scope":{}}} -{"a":{"$code":"abcd","$scope":{}}} 1a0000000f610012000000050000006162636400050000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code_w_scope-valid-003.phpt b/tests/bson-corpus/code_w_scope-valid-003.phpt index 8bffe5ad4..c57072999 100644 --- a/tests/bson-corpus/code_w_scope-valid-003.phpt +++ b/tests/bson-corpus/code_w_scope-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1D0000000F61001500000001000000000C000000107800010000000000'); +$canonicalBson = hex2bin('1D0000000F61001500000001000000000C000000107800010000000000'); +$canonicalExtJson = '{"a" : {"$code" : "", "$scope" : {"x" : {"$numberInt": "1"}}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "", "$scope" : {"x" : {"$numberInt": "1"}}}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1d0000000f61001500000001000000000c000000107800010000000000 {"a":{"$code":"","$scope":{"x":{"$numberInt":"1"}}}} -{"a":{"$code":"","$scope":{"x":{"$numberInt":"1"}}}} 1d0000000f61001500000001000000000c000000107800010000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code_w_scope-valid-004.phpt b/tests/bson-corpus/code_w_scope-valid-004.phpt index b38082eff..c0f20af87 100644 --- a/tests/bson-corpus/code_w_scope-valid-004.phpt +++ b/tests/bson-corpus/code_w_scope-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('210000000F6100190000000500000061626364000C000000107800010000000000'); +$canonicalBson = hex2bin('210000000F6100190000000500000061626364000C000000107800010000000000'); +$canonicalExtJson = '{"a" : {"$code" : "abcd", "$scope" : {"x" : {"$numberInt": "1"}}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "abcd", "$scope" : {"x" : {"$numberInt": "1"}}}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 210000000f6100190000000500000061626364000c000000107800010000000000 {"a":{"$code":"abcd","$scope":{"x":{"$numberInt":"1"}}}} -{"a":{"$code":"abcd","$scope":{"x":{"$numberInt":"1"}}}} 210000000f6100190000000500000061626364000c000000107800010000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/code_w_scope-valid-005.phpt b/tests/bson-corpus/code_w_scope-valid-005.phpt index f5f73f3e8..e3c3696e7 100644 --- a/tests/bson-corpus/code_w_scope-valid-005.phpt +++ b/tests/bson-corpus/code_w_scope-valid-005.phpt @@ -1,7 +1,7 @@ --TEST-- Javascript Code with Scope: Unicode and embedded null in code string, empty scope ---SKIPIF-- - +--XFAIL-- +Embedded null in code string is not supported in libbson (CDRIVER-1879) --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -11,21 +11,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1A0000000F61001200000005000000C3A9006400050000000000'); +$canonicalBson = hex2bin('1A0000000F61001200000005000000C3A9006400050000000000'); +$canonicalExtJson = '{"a" : {"$code" : "\\u00e9\\u0000d", "$scope" : {}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$code" : "\\u00e9\\u0000d", "$scope" : {}}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -33,6 +29,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1a0000000f61001200000005000000c3a9006400050000000000 {"a":{"$code":"\u00e9\u0000d","$scope":{}}} -{"a":{"$code":"\u00e9\u0000d","$scope":{}}} 1a0000000f61001200000005000000c3a9006400050000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/datetime-valid-001.phpt b/tests/bson-corpus/datetime-valid-001.phpt index 9664856a9..8e6c1c5a3 100644 --- a/tests/bson-corpus/datetime-valid-001.phpt +++ b/tests/bson-corpus/datetime-valid-001.phpt @@ -9,29 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000096100000000000000000000'); +$canonicalBson = hex2bin('10000000096100000000000000000000'); +$canonicalExtJson = '{"a" : {"$date" : {"$numberLong" : "0"}}}'; +$relaxedExtJson = '{"a" : {"$date" : "1970-01-01T00:00:00Z"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$date" : "1970-01-01T00:00:00.000Z"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -$canonicalJson = '{"a" : {"$date" : {"$numberLong" : "0"}}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -39,8 +34,7 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 10000000096100000000000000000000 {"a":{"$date":{"$numberLong":"0"}}} -{"a":{"$date":{"$numberLong":"0"}}} -{"a":{"$date":{"$numberLong":"0"}}} -10000000096100000000000000000000 +{"a":{"$date":"1970-01-01T00:00:00Z"}} 10000000096100000000000000000000 +{"a":{"$date":"1970-01-01T00:00:00Z"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/datetime-valid-002.phpt b/tests/bson-corpus/datetime-valid-002.phpt index 8e75586dd..9107828f2 100644 --- a/tests/bson-corpus/datetime-valid-002.phpt +++ b/tests/bson-corpus/datetime-valid-002.phpt @@ -9,38 +9,32 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000096100C4D8D6CC3B01000000'); +$canonicalBson = hex2bin('10000000096100C5D8D6CC3B01000000'); +$canonicalExtJson = '{"a" : {"$date" : {"$numberLong" : "1356351330501"}}}'; +$relaxedExtJson = '{"a" : {"$date" : "2012-12-24T12:15:30.501Z"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$date" : "2012-12-24T12:15:30.500Z"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -$canonicalJson = '{"a" : {"$date" : {"$numberLong" : "1356351330500"}}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== --EXPECT-- -10000000096100c4d8d6cc3b01000000 -{"a":{"$date":{"$numberLong":"1356351330500"}}} -{"a":{"$date":{"$numberLong":"1356351330500"}}} -{"a":{"$date":{"$numberLong":"1356351330500"}}} -10000000096100c4d8d6cc3b01000000 -10000000096100c4d8d6cc3b01000000 +10000000096100c5d8d6cc3b01000000 +{"a":{"$date":{"$numberLong":"1356351330501"}}} +{"a":{"$date":"2012-12-24T12:15:30.501Z"}} +10000000096100c5d8d6cc3b01000000 +{"a":{"$date":"2012-12-24T12:15:30.501Z"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/datetime-valid-003.phpt b/tests/bson-corpus/datetime-valid-003.phpt index b72444b18..4d5f45a28 100644 --- a/tests/bson-corpus/datetime-valid-003.phpt +++ b/tests/bson-corpus/datetime-valid-003.phpt @@ -9,38 +9,32 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000096100C43CE7B9BDFFFFFF00'); +$canonicalBson = hex2bin('10000000096100C33CE7B9BDFFFFFF00'); +$canonicalExtJson = '{"a" : {"$date" : {"$numberLong" : "-284643869501"}}}'; +$relaxedExtJson = '{"a" : {"$date" : {"$numberLong" : "-284643869501"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$date" : "1960-12-24T12:15:30.500Z"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -$canonicalJson = '{"a" : {"$date" : {"$numberLong" : "-284643869500"}}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== --EXPECT-- -10000000096100c43ce7b9bdffffff00 -{"a":{"$date":{"$numberLong":"-284643869500"}}} -{"a":{"$date":{"$numberLong":"-284643869500"}}} -{"a":{"$date":{"$numberLong":"-284643869500"}}} -10000000096100c43ce7b9bdffffff00 -10000000096100c43ce7b9bdffffff00 +10000000096100c33ce7b9bdffffff00 +{"a":{"$date":{"$numberLong":"-284643869501"}}} +{"a":{"$date":{"$numberLong":"-284643869501"}}} +10000000096100c33ce7b9bdffffff00 +{"a":{"$date":{"$numberLong":"-284643869501"}}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/datetime-valid-004.phpt b/tests/bson-corpus/datetime-valid-004.phpt new file mode 100644 index 000000000..a3956961d --- /dev/null +++ b/tests/bson-corpus/datetime-valid-004.phpt @@ -0,0 +1,31 @@ +--TEST-- +DateTime: Y10K +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +1000000009610000dc1fd277e6000000 +{"a":{"$date":{"$numberLong":"253402300800000"}}} +1000000009610000dc1fd277e6000000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/dbref-valid-001.phpt b/tests/bson-corpus/dbref-valid-001.phpt index 89b98e563..f739e302d 100644 --- a/tests/bson-corpus/dbref-valid-001.phpt +++ b/tests/bson-corpus/dbref-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('37000000036462726566002b0000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0000'); +$canonicalBson = hex2bin('37000000036462726566002b0000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0000'); +$canonicalExtJson = '{"dbref": {"$ref": "collection", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"dbref": {"$ref": "collection", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 37000000036462726566002b0000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0000 {"dbref":{"$ref":"collection","$id":{"$oid":"58921b3e6e32ab156a22b59e"}}} -{"dbref":{"$ref":"collection","$id":{"$oid":"58921b3e6e32ab156a22b59e"}}} 37000000036462726566002b0000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/dbref-valid-002.phpt b/tests/bson-corpus/dbref-valid-002.phpt index d78bd80a5..a97bc0165 100644 --- a/tests/bson-corpus/dbref-valid-002.phpt +++ b/tests/bson-corpus/dbref-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('4300000003646272656600370000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0224646200030000006462000000'); +$canonicalBson = hex2bin('4300000003646272656600370000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0224646200030000006462000000'); +$canonicalExtJson = '{"dbref": {"$ref": "collection", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}, "$db": "db"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"dbref": {"$ref": "collection", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}, "$db": "db"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 4300000003646272656600370000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0224646200030000006462000000 {"dbref":{"$ref":"collection","$id":{"$oid":"58921b3e6e32ab156a22b59e"},"$db":"db"}} -{"dbref":{"$ref":"collection","$id":{"$oid":"58921b3e6e32ab156a22b59e"},"$db":"db"}} 4300000003646272656600370000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0224646200030000006462000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/dbref-valid-003.phpt b/tests/bson-corpus/dbref-valid-003.phpt index 023b8af06..176944884 100644 --- a/tests/bson-corpus/dbref-valid-003.phpt +++ b/tests/bson-corpus/dbref-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('48000000036462726566003c0000000224726566000b000000636f6c6c656374696f6e0010246964002a00000002246462000300000064620002666f6f0004000000626172000000'); +$canonicalBson = hex2bin('48000000036462726566003c0000000224726566000b000000636f6c6c656374696f6e0010246964002a00000002246462000300000064620002666f6f0004000000626172000000'); +$canonicalExtJson = '{"dbref": {"$ref": "collection", "$id": {"$numberInt": "42"}, "$db": "db", "foo": "bar"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"dbref": {"$ref": "collection", "$id": {"$numberInt": "42"}, "$db": "db", "foo": "bar"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 48000000036462726566003c0000000224726566000b000000636f6c6c656374696f6e0010246964002a00000002246462000300000064620002666f6f0004000000626172000000 {"dbref":{"$ref":"collection","$id":{"$numberInt":"42"},"$db":"db","foo":"bar"}} -{"dbref":{"$ref":"collection","$id":{"$numberInt":"42"},"$db":"db","foo":"bar"}} 48000000036462726566003c0000000224726566000b000000636f6c6c656374696f6e0010246964002a00000002246462000300000064620002666f6f0004000000626172000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/dbref-valid-004.phpt b/tests/bson-corpus/dbref-valid-004.phpt index 07d563f5d..3378ced37 100644 --- a/tests/bson-corpus/dbref-valid-004.phpt +++ b/tests/bson-corpus/dbref-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('4400000003646272656600380000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e02666f6f0004000000626172000000'); +$canonicalBson = hex2bin('4400000003646272656600380000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e02666f6f0004000000626172000000'); +$canonicalExtJson = '{"dbref": {"$ref": "collection", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}, "foo": "bar"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"dbref": {"$ref": "collection", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}, "foo": "bar"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 4400000003646272656600380000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e02666f6f0004000000626172000000 {"dbref":{"$ref":"collection","$id":{"$oid":"58921b3e6e32ab156a22b59e"},"foo":"bar"}} -{"dbref":{"$ref":"collection","$id":{"$oid":"58921b3e6e32ab156a22b59e"},"foo":"bar"}} 4400000003646272656600380000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e02666f6f0004000000626172000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/dbref-valid-005.phpt b/tests/bson-corpus/dbref-valid-005.phpt index 2b1ecf490..0d6f574f8 100644 --- a/tests/bson-corpus/dbref-valid-005.phpt +++ b/tests/bson-corpus/dbref-valid-005.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('3e0000000224726566000c0000006e6f742d612d646272656600072469640058921b3e6e32ab156a22b59e022462616e616e6100050000007065656c0000'); +$canonicalBson = hex2bin('3e0000000224726566000c0000006e6f742d612d646272656600072469640058921b3e6e32ab156a22b59e022462616e616e6100050000007065656c0000'); +$canonicalExtJson = '{"$ref": "not-a-dbref", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}, "$banana": "peel"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"$ref": "not-a-dbref", "$id": {"$oid": "58921b3e6e32ab156a22b59e"}, "$banana": "peel"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 3e0000000224726566000c0000006e6f742d612d646272656600072469640058921b3e6e32ab156a22b59e022462616e616e6100050000007065656c0000 {"$ref":"not-a-dbref","$id":{"$oid":"58921b3e6e32ab156a22b59e"},"$banana":"peel"} -{"$ref":"not-a-dbref","$id":{"$oid":"58921b3e6e32ab156a22b59e"},"$banana":"peel"} 3e0000000224726566000c0000006e6f742d612d646272656600072469640058921b3e6e32ab156a22b59e022462616e616e6100050000007065656c0000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-001.phpt b/tests/bson-corpus/decimal128-1-valid-001.phpt index b72693e89..7892e1047 100644 --- a/tests/bson-corpus/decimal128-1-valid-001.phpt +++ b/tests/bson-corpus/decimal128-1-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007c00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} 180000001364000000000000000000000000000000007c00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-002.phpt b/tests/bson-corpus/decimal128-1-valid-002.phpt index 5296af882..0582fdaea 100644 --- a/tests/bson-corpus/decimal128-1-valid-002.phpt +++ b/tests/bson-corpus/decimal128-1-valid-002.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000FC00'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000FC00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000fc00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-003.phpt b/tests/bson-corpus/decimal128-1-valid-003.phpt index 7bbca0600..f9412a075 100644 --- a/tests/bson-corpus/decimal128-1-valid-003.phpt +++ b/tests/bson-corpus/decimal128-1-valid-003.phpt @@ -9,23 +9,15 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000FC00'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000FC00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "-NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -33,6 +25,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000fc00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-004.phpt b/tests/bson-corpus/decimal128-1-valid-004.phpt index f58324d4d..bf6af6e3b 100644 --- a/tests/bson-corpus/decimal128-1-valid-004.phpt +++ b/tests/bson-corpus/decimal128-1-valid-004.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007E00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007E00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007e00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-005.phpt b/tests/bson-corpus/decimal128-1-valid-005.phpt index 5f658a998..2c739e2a7 100644 --- a/tests/bson-corpus/decimal128-1-valid-005.phpt +++ b/tests/bson-corpus/decimal128-1-valid-005.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000FE00'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000FE00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000fe00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-006.phpt b/tests/bson-corpus/decimal128-1-valid-006.phpt index a247647f7..d2d0aafc8 100644 --- a/tests/bson-corpus/decimal128-1-valid-006.phpt +++ b/tests/bson-corpus/decimal128-1-valid-006.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001200000000000000000000000000007E00'); +$canonicalBson = hex2bin('180000001364001200000000000000000000000000007E00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 180000001364001200000000000000000000000000007e00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-007.phpt b/tests/bson-corpus/decimal128-1-valid-007.phpt index 5743c322c..a98256917 100644 --- a/tests/bson-corpus/decimal128-1-valid-007.phpt +++ b/tests/bson-corpus/decimal128-1-valid-007.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-008.phpt b/tests/bson-corpus/decimal128-1-valid-008.phpt index c76d998da..bdb045297 100644 --- a/tests/bson-corpus/decimal128-1-valid-008.phpt +++ b/tests/bson-corpus/decimal128-1-valid-008.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-Infinity"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-009.phpt b/tests/bson-corpus/decimal128-1-valid-009.phpt index 004cbd401..3c04c043b 100644 --- a/tests/bson-corpus/decimal128-1-valid-009.phpt +++ b/tests/bson-corpus/decimal128-1-valid-009.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000106C00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000106C00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 180000001364000000000000000000000000000000106c00 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-010.phpt b/tests/bson-corpus/decimal128-1-valid-010.phpt index eeddcb53c..1e664ba3c 100644 --- a/tests/bson-corpus/decimal128-1-valid-010.phpt +++ b/tests/bson-corpus/decimal128-1-valid-010.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400DCBA9876543210DEADBEEF00000010EC00'); +$canonicalBson = hex2bin('18000000136400DCBA9876543210DEADBEEF00000010EC00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "-0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 18000000136400dcba9876543210deadbeef00000010ec00 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-011.phpt b/tests/bson-corpus/decimal128-1-valid-011.phpt index 8cadf1d10..de851de42 100644 --- a/tests/bson-corpus/decimal128-1-valid-011.phpt +++ b/tests/bson-corpus/decimal128-1-valid-011.phpt @@ -9,18 +9,14 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF116C00'); +$canonicalBson = hex2bin('18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF116C00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"d" : {"$numberDecimal" : "0E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; ?> ===DONE=== @@ -28,5 +24,4 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; --EXPECT-- 18000000136400ffffffffffffffffffffffffffff116c00 {"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-012.phpt b/tests/bson-corpus/decimal128-1-valid-012.phpt index d90c4f3e7..68734d6f7 100644 --- a/tests/bson-corpus/decimal128-1-valid-012.phpt +++ b/tests/bson-corpus/decimal128-1-valid-012.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CF22F00'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CF22F00'); +$canonicalExtJson = '{"d": { "$numberDecimal": "0.000001234567890123456789012345678901234" }}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d": { "$numberDecimal": "0.000001234567890123456789012345678901234" }}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3cf22f00 {"d":{"$numberDecimal":"0.000001234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"0.000001234567890123456789012345678901234"}} 18000000136400f2af967ed05c82de3297ff6fde3cf22f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-013.phpt b/tests/bson-corpus/decimal128-1-valid-013.phpt index 611fc65e4..1340283ac 100644 --- a/tests/bson-corpus/decimal128-1-valid-013.phpt +++ b/tests/bson-corpus/decimal128-1-valid-013.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400D204000000000000000000000000343000'); +$canonicalBson = hex2bin('18000000136400D204000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.001234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.001234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400d204000000000000000000000000343000 {"d":{"$numberDecimal":"0.001234"}} -{"d":{"$numberDecimal":"0.001234"}} 18000000136400d204000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-014.phpt b/tests/bson-corpus/decimal128-1-valid-014.phpt index 7de1f4c37..65809ffee 100644 --- a/tests/bson-corpus/decimal128-1-valid-014.phpt +++ b/tests/bson-corpus/decimal128-1-valid-014.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640040EF5A07000000000000000000002A3000'); +$canonicalBson = hex2bin('1800000013640040EF5A07000000000000000000002A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00123400000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00123400000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640040ef5a07000000000000000000002a3000 {"d":{"$numberDecimal":"0.00123400000"}} -{"d":{"$numberDecimal":"0.00123400000"}} 1800000013640040ef5a07000000000000000000002a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-015.phpt b/tests/bson-corpus/decimal128-1-valid-015.phpt index e652541bb..df20d3d48 100644 --- a/tests/bson-corpus/decimal128-1-valid-015.phpt +++ b/tests/bson-corpus/decimal128-1-valid-015.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640001000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640001000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640001000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.1"}} -{"d":{"$numberDecimal":"0.1"}} 1800000013640001000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-016.phpt b/tests/bson-corpus/decimal128-1-valid-016.phpt index 39cf3ab8c..d780fa927 100644 --- a/tests/bson-corpus/decimal128-1-valid-016.phpt +++ b/tests/bson-corpus/decimal128-1-valid-016.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CFC2F00'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CFC2F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1234567890123456789012345678901234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1234567890123456789012345678901234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3cfc2f00 {"d":{"$numberDecimal":"0.1234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"0.1234567890123456789012345678901234"}} 18000000136400f2af967ed05c82de3297ff6fde3cfc2f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-017.phpt b/tests/bson-corpus/decimal128-1-valid-017.phpt index db94f9347..b00eb7898 100644 --- a/tests/bson-corpus/decimal128-1-valid-017.phpt +++ b/tests/bson-corpus/decimal128-1-valid-017.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-018.phpt b/tests/bson-corpus/decimal128-1-valid-018.phpt index 2bf731bf3..4f3451de7 100644 --- a/tests/bson-corpus/decimal128-1-valid-018.phpt +++ b/tests/bson-corpus/decimal128-1-valid-018.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000040b000 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} 18000000136400000000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-019.phpt b/tests/bson-corpus/decimal128-1-valid-019.phpt index dfee2373f..06e496e2b 100644 --- a/tests/bson-corpus/decimal128-1-valid-019.phpt +++ b/tests/bson-corpus/decimal128-1-valid-019.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003eb000 {"d":{"$numberDecimal":"-0.0"}} -{"d":{"$numberDecimal":"-0.0"}} 1800000013640000000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-020.phpt b/tests/bson-corpus/decimal128-1-valid-020.phpt index da5c79e64..eedb72418 100644 --- a/tests/bson-corpus/decimal128-1-valid-020.phpt +++ b/tests/bson-corpus/decimal128-1-valid-020.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000200000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000200000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000200000000000000000000000000403000 {"d":{"$numberDecimal":"2"}} -{"d":{"$numberDecimal":"2"}} 180000001364000200000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-021.phpt b/tests/bson-corpus/decimal128-1-valid-021.phpt index 983c0d809..219afe0bf 100644 --- a/tests/bson-corpus/decimal128-1-valid-021.phpt +++ b/tests/bson-corpus/decimal128-1-valid-021.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400D0070000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400D0070000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2.000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2.000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400d0070000000000000000000000003a3000 {"d":{"$numberDecimal":"2.000"}} -{"d":{"$numberDecimal":"2.000"}} 18000000136400d0070000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-022.phpt b/tests/bson-corpus/decimal128-1-valid-022.phpt index 649c15098..25028f0aa 100644 --- a/tests/bson-corpus/decimal128-1-valid-022.phpt +++ b/tests/bson-corpus/decimal128-1-valid-022.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C403000'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1234567890123456789012345678901234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1234567890123456789012345678901234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3c403000 {"d":{"$numberDecimal":"1234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"1234567890123456789012345678901234"}} 18000000136400f2af967ed05c82de3297ff6fde3c403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-023.phpt b/tests/bson-corpus/decimal128-1-valid-023.phpt index eb506df1c..3ceb3fbe4 100644 --- a/tests/bson-corpus/decimal128-1-valid-023.phpt +++ b/tests/bson-corpus/decimal128-1-valid-023.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09ED010000'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09ED010000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "9.999999999999999999999999999999999E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "9.999999999999999999999999999999999E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffff638e8d37c087adbe09ed010000 {"d":{"$numberDecimal":"9.999999999999999999999999999999999E-6143"}} -{"d":{"$numberDecimal":"9.999999999999999999999999999999999E-6143"}} 18000000136400ffffffff638e8d37c087adbe09ed010000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-024.phpt b/tests/bson-corpus/decimal128-1-valid-024.phpt index 2b5a9cdf4..04aac42df 100644 --- a/tests/bson-corpus/decimal128-1-valid-024.phpt +++ b/tests/bson-corpus/decimal128-1-valid-024.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000000000 {"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} 180000001364000100000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-025.phpt b/tests/bson-corpus/decimal128-1-valid-025.phpt index af3dbac58..863157e1c 100644 --- a/tests/bson-corpus/decimal128-1-valid-025.phpt +++ b/tests/bson-corpus/decimal128-1-valid-025.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000008000 {"d":{"$numberDecimal":"-1E-6176"}} -{"d":{"$numberDecimal":"-1E-6176"}} 180000001364000100000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-026.phpt b/tests/bson-corpus/decimal128-1-valid-026.phpt index e6c107af1..7cf7de147 100644 --- a/tests/bson-corpus/decimal128-1-valid-026.phpt +++ b/tests/bson-corpus/decimal128-1-valid-026.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CF02F00'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CF02F00'); +$canonicalExtJson = '{"d": { "$numberDecimal": "1.234567890123456789012345678901234E-7" }}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d": { "$numberDecimal": "1.234567890123456789012345678901234E-7" }}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3cf02f00 {"d":{"$numberDecimal":"1.234567890123456789012345678901234E-7"}} -{"d":{"$numberDecimal":"1.234567890123456789012345678901234E-7"}} 18000000136400f2af967ed05c82de3297ff6fde3cf02f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-027.phpt b/tests/bson-corpus/decimal128-1-valid-027.phpt index 71c092d6e..39e10ecaf 100644 --- a/tests/bson-corpus/decimal128-1-valid-027.phpt +++ b/tests/bson-corpus/decimal128-1-valid-027.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640064000000000000000000000000002CB000'); +$canonicalBson = hex2bin('1800000013640064000000000000000000000000002CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.00E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.00E-8"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640064000000000000000000000000002cb000 {"d":{"$numberDecimal":"-1.00E-8"}} -{"d":{"$numberDecimal":"-1.00E-8"}} 1800000013640064000000000000000000000000002cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-028.phpt b/tests/bson-corpus/decimal128-1-valid-028.phpt index 8d21560d4..411ce565f 100644 --- a/tests/bson-corpus/decimal128-1-valid-028.phpt +++ b/tests/bson-corpus/decimal128-1-valid-028.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000205F00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000205F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+6000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000205f00 {"d":{"$numberDecimal":"0E+6000"}} -{"d":{"$numberDecimal":"0E+6000"}} 180000001364000000000000000000000000000000205f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-029.phpt b/tests/bson-corpus/decimal128-1-valid-029.phpt index 1dfa113bf..02eabd3ce 100644 --- a/tests/bson-corpus/decimal128-1-valid-029.phpt +++ b/tests/bson-corpus/decimal128-1-valid-029.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000007A2B00'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000007A2B00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-611"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E-611"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000007a2b00 {"d":{"$numberDecimal":"0E-611"}} -{"d":{"$numberDecimal":"0E-611"}} 1800000013640000000000000000000000000000007a2b00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-030.phpt b/tests/bson-corpus/decimal128-1-valid-030.phpt index 3e85219f0..8cb7ec216 100644 --- a/tests/bson-corpus/decimal128-1-valid-030.phpt +++ b/tests/bson-corpus/decimal128-1-valid-030.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000463000 {"d":{"$numberDecimal":"1E+3"}} -{"d":{"$numberDecimal":"1E+3"}} 180000001364000100000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-031.phpt b/tests/bson-corpus/decimal128-1-valid-031.phpt index 3f313ab08..2d039e79d 100644 --- a/tests/bson-corpus/decimal128-1-valid-031.phpt +++ b/tests/bson-corpus/decimal128-1-valid-031.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001A04000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364001A04000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.050E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.050E+4"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001a04000000000000000000000000423000 {"d":{"$numberDecimal":"1.050E+4"}} -{"d":{"$numberDecimal":"1.050E+4"}} 180000001364001a04000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-032.phpt b/tests/bson-corpus/decimal128-1-valid-032.phpt index d724fd8ed..e0094ec4f 100644 --- a/tests/bson-corpus/decimal128-1-valid-032.phpt +++ b/tests/bson-corpus/decimal128-1-valid-032.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006900000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364006900000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.05E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.05E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006900000000000000000000000000423000 {"d":{"$numberDecimal":"1.05E+3"}} -{"d":{"$numberDecimal":"1.05E+3"}} 180000001364006900000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-033.phpt b/tests/bson-corpus/decimal128-1-valid-033.phpt index 294c67584..ec08cad50 100644 --- a/tests/bson-corpus/decimal128-1-valid-033.phpt +++ b/tests/bson-corpus/decimal128-1-valid-033.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF403000'); +$canonicalBson = hex2bin('18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "5192296858534827628530496329220095"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "5192296858534827628530496329220095"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffffffffffffffffffffffff403000 {"d":{"$numberDecimal":"5192296858534827628530496329220095"}} -{"d":{"$numberDecimal":"5192296858534827628530496329220095"}} 18000000136400ffffffffffffffffffffffffffff403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-034.phpt b/tests/bson-corpus/decimal128-1-valid-034.phpt index cc39ee7d7..da2ade235 100644 --- a/tests/bson-corpus/decimal128-1-valid-034.phpt +++ b/tests/bson-corpus/decimal128-1-valid-034.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} 18000000136400000000000a5bc138938d44c64d31fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-035.phpt b/tests/bson-corpus/decimal128-1-valid-035.phpt index 47e957313..89d96d6a1 100644 --- a/tests/bson-corpus/decimal128-1-valid-035.phpt +++ b/tests/bson-corpus/decimal128-1-valid-035.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "9.999999999999999999999999999999999E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "9.999999999999999999999999999999999E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffff638e8d37c087adbe09edff5f00 {"d":{"$numberDecimal":"9.999999999999999999999999999999999E+6144"}} -{"d":{"$numberDecimal":"9.999999999999999999999999999999999E+6144"}} 18000000136400ffffffff638e8d37c087adbe09edff5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-036.phpt b/tests/bson-corpus/decimal128-1-valid-036.phpt index 90c85a88f..82d66ac0a 100644 --- a/tests/bson-corpus/decimal128-1-valid-036.phpt +++ b/tests/bson-corpus/decimal128-1-valid-036.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640064000000000000000000000000002CB000'); +$canonicalBson = hex2bin('1800000013640064000000000000000000000000002CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.00E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-100E-10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-100E-10"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1.00E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640064000000000000000000000000002cb000 {"d":{"$numberDecimal":"-1.00E-8"}} -{"d":{"$numberDecimal":"-1.00E-8"}} -{"d":{"$numberDecimal":"-1.00E-8"}} 1800000013640064000000000000000000000000002cb000 1800000013640064000000000000000000000000002cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-037.phpt b/tests/bson-corpus/decimal128-1-valid-037.phpt index 27e389b5a..527ed1715 100644 --- a/tests/bson-corpus/decimal128-1-valid-037.phpt +++ b/tests/bson-corpus/decimal128-1-valid-037.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+3"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+3"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000463000 {"d":{"$numberDecimal":"1E+3"}} -{"d":{"$numberDecimal":"1E+3"}} -{"d":{"$numberDecimal":"1E+3"}} 180000001364000100000000000000000000000000463000 180000001364000100000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-038.phpt b/tests/bson-corpus/decimal128-1-valid-038.phpt index 9e7a664c9..a6d7cb955 100644 --- a/tests/bson-corpus/decimal128-1-valid-038.phpt +++ b/tests/bson-corpus/decimal128-1-valid-038.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+3"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1e+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1e+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+3"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000463000 {"d":{"$numberDecimal":"1E+3"}} -{"d":{"$numberDecimal":"1E+3"}} -{"d":{"$numberDecimal":"1E+3"}} 180000001364000100000000000000000000000000463000 180000001364000100000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-039.phpt b/tests/bson-corpus/decimal128-1-valid-039.phpt index eeabdc12f..bffa582e1 100644 --- a/tests/bson-corpus/decimal128-1-valid-039.phpt +++ b/tests/bson-corpus/decimal128-1-valid-039.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640079D9E0F9763ADA429D0200000000583000'); +$canonicalBson = hex2bin('1800000013640079D9E0F9763ADA429D0200000000583000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.2345689012345789012345E+34"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12345689012345789012345E+12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12345689012345789012345E+12"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.2345689012345789012345E+34"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640079d9e0f9763ada429d0200000000583000 {"d":{"$numberDecimal":"1.2345689012345789012345E+34"}} -{"d":{"$numberDecimal":"1.2345689012345789012345E+34"}} -{"d":{"$numberDecimal":"1.2345689012345789012345E+34"}} 1800000013640079d9e0f9763ada429d0200000000583000 1800000013640079d9e0f9763ada429d0200000000583000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-040.phpt b/tests/bson-corpus/decimal128-1-valid-040.phpt index 56ec57c28..0bea87fd1 100644 --- a/tests/bson-corpus/decimal128-1-valid-040.phpt +++ b/tests/bson-corpus/decimal128-1-valid-040.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C403000'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1234567890123456789012345678901234"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+1234567890123456789012345678901234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+1234567890123456789012345678901234"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1234567890123456789012345678901234"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3c403000 {"d":{"$numberDecimal":"1234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"1234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"1234567890123456789012345678901234"}} 18000000136400f2af967ed05c82de3297ff6fde3c403000 18000000136400f2af967ed05c82de3297ff6fde3c403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-041.phpt b/tests/bson-corpus/decimal128-1-valid-041.phpt index 90edcea78..341c46f8f 100644 --- a/tests/bson-corpus/decimal128-1-valid-041.phpt +++ b/tests/bson-corpus/decimal128-1-valid-041.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000722800'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000722800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-999"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : ".000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : ".000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E-999"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000722800 {"d":{"$numberDecimal":"1E-999"}} -{"d":{"$numberDecimal":"1E-999"}} -{"d":{"$numberDecimal":"1E-999"}} 180000001364000100000000000000000000000000722800 180000001364000100000000000000000000000000722800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-042.phpt b/tests/bson-corpus/decimal128-1-valid-042.phpt index 297424f44..ce521fdc4 100644 --- a/tests/bson-corpus/decimal128-1-valid-042.phpt +++ b/tests/bson-corpus/decimal128-1-valid-042.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "nan"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "nan"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007c00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} 180000001364000000000000000000000000000000007c00 180000001364000000000000000000000000000000007c00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-043.phpt b/tests/bson-corpus/decimal128-1-valid-043.phpt index 350ee075d..f41980b9b 100644 --- a/tests/bson-corpus/decimal128-1-valid-043.phpt +++ b/tests/bson-corpus/decimal128-1-valid-043.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "nAn"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "nAn"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007c00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} 180000001364000000000000000000000000000000007c00 180000001364000000000000000000000000000000007c00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-044.phpt b/tests/bson-corpus/decimal128-1-valid-044.phpt index 5fc88fcc5..57241d463 100644 --- a/tests/bson-corpus/decimal128-1-valid-044.phpt +++ b/tests/bson-corpus/decimal128-1-valid-044.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+infinity"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-045.phpt b/tests/bson-corpus/decimal128-1-valid-045.phpt index d3187361b..5ae7b0ff1 100644 --- a/tests/bson-corpus/decimal128-1-valid-045.phpt +++ b/tests/bson-corpus/decimal128-1-valid-045.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "infinity"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-046.phpt b/tests/bson-corpus/decimal128-1-valid-046.phpt index e32060472..93ce82d46 100644 --- a/tests/bson-corpus/decimal128-1-valid-046.phpt +++ b/tests/bson-corpus/decimal128-1-valid-046.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "infiniTY"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "infiniTY"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-047.phpt b/tests/bson-corpus/decimal128-1-valid-047.phpt index 087c950b1..eace611c5 100644 --- a/tests/bson-corpus/decimal128-1-valid-047.phpt +++ b/tests/bson-corpus/decimal128-1-valid-047.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "inf"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "inf"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-048.phpt b/tests/bson-corpus/decimal128-1-valid-048.phpt index 65e7ddc00..460aa05e2 100644 --- a/tests/bson-corpus/decimal128-1-valid-048.phpt +++ b/tests/bson-corpus/decimal128-1-valid-048.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "inF"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "inF"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-049.phpt b/tests/bson-corpus/decimal128-1-valid-049.phpt index d769d4787..1aba6fb28 100644 --- a/tests/bson-corpus/decimal128-1-valid-049.phpt +++ b/tests/bson-corpus/decimal128-1-valid-049.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-infinity"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} 18000000136400000000000000000000000000000000f800 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-050.phpt b/tests/bson-corpus/decimal128-1-valid-050.phpt index 708abcc7b..9686b312f 100644 --- a/tests/bson-corpus/decimal128-1-valid-050.phpt +++ b/tests/bson-corpus/decimal128-1-valid-050.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-infiniTy"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-infiniTy"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} 18000000136400000000000000000000000000000000f800 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-051.phpt b/tests/bson-corpus/decimal128-1-valid-051.phpt index 61420c3d6..e1a8d4189 100644 --- a/tests/bson-corpus/decimal128-1-valid-051.phpt +++ b/tests/bson-corpus/decimal128-1-valid-051.phpt @@ -9,21 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-Infinity"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +31,6 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} +18000000136400000000000000000000000000000000f800 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-052.phpt b/tests/bson-corpus/decimal128-1-valid-052.phpt index b8593d54c..eb399296b 100644 --- a/tests/bson-corpus/decimal128-1-valid-052.phpt +++ b/tests/bson-corpus/decimal128-1-valid-052.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-inf"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-inf"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} 18000000136400000000000000000000000000000000f800 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-053.phpt b/tests/bson-corpus/decimal128-1-valid-053.phpt index 77a9be6e4..d68d90893 100644 --- a/tests/bson-corpus/decimal128-1-valid-053.phpt +++ b/tests/bson-corpus/decimal128-1-valid-053.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-inF"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-inF"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} 18000000136400000000000000000000000000000000f800 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-054.phpt b/tests/bson-corpus/decimal128-1-valid-054.phpt index 4f83c0b23..16e6c675f 100644 --- a/tests/bson-corpus/decimal128-1-valid-054.phpt +++ b/tests/bson-corpus/decimal128-1-valid-054.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10E-6177"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10E-6177"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000000000 {"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} 180000001364000100000000000000000000000000000000 180000001364000100000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-055.phpt b/tests/bson-corpus/decimal128-1-valid-055.phpt index bf47d7e54..05bd680fc 100644 --- a/tests/bson-corpus/decimal128-1-valid-055.phpt +++ b/tests/bson-corpus/decimal128-1-valid-055.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000a00000000000000000000000000fe5f00'); +$canonicalBson = hex2bin('180000001364000a00000000000000000000000000fe5f00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+6112"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E6112"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E6112"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+6112"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0E+6112"}} -{"d":{"$numberDecimal":"1.0E+6112"}} -{"d":{"$numberDecimal":"1.0E+6112"}} 180000001364000a00000000000000000000000000fe5f00 180000001364000a00000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-1-valid-056.phpt b/tests/bson-corpus/decimal128-1-valid-056.phpt index d0a431243..66736bc7a 100644 --- a/tests/bson-corpus/decimal128-1-valid-056.phpt +++ b/tests/bson-corpus/decimal128-1-valid-056.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000a5bc138938d44c64d31cc3700'); +$canonicalBson = hex2bin('18000000136400000000000a5bc138938d44c64d31cc3700'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+999"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+999"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31cc3700 {"d":{"$numberDecimal":"1.000000000000000000000000000000000E+999"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+999"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+999"}} 18000000136400000000000a5bc138938d44c64d31cc3700 18000000136400000000000a5bc138938d44c64d31cc3700 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-001.phpt b/tests/bson-corpus/decimal128-2-valid-001.phpt index d0c65a9cc..85eaa1dbd 100644 --- a/tests/bson-corpus/decimal128-2-valid-001.phpt +++ b/tests/bson-corpus/decimal128-2-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C40B000'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C40B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1234567890123456789012345678901234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1234567890123456789012345678901234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3c40b000 {"d":{"$numberDecimal":"-1234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"-1234567890123456789012345678901234"}} 18000000136400f2af967ed05c82de3297ff6fde3c40b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-002.phpt b/tests/bson-corpus/decimal128-2-valid-002.phpt index 3c1cef483..1f2a61307 100644 --- a/tests/bson-corpus/decimal128-2-valid-002.phpt +++ b/tests/bson-corpus/decimal128-2-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400010000800000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400010000800000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-2147483649"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-2147483649"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400010000800000000000000000000040b000 {"d":{"$numberDecimal":"-2147483649"}} -{"d":{"$numberDecimal":"-2147483649"}} 18000000136400010000800000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-003.phpt b/tests/bson-corpus/decimal128-2-valid-003.phpt index ecb0e29d0..d94d4e554 100644 --- a/tests/bson-corpus/decimal128-2-valid-003.phpt +++ b/tests/bson-corpus/decimal128-2-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000800000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000800000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-2147483648"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-2147483648"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000800000000000000000000040b000 {"d":{"$numberDecimal":"-2147483648"}} -{"d":{"$numberDecimal":"-2147483648"}} 18000000136400000000800000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-004.phpt b/tests/bson-corpus/decimal128-2-valid-004.phpt index 49f8021b5..11b406ebc 100644 --- a/tests/bson-corpus/decimal128-2-valid-004.phpt +++ b/tests/bson-corpus/decimal128-2-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFF7F0000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400FFFFFF7F0000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-2147483647"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-2147483647"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffff7f0000000000000000000040b000 {"d":{"$numberDecimal":"-2147483647"}} -{"d":{"$numberDecimal":"-2147483647"}} 18000000136400ffffff7f0000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-005.phpt b/tests/bson-corpus/decimal128-2-valid-005.phpt index 65dbec1ac..9a88d81e6 100644 --- a/tests/bson-corpus/decimal128-2-valid-005.phpt +++ b/tests/bson-corpus/decimal128-2-valid-005.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FEFFFF7F0000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400FEFFFF7F0000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-2147483646"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-2147483646"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400feffff7f0000000000000000000040b000 {"d":{"$numberDecimal":"-2147483646"}} -{"d":{"$numberDecimal":"-2147483646"}} 18000000136400feffff7f0000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-006.phpt b/tests/bson-corpus/decimal128-2-valid-006.phpt index 0e205c3e8..9c4e99a60 100644 --- a/tests/bson-corpus/decimal128-2-valid-006.phpt +++ b/tests/bson-corpus/decimal128-2-valid-006.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400393000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400393000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-12345"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-12345"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400393000000000000000000000000040b000 {"d":{"$numberDecimal":"-12345"}} -{"d":{"$numberDecimal":"-12345"}} 18000000136400393000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-007.phpt b/tests/bson-corpus/decimal128-2-valid-007.phpt index b3c12b822..4f05cc37a 100644 --- a/tests/bson-corpus/decimal128-2-valid-007.phpt +++ b/tests/bson-corpus/decimal128-2-valid-007.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400D20400000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400D20400000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400d20400000000000000000000000040b000 {"d":{"$numberDecimal":"-1234"}} -{"d":{"$numberDecimal":"-1234"}} 18000000136400d20400000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-008.phpt b/tests/bson-corpus/decimal128-2-valid-008.phpt index 2742b8536..bd17c9226 100644 --- a/tests/bson-corpus/decimal128-2-valid-008.phpt +++ b/tests/bson-corpus/decimal128-2-valid-008.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE0200000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400EE0200000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-750"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-750"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee0200000000000000000000000040b000 {"d":{"$numberDecimal":"-750"}} -{"d":{"$numberDecimal":"-750"}} 18000000136400ee0200000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-009.phpt b/tests/bson-corpus/decimal128-2-valid-009.phpt index 311176611..63e81b15f 100644 --- a/tests/bson-corpus/decimal128-2-valid-009.phpt +++ b/tests/bson-corpus/decimal128-2-valid-009.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640039300000000000000000000000003CB000'); +$canonicalBson = hex2bin('1800000013640039300000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-123.45"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-123.45"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640039300000000000000000000000003cb000 {"d":{"$numberDecimal":"-123.45"}} -{"d":{"$numberDecimal":"-123.45"}} 1800000013640039300000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-010.phpt b/tests/bson-corpus/decimal128-2-valid-010.phpt index c5438880f..b5070e8c1 100644 --- a/tests/bson-corpus/decimal128-2-valid-010.phpt +++ b/tests/bson-corpus/decimal128-2-valid-010.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007B0000000000000000000000000040B000'); +$canonicalBson = hex2bin('180000001364007B0000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-123"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-123"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007b0000000000000000000000000040b000 {"d":{"$numberDecimal":"-123"}} -{"d":{"$numberDecimal":"-123"}} 180000001364007b0000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-011.phpt b/tests/bson-corpus/decimal128-2-valid-011.phpt index 909dd62c4..abdf5899b 100644 --- a/tests/bson-corpus/decimal128-2-valid-011.phpt +++ b/tests/bson-corpus/decimal128-2-valid-011.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE020000000000000000000000003EB000'); +$canonicalBson = hex2bin('18000000136400EE020000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-75.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-75.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee020000000000000000000000003eb000 {"d":{"$numberDecimal":"-75.0"}} -{"d":{"$numberDecimal":"-75.0"}} 18000000136400ee020000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-012.phpt b/tests/bson-corpus/decimal128-2-valid-012.phpt index 772d0d0a1..64664968c 100644 --- a/tests/bson-corpus/decimal128-2-valid-012.phpt +++ b/tests/bson-corpus/decimal128-2-valid-012.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000C0000000000000000000000000040B000'); +$canonicalBson = hex2bin('180000001364000C0000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-12"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000c0000000000000000000000000040b000 {"d":{"$numberDecimal":"-12"}} -{"d":{"$numberDecimal":"-12"}} 180000001364000c0000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-013.phpt b/tests/bson-corpus/decimal128-2-valid-013.phpt index d15aa77c7..bb1bf2efc 100644 --- a/tests/bson-corpus/decimal128-2-valid-013.phpt +++ b/tests/bson-corpus/decimal128-2-valid-013.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09EDFFDF00'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09EDFFDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-9.999999999999999999999999999999999E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-9.999999999999999999999999999999999E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffff638e8d37c087adbe09edffdf00 {"d":{"$numberDecimal":"-9.999999999999999999999999999999999E+6144"}} -{"d":{"$numberDecimal":"-9.999999999999999999999999999999999E+6144"}} 18000000136400ffffffff638e8d37c087adbe09edffdf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-014.phpt b/tests/bson-corpus/decimal128-2-valid-014.phpt index bef3f6d59..c31c3055e 100644 --- a/tests/bson-corpus/decimal128-2-valid-014.phpt +++ b/tests/bson-corpus/decimal128-2-valid-014.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE020000000000000000000000003CB000'); +$canonicalBson = hex2bin('18000000136400EE020000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-7.50"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-7.50"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee020000000000000000000000003cb000 {"d":{"$numberDecimal":"-7.50"}} -{"d":{"$numberDecimal":"-7.50"}} 18000000136400ee020000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-015.phpt b/tests/bson-corpus/decimal128-2-valid-015.phpt index b3709951a..6b35959b3 100644 --- a/tests/bson-corpus/decimal128-2-valid-015.phpt +++ b/tests/bson-corpus/decimal128-2-valid-015.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE0200000000000000000000000042B000'); +$canonicalBson = hex2bin('18000000136400EE0200000000000000000000000042B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-7.50E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-7.50E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee0200000000000000000000000042b000 {"d":{"$numberDecimal":"-7.50E+3"}} -{"d":{"$numberDecimal":"-7.50E+3"}} 18000000136400ee0200000000000000000000000042b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-016.phpt b/tests/bson-corpus/decimal128-2-valid-016.phpt index 38d068e5d..3cfd911ad 100644 --- a/tests/bson-corpus/decimal128-2-valid-016.phpt +++ b/tests/bson-corpus/decimal128-2-valid-016.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE020000000000000000000000002EB000'); +$canonicalBson = hex2bin('18000000136400EE020000000000000000000000002EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-7.50E-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-7.50E-7"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee020000000000000000000000002eb000 {"d":{"$numberDecimal":"-7.50E-7"}} -{"d":{"$numberDecimal":"-7.50E-7"}} 18000000136400ee020000000000000000000000002eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-017.phpt b/tests/bson-corpus/decimal128-2-valid-017.phpt index e200dc0cc..ea961435d 100644 --- a/tests/bson-corpus/decimal128-2-valid-017.phpt +++ b/tests/bson-corpus/decimal128-2-valid-017.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CFEDF00'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CFEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.234567890123456789012345678901234E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.234567890123456789012345678901234E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3cfedf00 {"d":{"$numberDecimal":"-1.234567890123456789012345678901234E+6144"}} -{"d":{"$numberDecimal":"-1.234567890123456789012345678901234E+6144"}} 18000000136400f2af967ed05c82de3297ff6fde3cfedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-018.phpt b/tests/bson-corpus/decimal128-2-valid-018.phpt index 5ba0980f4..57ea27857 100644 --- a/tests/bson-corpus/decimal128-2-valid-018.phpt +++ b/tests/bson-corpus/decimal128-2-valid-018.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFEDF00'); +$canonicalBson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.230000000000000000000000000000000E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.230000000000000000000000000000000E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000807f1bcf85b27059c8a43cfedf00 {"d":{"$numberDecimal":"-1.230000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"-1.230000000000000000000000000000000E+6144"}} 18000000136400000000807f1bcf85b27059c8a43cfedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-019.phpt b/tests/bson-corpus/decimal128-2-valid-019.phpt index b9a820593..bea82d3d1 100644 --- a/tests/bson-corpus/decimal128-2-valid-019.phpt +++ b/tests/bson-corpus/decimal128-2-valid-019.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007B000000000000000000000000003CB000'); +$canonicalBson = hex2bin('180000001364007B000000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.23"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.23"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007b000000000000000000000000003cb000 {"d":{"$numberDecimal":"-1.23"}} -{"d":{"$numberDecimal":"-1.23"}} 180000001364007b000000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-020.phpt b/tests/bson-corpus/decimal128-2-valid-020.phpt index 477638921..6af053b1a 100644 --- a/tests/bson-corpus/decimal128-2-valid-020.phpt +++ b/tests/bson-corpus/decimal128-2-valid-020.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400010000000A5BC138938D44C64D31008000'); +$canonicalBson = hex2bin('18000000136400010000000A5BC138938D44C64D31008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000001E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000001E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400010000000a5bc138938d44c64d31008000 {"d":{"$numberDecimal":"-1.000000000000000000000000000000001E-6143"}} -{"d":{"$numberDecimal":"-1.000000000000000000000000000000001E-6143"}} 18000000136400010000000a5bc138938d44c64d31008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-021.phpt b/tests/bson-corpus/decimal128-2-valid-021.phpt index 83921a731..f3f7972b2 100644 --- a/tests/bson-corpus/decimal128-2-valid-021.phpt +++ b/tests/bson-corpus/decimal128-2-valid-021.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31008000'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000000E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000000E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31008000 {"d":{"$numberDecimal":"-1.000000000000000000000000000000000E-6143"}} -{"d":{"$numberDecimal":"-1.000000000000000000000000000000000E-6143"}} 18000000136400000000000a5bc138938d44c64d31008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-022.phpt b/tests/bson-corpus/decimal128-2-valid-022.phpt index 0c75e75f5..77c5db327 100644 --- a/tests/bson-corpus/decimal128-2-valid-022.phpt +++ b/tests/bson-corpus/decimal128-2-valid-022.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FEDF00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000000E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000000E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fedf00 {"d":{"$numberDecimal":"-1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"-1.000000000000000000000000000000000E+6144"}} 18000000136400000000000a5bc138938d44c64d31fedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-023.phpt b/tests/bson-corpus/decimal128-2-valid-023.phpt index de19fb16b..701d14136 100644 --- a/tests/bson-corpus/decimal128-2-valid-023.phpt +++ b/tests/bson-corpus/decimal128-2-valid-023.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400010000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400010000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400010000000000000000000000000040b000 {"d":{"$numberDecimal":"-1"}} -{"d":{"$numberDecimal":"-1"}} 18000000136400010000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-024.phpt b/tests/bson-corpus/decimal128-2-valid-024.phpt index 8bc29a1af..243a68036 100644 --- a/tests/bson-corpus/decimal128-2-valid-024.phpt +++ b/tests/bson-corpus/decimal128-2-valid-024.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000428000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000428000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000428000 {"d":{"$numberDecimal":"-1E-6143"}} -{"d":{"$numberDecimal":"-1E-6143"}} 180000001364000100000000000000000000000000428000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-025.phpt b/tests/bson-corpus/decimal128-2-valid-025.phpt index b344becbb..014c3a445 100644 --- a/tests/bson-corpus/decimal128-2-valid-025.phpt +++ b/tests/bson-corpus/decimal128-2-valid-025.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE020000000000000000000000003AB000'); +$canonicalBson = hex2bin('18000000136400EE020000000000000000000000003AB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.750"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.750"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee020000000000000000000000003ab000 {"d":{"$numberDecimal":"-0.750"}} -{"d":{"$numberDecimal":"-0.750"}} 18000000136400ee020000000000000000000000003ab000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-026.phpt b/tests/bson-corpus/decimal128-2-valid-026.phpt index 1009afb80..29da75532 100644 --- a/tests/bson-corpus/decimal128-2-valid-026.phpt +++ b/tests/bson-corpus/decimal128-2-valid-026.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE0200000000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400EE0200000000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0750"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0750"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee0200000000000000000000000038b000 {"d":{"$numberDecimal":"-0.0750"}} -{"d":{"$numberDecimal":"-0.0750"}} 18000000136400ee0200000000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-027.phpt b/tests/bson-corpus/decimal128-2-valid-027.phpt index 569da10b6..bc9e150a8 100644 --- a/tests/bson-corpus/decimal128-2-valid-027.phpt +++ b/tests/bson-corpus/decimal128-2-valid-027.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE0200000000000000000000000034B000'); +$canonicalBson = hex2bin('18000000136400EE0200000000000000000000000034B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.000750"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000750"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee0200000000000000000000000034b000 {"d":{"$numberDecimal":"-0.000750"}} -{"d":{"$numberDecimal":"-0.000750"}} 18000000136400ee0200000000000000000000000034b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-028.phpt b/tests/bson-corpus/decimal128-2-valid-028.phpt index 62206d3b3..127d45c62 100644 --- a/tests/bson-corpus/decimal128-2-valid-028.phpt +++ b/tests/bson-corpus/decimal128-2-valid-028.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400EE0200000000000000000000000030B000'); +$canonicalBson = hex2bin('18000000136400EE0200000000000000000000000030B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00000750"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00000750"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ee0200000000000000000000000030b000 {"d":{"$numberDecimal":"-0.00000750"}} -{"d":{"$numberDecimal":"-0.00000750"}} 18000000136400ee0200000000000000000000000030b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-029.phpt b/tests/bson-corpus/decimal128-2-valid-029.phpt index 3282b3d3d..6219dc350 100644 --- a/tests/bson-corpus/decimal128-2-valid-029.phpt +++ b/tests/bson-corpus/decimal128-2-valid-029.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000000000 {"d":{"$numberDecimal":"0E-6176"}} -{"d":{"$numberDecimal":"0E-6176"}} 180000001364000000000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-030.phpt b/tests/bson-corpus/decimal128-2-valid-030.phpt index 0069464b6..8596b2ec6 100644 --- a/tests/bson-corpus/decimal128-2-valid-030.phpt +++ b/tests/bson-corpus/decimal128-2-valid-030.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000008000 {"d":{"$numberDecimal":"-0E-6176"}} -{"d":{"$numberDecimal":"-0E-6176"}} 180000001364000000000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-031.phpt b/tests/bson-corpus/decimal128-2-valid-031.phpt index 947834af7..3b4df8dc0 100644 --- a/tests/bson-corpus/decimal128-2-valid-031.phpt +++ b/tests/bson-corpus/decimal128-2-valid-031.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} 1800000013640000000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-032.phpt b/tests/bson-corpus/decimal128-2-valid-032.phpt index ca57398ae..23e4490f4 100644 --- a/tests/bson-corpus/decimal128-2-valid-032.phpt +++ b/tests/bson-corpus/decimal128-2-valid-032.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003cb000 {"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} 1800000013640000000000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-033.phpt b/tests/bson-corpus/decimal128-2-valid-033.phpt index ccea39b39..5c09583b1 100644 --- a/tests/bson-corpus/decimal128-2-valid-033.phpt +++ b/tests/bson-corpus/decimal128-2-valid-033.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-034.phpt b/tests/bson-corpus/decimal128-2-valid-034.phpt index 615d9c6f9..5493c54ba 100644 --- a/tests/bson-corpus/decimal128-2-valid-034.phpt +++ b/tests/bson-corpus/decimal128-2-valid-034.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000040b000 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} 18000000136400000000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-035.phpt b/tests/bson-corpus/decimal128-2-valid-035.phpt index 7be7558ad..da26f3696 100644 --- a/tests/bson-corpus/decimal128-2-valid-035.phpt +++ b/tests/bson-corpus/decimal128-2-valid-035.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-036.phpt b/tests/bson-corpus/decimal128-2-valid-036.phpt index 9ccc1f886..f5140c773 100644 --- a/tests/bson-corpus/decimal128-2-valid-036.phpt +++ b/tests/bson-corpus/decimal128-2-valid-036.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} 1800000013640000000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-037.phpt b/tests/bson-corpus/decimal128-2-valid-037.phpt index b3c24eee1..efdcfcee8 100644 --- a/tests/bson-corpus/decimal128-2-valid-037.phpt +++ b/tests/bson-corpus/decimal128-2-valid-037.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003cb000 {"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} 1800000013640000000000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-038.phpt b/tests/bson-corpus/decimal128-2-valid-038.phpt index 071a2abb9..5546b5313 100644 --- a/tests/bson-corpus/decimal128-2-valid-038.phpt +++ b/tests/bson-corpus/decimal128-2-valid-038.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000463000 {"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} 180000001364000000000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-039.phpt b/tests/bson-corpus/decimal128-2-valid-039.phpt index 1c6170bb0..f4316a392 100644 --- a/tests/bson-corpus/decimal128-2-valid-039.phpt +++ b/tests/bson-corpus/decimal128-2-valid-039.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000046B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000046B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000046b000 {"d":{"$numberDecimal":"-0E+3"}} -{"d":{"$numberDecimal":"-0E+3"}} 18000000136400000000000000000000000000000046b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-040.phpt b/tests/bson-corpus/decimal128-2-valid-040.phpt index 6c6f1260e..0c56c0afa 100644 --- a/tests/bson-corpus/decimal128-2-valid-040.phpt +++ b/tests/bson-corpus/decimal128-2-valid-040.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+6111"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fe5f00 {"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} 180000001364000000000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-041.phpt b/tests/bson-corpus/decimal128-2-valid-041.phpt index e18f39ee2..4fc2f2e1f 100644 --- a/tests/bson-corpus/decimal128-2-valid-041.phpt +++ b/tests/bson-corpus/decimal128-2-valid-041.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fedf00 {"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} 180000001364000000000000000000000000000000fedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-042.phpt b/tests/bson-corpus/decimal128-2-valid-042.phpt index a9e6b2d89..7befd5a4e 100644 --- a/tests/bson-corpus/decimal128-2-valid-042.phpt +++ b/tests/bson-corpus/decimal128-2-valid-042.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000000000 {"d":{"$numberDecimal":"0E-6176"}} -{"d":{"$numberDecimal":"0E-6176"}} 180000001364000000000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-043.phpt b/tests/bson-corpus/decimal128-2-valid-043.phpt index fbcc2a735..126ed12c0 100644 --- a/tests/bson-corpus/decimal128-2-valid-043.phpt +++ b/tests/bson-corpus/decimal128-2-valid-043.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000008000 {"d":{"$numberDecimal":"-0E-6176"}} -{"d":{"$numberDecimal":"-0E-6176"}} 180000001364000000000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-044.phpt b/tests/bson-corpus/decimal128-2-valid-044.phpt index c30f9413a..415917b08 100644 --- a/tests/bson-corpus/decimal128-2-valid-044.phpt +++ b/tests/bson-corpus/decimal128-2-valid-044.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "Infinity"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007800 {"d":{"$numberDecimal":"Infinity"}} -{"d":{"$numberDecimal":"Infinity"}} 180000001364000000000000000000000000000000007800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-045.phpt b/tests/bson-corpus/decimal128-2-valid-045.phpt index f2ad53b0c..e963ff0ec 100644 --- a/tests/bson-corpus/decimal128-2-valid-045.phpt +++ b/tests/bson-corpus/decimal128-2-valid-045.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000000F800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-Infinity"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000000f800 {"d":{"$numberDecimal":"-Infinity"}} -{"d":{"$numberDecimal":"-Infinity"}} 18000000136400000000000000000000000000000000f800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-046.phpt b/tests/bson-corpus/decimal128-2-valid-046.phpt index deb2d3153..22e391063 100644 --- a/tests/bson-corpus/decimal128-2-valid-046.phpt +++ b/tests/bson-corpus/decimal128-2-valid-046.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000007C00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "NaN"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000007c00 {"d":{"$numberDecimal":"NaN"}} -{"d":{"$numberDecimal":"NaN"}} 180000001364000000000000000000000000000000007c00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-047.phpt b/tests/bson-corpus/decimal128-2-valid-047.phpt index 71703ce3d..f93e08eb5 100644 --- a/tests/bson-corpus/decimal128-2-valid-047.phpt +++ b/tests/bson-corpus/decimal128-2-valid-047.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31000000'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31000000 {"d":{"$numberDecimal":"1.000000000000000000000000000000000E-6143"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E-6143"}} 18000000136400000000000a5bc138938d44c64d31000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-048.phpt b/tests/bson-corpus/decimal128-2-valid-048.phpt index c3099c47e..8037d0324 100644 --- a/tests/bson-corpus/decimal128-2-valid-048.phpt +++ b/tests/bson-corpus/decimal128-2-valid-048.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} 18000000136400000000000a5bc138938d44c64d31fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-049.phpt b/tests/bson-corpus/decimal128-2-valid-049.phpt index 2e7a5cd84..689e9f76b 100644 --- a/tests/bson-corpus/decimal128-2-valid-049.phpt +++ b/tests/bson-corpus/decimal128-2-valid-049.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000081EFAC855B416D2DEE04FE5F00'); +$canonicalBson = hex2bin('180000001364000000000081EFAC855B416D2DEE04FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E+6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E+6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000081efac855b416d2dee04fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000000000000E+6143"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000000E+6143"}} 180000001364000000000081efac855b416d2dee04fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-050.phpt b/tests/bson-corpus/decimal128-2-valid-050.phpt index 87daeee6c..d07591183 100644 --- a/tests/bson-corpus/decimal128-2-valid-050.phpt +++ b/tests/bson-corpus/decimal128-2-valid-050.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000080264B91C02220BE377E00FE5F00'); +$canonicalBson = hex2bin('1800000013640000000080264B91C02220BE377E00FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000000E+6142"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000000E+6142"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000080264b91c02220be377e00fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000000000000E+6142"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000000000E+6142"}} 1800000013640000000080264b91c02220be377e00fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-051.phpt b/tests/bson-corpus/decimal128-2-valid-051.phpt index fae36c73a..0278779b8 100644 --- a/tests/bson-corpus/decimal128-2-valid-051.phpt +++ b/tests/bson-corpus/decimal128-2-valid-051.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000040EAED7446D09C2C9F0C00FE5F00'); +$canonicalBson = hex2bin('1800000013640000000040EAED7446D09C2C9F0C00FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000E+6141"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000E+6141"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000040eaed7446d09c2c9f0c00fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000000E+6141"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000E+6141"}} 1800000013640000000040eaed7446d09c2c9f0c00fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-052.phpt b/tests/bson-corpus/decimal128-2-valid-052.phpt index 54df1fa35..67ab4f1d5 100644 --- a/tests/bson-corpus/decimal128-2-valid-052.phpt +++ b/tests/bson-corpus/decimal128-2-valid-052.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000A0CA17726DAE0F1E430100FE5F00'); +$canonicalBson = hex2bin('18000000136400000000A0CA17726DAE0F1E430100FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000E+6140"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000E+6140"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000a0ca17726dae0f1e430100fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000000000E+6140"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000E+6140"}} 18000000136400000000a0ca17726dae0f1e430100fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-053.phpt b/tests/bson-corpus/decimal128-2-valid-053.phpt index 33d18b952..7050df803 100644 --- a/tests/bson-corpus/decimal128-2-valid-053.phpt +++ b/tests/bson-corpus/decimal128-2-valid-053.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000106102253E5ECE4F200000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000106102253E5ECE4F200000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000E+6139"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000E+6139"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000106102253e5ece4f200000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000000000E+6139"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000000E+6139"}} 18000000136400000000106102253e5ece4f200000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-054.phpt b/tests/bson-corpus/decimal128-2-valid-054.phpt index 49219a6d1..fe8cb22fd 100644 --- a/tests/bson-corpus/decimal128-2-valid-054.phpt +++ b/tests/bson-corpus/decimal128-2-valid-054.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000E83C80D09F3C2E3B030000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000E83C80D09F3C2E3B030000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000E+6138"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000E+6138"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000e83c80d09f3c2e3b030000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000E+6138"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000E+6138"}} 18000000136400000000e83c80d09f3c2e3b030000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-055.phpt b/tests/bson-corpus/decimal128-2-valid-055.phpt index a5be593cd..eb3ac8090 100644 --- a/tests/bson-corpus/decimal128-2-valid-055.phpt +++ b/tests/bson-corpus/decimal128-2-valid-055.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000E4D20CC8DCD2B752000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000E4D20CC8DCD2B752000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000E+6137"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000E+6137"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000e4d20cc8dcd2b752000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000000E+6137"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000E+6137"}} 18000000136400000000e4d20cc8dcd2b752000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-056.phpt b/tests/bson-corpus/decimal128-2-valid-056.phpt index e64201ecb..642725d64 100644 --- a/tests/bson-corpus/decimal128-2-valid-056.phpt +++ b/tests/bson-corpus/decimal128-2-valid-056.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000004A48011416954508000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000004A48011416954508000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000E+6136"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000E+6136"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000004a48011416954508000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000000E+6136"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000E+6136"}} 180000001364000000004a48011416954508000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-057.phpt b/tests/bson-corpus/decimal128-2-valid-057.phpt index 12423d04b..48ab37ef9 100644 --- a/tests/bson-corpus/decimal128-2-valid-057.phpt +++ b/tests/bson-corpus/decimal128-2-valid-057.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000A1EDCCCE1BC2D300000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000A1EDCCCE1BC2D300000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000E+6135"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000E+6135"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000a1edccce1bc2d300000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000E+6135"}} -{"d":{"$numberDecimal":"1.000000000000000000000000E+6135"}} 18000000136400000000a1edccce1bc2d300000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-058.phpt b/tests/bson-corpus/decimal128-2-valid-058.phpt index b73478087..be10d2087 100644 --- a/tests/bson-corpus/decimal128-2-valid-058.phpt +++ b/tests/bson-corpus/decimal128-2-valid-058.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000080F64AE1C7022D1500000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000080F64AE1C7022D1500000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000E+6134"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000000000E+6134"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000080f64ae1c7022d1500000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000E+6134"}} -{"d":{"$numberDecimal":"1.00000000000000000000000E+6134"}} 18000000136400000080f64ae1c7022d1500000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-059.phpt b/tests/bson-corpus/decimal128-2-valid-059.phpt index d4645c9f9..4af0b489f 100644 --- a/tests/bson-corpus/decimal128-2-valid-059.phpt +++ b/tests/bson-corpus/decimal128-2-valid-059.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000040B2BAC9E0191E0200000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000040B2BAC9E0191E0200000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000E+6133"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000000000000E+6133"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000040b2bac9e0191e0200000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000E+6133"}} -{"d":{"$numberDecimal":"1.0000000000000000000000E+6133"}} 18000000136400000040b2bac9e0191e0200000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-060.phpt b/tests/bson-corpus/decimal128-2-valid-060.phpt index d8bfe8707..b10f92b07 100644 --- a/tests/bson-corpus/decimal128-2-valid-060.phpt +++ b/tests/bson-corpus/decimal128-2-valid-060.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000A0DEC5ADC935360000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000A0DEC5ADC935360000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000E+6132"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000E+6132"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000a0dec5adc935360000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000E+6132"}} -{"d":{"$numberDecimal":"1.000000000000000000000E+6132"}} 180000001364000000a0dec5adc935360000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-061.phpt b/tests/bson-corpus/decimal128-2-valid-061.phpt index f17acd3af..2fec23c31 100644 --- a/tests/bson-corpus/decimal128-2-valid-061.phpt +++ b/tests/bson-corpus/decimal128-2-valid-061.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000010632D5EC76B050000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000010632D5EC76B050000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000E+6131"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000000E+6131"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000010632d5ec76b050000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000E+6131"}} -{"d":{"$numberDecimal":"1.00000000000000000000E+6131"}} 18000000136400000010632d5ec76b050000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-062.phpt b/tests/bson-corpus/decimal128-2-valid-062.phpt index 9e48aa5ac..206eb1fce 100644 --- a/tests/bson-corpus/decimal128-2-valid-062.phpt +++ b/tests/bson-corpus/decimal128-2-valid-062.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000E8890423C78A000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000E8890423C78A000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000E+6130"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000000000E+6130"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000e8890423c78a000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000E+6130"}} -{"d":{"$numberDecimal":"1.0000000000000000000E+6130"}} 180000001364000000e8890423c78a000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-063.phpt b/tests/bson-corpus/decimal128-2-valid-063.phpt index 176a531db..61e616f1c 100644 --- a/tests/bson-corpus/decimal128-2-valid-063.phpt +++ b/tests/bson-corpus/decimal128-2-valid-063.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000064A7B3B6E00D000000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000064A7B3B6E00D000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000E+6129"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000E+6129"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000064a7b3b6e00d000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000E+6129"}} -{"d":{"$numberDecimal":"1.000000000000000000E+6129"}} 18000000136400000064a7b3b6e00d000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-064.phpt b/tests/bson-corpus/decimal128-2-valid-064.phpt index 75ea0c1e8..12ee91960 100644 --- a/tests/bson-corpus/decimal128-2-valid-064.phpt +++ b/tests/bson-corpus/decimal128-2-valid-064.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000008A5D78456301000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000008A5D78456301000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000E+6128"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000E+6128"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000008a5d78456301000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000E+6128"}} -{"d":{"$numberDecimal":"1.00000000000000000E+6128"}} 1800000013640000008a5d78456301000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-065.phpt b/tests/bson-corpus/decimal128-2-valid-065.phpt index 7862356f2..53d392708 100644 --- a/tests/bson-corpus/decimal128-2-valid-065.phpt +++ b/tests/bson-corpus/decimal128-2-valid-065.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000C16FF2862300000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000C16FF2862300000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000E+6127"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000000E+6127"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000c16ff2862300000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000E+6127"}} -{"d":{"$numberDecimal":"1.0000000000000000E+6127"}} 180000001364000000c16ff2862300000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-066.phpt b/tests/bson-corpus/decimal128-2-valid-066.phpt index 55b8a8aab..f6416afc8 100644 --- a/tests/bson-corpus/decimal128-2-valid-066.phpt +++ b/tests/bson-corpus/decimal128-2-valid-066.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000080C6A47E8D0300000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000080C6A47E8D0300000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000E+6126"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000E+6126"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000080c6a47e8d0300000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000E+6126"}} -{"d":{"$numberDecimal":"1.000000000000000E+6126"}} 180000001364000080c6a47e8d0300000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-067.phpt b/tests/bson-corpus/decimal128-2-valid-067.phpt index dbaf3b96c..f903fcc85 100644 --- a/tests/bson-corpus/decimal128-2-valid-067.phpt +++ b/tests/bson-corpus/decimal128-2-valid-067.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000407A10F35A0000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000407A10F35A0000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000E+6125"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000E+6125"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000407a10f35a0000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000E+6125"}} -{"d":{"$numberDecimal":"1.00000000000000E+6125"}} 1800000013640000407a10f35a0000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-068.phpt b/tests/bson-corpus/decimal128-2-valid-068.phpt index c321d26cb..d48995087 100644 --- a/tests/bson-corpus/decimal128-2-valid-068.phpt +++ b/tests/bson-corpus/decimal128-2-valid-068.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000A0724E18090000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000A0724E18090000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000E+6124"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000000E+6124"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000a0724e18090000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000E+6124"}} -{"d":{"$numberDecimal":"1.0000000000000E+6124"}} 1800000013640000a0724e18090000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-069.phpt b/tests/bson-corpus/decimal128-2-valid-069.phpt index adfa887e3..b92af1f79 100644 --- a/tests/bson-corpus/decimal128-2-valid-069.phpt +++ b/tests/bson-corpus/decimal128-2-valid-069.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000010A5D4E8000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000010A5D4E8000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000E+6123"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000E+6123"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000010a5d4e8000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000E+6123"}} -{"d":{"$numberDecimal":"1.000000000000E+6123"}} 180000001364000010a5d4e8000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-070.phpt b/tests/bson-corpus/decimal128-2-valid-070.phpt index 58a214e36..62c813d34 100644 --- a/tests/bson-corpus/decimal128-2-valid-070.phpt +++ b/tests/bson-corpus/decimal128-2-valid-070.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000E8764817000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000E8764817000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000E+6122"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000E+6122"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000e8764817000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000E+6122"}} -{"d":{"$numberDecimal":"1.00000000000E+6122"}} 1800000013640000e8764817000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-071.phpt b/tests/bson-corpus/decimal128-2-valid-071.phpt index a91baf024..edc7c92fb 100644 --- a/tests/bson-corpus/decimal128-2-valid-071.phpt +++ b/tests/bson-corpus/decimal128-2-valid-071.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000E40B5402000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000E40B5402000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000E+6121"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000000E+6121"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000e40b5402000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000E+6121"}} -{"d":{"$numberDecimal":"1.0000000000E+6121"}} 1800000013640000e40b5402000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-072.phpt b/tests/bson-corpus/decimal128-2-valid-072.phpt index b676477ac..c043bfbf2 100644 --- a/tests/bson-corpus/decimal128-2-valid-072.phpt +++ b/tests/bson-corpus/decimal128-2-valid-072.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000CA9A3B00000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000CA9A3B00000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000E+6120"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000E+6120"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000ca9a3b00000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000E+6120"}} -{"d":{"$numberDecimal":"1.000000000E+6120"}} 1800000013640000ca9a3b00000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-073.phpt b/tests/bson-corpus/decimal128-2-valid-073.phpt index 2876666be..1bf44b169 100644 --- a/tests/bson-corpus/decimal128-2-valid-073.phpt +++ b/tests/bson-corpus/decimal128-2-valid-073.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000E1F50500000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000E1F50500000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000E+6119"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000E+6119"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000e1f50500000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000E+6119"}} -{"d":{"$numberDecimal":"1.00000000E+6119"}} 1800000013640000e1f50500000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-074.phpt b/tests/bson-corpus/decimal128-2-valid-074.phpt index 9970f7904..139d7b908 100644 --- a/tests/bson-corpus/decimal128-2-valid-074.phpt +++ b/tests/bson-corpus/decimal128-2-valid-074.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364008096980000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364008096980000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000E+6118"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000000E+6118"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364008096980000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000E+6118"}} -{"d":{"$numberDecimal":"1.0000000E+6118"}} 180000001364008096980000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-075.phpt b/tests/bson-corpus/decimal128-2-valid-075.phpt index 4a054c71d..4ecd3312c 100644 --- a/tests/bson-corpus/decimal128-2-valid-075.phpt +++ b/tests/bson-corpus/decimal128-2-valid-075.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640040420F0000000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640040420F0000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000E+6117"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000E+6117"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640040420f0000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000000E+6117"}} -{"d":{"$numberDecimal":"1.000000E+6117"}} 1800000013640040420f0000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-076.phpt b/tests/bson-corpus/decimal128-2-valid-076.phpt index 0d2cb8581..d0c218454 100644 --- a/tests/bson-corpus/decimal128-2-valid-076.phpt +++ b/tests/bson-corpus/decimal128-2-valid-076.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400A086010000000000000000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400A086010000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000E+6116"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000E+6116"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400a086010000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000E+6116"}} -{"d":{"$numberDecimal":"1.00000E+6116"}} 18000000136400a086010000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-077.phpt b/tests/bson-corpus/decimal128-2-valid-077.phpt index 9754c67b7..8b80e88eb 100644 --- a/tests/bson-corpus/decimal128-2-valid-077.phpt +++ b/tests/bson-corpus/decimal128-2-valid-077.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001027000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364001027000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000E+6115"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0000E+6115"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001027000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000E+6115"}} -{"d":{"$numberDecimal":"1.0000E+6115"}} 180000001364001027000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-078.phpt b/tests/bson-corpus/decimal128-2-valid-078.phpt index 72db5856d..6259f85a2 100644 --- a/tests/bson-corpus/decimal128-2-valid-078.phpt +++ b/tests/bson-corpus/decimal128-2-valid-078.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E803000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400E803000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000E+6114"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000E+6114"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e803000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000E+6114"}} -{"d":{"$numberDecimal":"1.000E+6114"}} 18000000136400e803000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-079.phpt b/tests/bson-corpus/decimal128-2-valid-079.phpt index 892f4748e..7549903fe 100644 --- a/tests/bson-corpus/decimal128-2-valid-079.phpt +++ b/tests/bson-corpus/decimal128-2-valid-079.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006400000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364006400000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00E+6113"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00E+6113"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006400000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00E+6113"}} -{"d":{"$numberDecimal":"1.00E+6113"}} 180000001364006400000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-080.phpt b/tests/bson-corpus/decimal128-2-valid-080.phpt index a1baa0346..f28a3f420 100644 --- a/tests/bson-corpus/decimal128-2-valid-080.phpt +++ b/tests/bson-corpus/decimal128-2-valid-080.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+6112"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0E+6112"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0E+6112"}} -{"d":{"$numberDecimal":"1.0E+6112"}} 180000001364000a00000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-081.phpt b/tests/bson-corpus/decimal128-2-valid-081.phpt index 69021798f..8d9edb670 100644 --- a/tests/bson-corpus/decimal128-2-valid-081.phpt +++ b/tests/bson-corpus/decimal128-2-valid-081.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000403000 {"d":{"$numberDecimal":"1"}} -{"d":{"$numberDecimal":"1"}} 180000001364000100000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-082.phpt b/tests/bson-corpus/decimal128-2-valid-082.phpt index b2aff727d..a78d01a88 100644 --- a/tests/bson-corpus/decimal128-2-valid-082.phpt +++ b/tests/bson-corpus/decimal128-2-valid-082.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000FC5F00'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000FC5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+6110"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6110"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000fc5f00 {"d":{"$numberDecimal":"1E+6110"}} -{"d":{"$numberDecimal":"1E+6110"}} 180000001364000100000000000000000000000000fc5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-083.phpt b/tests/bson-corpus/decimal128-2-valid-083.phpt index fd110e6c1..161d56483 100644 --- a/tests/bson-corpus/decimal128-2-valid-083.phpt +++ b/tests/bson-corpus/decimal128-2-valid-083.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+6111"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6111"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1E+6111"}} -{"d":{"$numberDecimal":"1E+6111"}} 180000001364000100000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-084.phpt b/tests/bson-corpus/decimal128-2-valid-084.phpt index 5783b3356..460466734 100644 --- a/tests/bson-corpus/decimal128-2-valid-084.phpt +++ b/tests/bson-corpus/decimal128-2-valid-084.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000420000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000420000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000420000 {"d":{"$numberDecimal":"1E-6143"}} -{"d":{"$numberDecimal":"1E-6143"}} 180000001364000100000000000000000000000000420000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-085.phpt b/tests/bson-corpus/decimal128-2-valid-085.phpt index b7e15d0db..3ea1a9234 100644 --- a/tests/bson-corpus/decimal128-2-valid-085.phpt +++ b/tests/bson-corpus/decimal128-2-valid-085.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400010000000A5BC138938D44C64D31000000'); +$canonicalBson = hex2bin('18000000136400010000000A5BC138938D44C64D31000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000001E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000001E-6143"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400010000000a5bc138938d44c64d31000000 {"d":{"$numberDecimal":"1.000000000000000000000000000000001E-6143"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000001E-6143"}} 18000000136400010000000a5bc138938d44c64d31000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-086.phpt b/tests/bson-corpus/decimal128-2-valid-086.phpt index 3cb63d3de..039e39187 100644 --- a/tests/bson-corpus/decimal128-2-valid-086.phpt +++ b/tests/bson-corpus/decimal128-2-valid-086.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFE5F00'); +$canonicalBson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.230000000000000000000000000000000E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.230000000000000000000000000000000E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000807f1bcf85b27059c8a43cfe5f00 {"d":{"$numberDecimal":"1.230000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.230000000000000000000000000000000E+6144"}} 18000000136400000000807f1bcf85b27059c8a43cfe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-087.phpt b/tests/bson-corpus/decimal128-2-valid-087.phpt index febf53abd..ab99b1b5e 100644 --- a/tests/bson-corpus/decimal128-2-valid-087.phpt +++ b/tests/bson-corpus/decimal128-2-valid-087.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007B000000000000000000000000003C3000'); +$canonicalBson = hex2bin('180000001364007B000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.23"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.23"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007b000000000000000000000000003c3000 {"d":{"$numberDecimal":"1.23"}} -{"d":{"$numberDecimal":"1.23"}} 180000001364007b000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-088.phpt b/tests/bson-corpus/decimal128-2-valid-088.phpt index 41e449f34..960af91c0 100644 --- a/tests/bson-corpus/decimal128-2-valid-088.phpt +++ b/tests/bson-corpus/decimal128-2-valid-088.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CFE5F00'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3CFE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.234567890123456789012345678901234E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.234567890123456789012345678901234E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3cfe5f00 {"d":{"$numberDecimal":"1.234567890123456789012345678901234E+6144"}} -{"d":{"$numberDecimal":"1.234567890123456789012345678901234E+6144"}} 18000000136400f2af967ed05c82de3297ff6fde3cfe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-089.phpt b/tests/bson-corpus/decimal128-2-valid-089.phpt index 4aa77995e..89755b5fb 100644 --- a/tests/bson-corpus/decimal128-2-valid-089.phpt +++ b/tests/bson-corpus/decimal128-2-valid-089.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000403000 {"d":{"$numberDecimal":"7"}} -{"d":{"$numberDecimal":"7"}} 180000001364000700000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-090.phpt b/tests/bson-corpus/decimal128-2-valid-090.phpt index 4af99e370..146acf840 100644 --- a/tests/bson-corpus/decimal128-2-valid-090.phpt +++ b/tests/bson-corpus/decimal128-2-valid-090.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000001E5F00'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000001E5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+5999"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E+5999"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000001e5f00 {"d":{"$numberDecimal":"7E+5999"}} -{"d":{"$numberDecimal":"7E+5999"}} 1800000013640007000000000000000000000000001e5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-091.phpt b/tests/bson-corpus/decimal128-2-valid-091.phpt index 55e85b33c..5902ebfa6 100644 --- a/tests/bson-corpus/decimal128-2-valid-091.phpt +++ b/tests/bson-corpus/decimal128-2-valid-091.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000000E3800'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000000E3800'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+999"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E+999"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000000e3800 {"d":{"$numberDecimal":"7E+999"}} -{"d":{"$numberDecimal":"7E+999"}} 1800000013640007000000000000000000000000000e3800 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-092.phpt b/tests/bson-corpus/decimal128-2-valid-092.phpt index 291d6ccde..5414bcbd8 100644 --- a/tests/bson-corpus/decimal128-2-valid-092.phpt +++ b/tests/bson-corpus/decimal128-2-valid-092.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000063100'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000063100'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+99"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E+99"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000063100 {"d":{"$numberDecimal":"7E+99"}} -{"d":{"$numberDecimal":"7E+99"}} 180000001364000700000000000000000000000000063100 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-093.phpt b/tests/bson-corpus/decimal128-2-valid-093.phpt index c897e40fa..587a4c65c 100644 --- a/tests/bson-corpus/decimal128-2-valid-093.phpt +++ b/tests/bson-corpus/decimal128-2-valid-093.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E+9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000523000 {"d":{"$numberDecimal":"7E+9"}} -{"d":{"$numberDecimal":"7E+9"}} 180000001364000700000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-094.phpt b/tests/bson-corpus/decimal128-2-valid-094.phpt index 24eaf30c1..4ccef9927 100644 --- a/tests/bson-corpus/decimal128-2-valid-094.phpt +++ b/tests/bson-corpus/decimal128-2-valid-094.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000FED83F4E7C9FE4E269E38A5BCD1700'); +$canonicalBson = hex2bin('180000001364000000FED83F4E7C9FE4E269E38A5BCD1700'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7.049000000000010795488000000000000E-3097"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7.049000000000010795488000000000000E-3097"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000fed83f4e7c9fe4e269e38a5bcd1700 {"d":{"$numberDecimal":"7.049000000000010795488000000000000E-3097"}} -{"d":{"$numberDecimal":"7.049000000000010795488000000000000E-3097"}} 180000001364000000fed83f4e7c9fe4e269e38a5bcd1700 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-095.phpt b/tests/bson-corpus/decimal128-2-valid-095.phpt index e6b1d292e..d34de98f5 100644 --- a/tests/bson-corpus/decimal128-2-valid-095.phpt +++ b/tests/bson-corpus/decimal128-2-valid-095.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000203B9DB5056F000000000000002400'); +$canonicalBson = hex2bin('180000001364000000203B9DB5056F000000000000002400'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "8.000000000000000000E-1550"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "8.000000000000000000E-1550"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000203b9db5056f000000000000002400 {"d":{"$numberDecimal":"8.000000000000000000E-1550"}} -{"d":{"$numberDecimal":"8.000000000000000000E-1550"}} 180000001364000000203b9db5056f000000000000002400 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-096.phpt b/tests/bson-corpus/decimal128-2-valid-096.phpt index 605b062ec..145d2194b 100644 --- a/tests/bson-corpus/decimal128-2-valid-096.phpt +++ b/tests/bson-corpus/decimal128-2-valid-096.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003C17258419D710C42F0000000000002400'); +$canonicalBson = hex2bin('180000001364003C17258419D710C42F0000000000002400'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "8.81125000000001349436E-1548"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "8.81125000000001349436E-1548"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003c17258419d710c42f0000000000002400 {"d":{"$numberDecimal":"8.81125000000001349436E-1548"}} -{"d":{"$numberDecimal":"8.81125000000001349436E-1548"}} 180000001364003c17258419d710c42f0000000000002400 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-097.phpt b/tests/bson-corpus/decimal128-2-valid-097.phpt index 95e6f21ae..e427630d4 100644 --- a/tests/bson-corpus/decimal128-2-valid-097.phpt +++ b/tests/bson-corpus/decimal128-2-valid-097.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000900000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000900000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000900000000000000000000000000403000 {"d":{"$numberDecimal":"9"}} -{"d":{"$numberDecimal":"9"}} 180000001364000900000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-098.phpt b/tests/bson-corpus/decimal128-2-valid-098.phpt index 8dbfa8494..77c1bd587 100644 --- a/tests/bson-corpus/decimal128-2-valid-098.phpt +++ b/tests/bson-corpus/decimal128-2-valid-098.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "9.999999999999999999999999999999999E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "9.999999999999999999999999999999999E+6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffff638e8d37c087adbe09edff5f00 {"d":{"$numberDecimal":"9.999999999999999999999999999999999E+6144"}} -{"d":{"$numberDecimal":"9.999999999999999999999999999999999E+6144"}} 18000000136400ffffffff638e8d37c087adbe09edff5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-099.phpt b/tests/bson-corpus/decimal128-2-valid-099.phpt index f55e162e8..2d5cd37f8 100644 --- a/tests/bson-corpus/decimal128-2-valid-099.phpt +++ b/tests/bson-corpus/decimal128-2-valid-099.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000403000 {"d":{"$numberDecimal":"10"}} -{"d":{"$numberDecimal":"10"}} 180000001364000a00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-100.phpt b/tests/bson-corpus/decimal128-2-valid-100.phpt index 1b9214149..fa64a826c 100644 --- a/tests/bson-corpus/decimal128-2-valid-100.phpt +++ b/tests/bson-corpus/decimal128-2-valid-100.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000C00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000C00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000c00000000000000000000000000403000 {"d":{"$numberDecimal":"12"}} -{"d":{"$numberDecimal":"12"}} 180000001364000c00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-101.phpt b/tests/bson-corpus/decimal128-2-valid-101.phpt index c0fbcf9a8..aa4224a04 100644 --- a/tests/bson-corpus/decimal128-2-valid-101.phpt +++ b/tests/bson-corpus/decimal128-2-valid-101.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001300000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001300000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "19"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "19"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001300000000000000000000000000403000 {"d":{"$numberDecimal":"19"}} -{"d":{"$numberDecimal":"19"}} 180000001364001300000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-102.phpt b/tests/bson-corpus/decimal128-2-valid-102.phpt index 465b08956..c6aa322e8 100644 --- a/tests/bson-corpus/decimal128-2-valid-102.phpt +++ b/tests/bson-corpus/decimal128-2-valid-102.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001400000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001400000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "20"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001400000000000000000000000000403000 {"d":{"$numberDecimal":"20"}} -{"d":{"$numberDecimal":"20"}} 180000001364001400000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-103.phpt b/tests/bson-corpus/decimal128-2-valid-103.phpt index d737110cd..9742d3122 100644 --- a/tests/bson-corpus/decimal128-2-valid-103.phpt +++ b/tests/bson-corpus/decimal128-2-valid-103.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001D00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001D00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "29"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "29"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001d00000000000000000000000000403000 {"d":{"$numberDecimal":"29"}} -{"d":{"$numberDecimal":"29"}} 180000001364001d00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-104.phpt b/tests/bson-corpus/decimal128-2-valid-104.phpt index df7a01828..a8595d9a8 100644 --- a/tests/bson-corpus/decimal128-2-valid-104.phpt +++ b/tests/bson-corpus/decimal128-2-valid-104.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001E00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001E00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "30"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "30"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001e00000000000000000000000000403000 {"d":{"$numberDecimal":"30"}} -{"d":{"$numberDecimal":"30"}} 180000001364001e00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-105.phpt b/tests/bson-corpus/decimal128-2-valid-105.phpt index 7a108b0f3..adff7e990 100644 --- a/tests/bson-corpus/decimal128-2-valid-105.phpt +++ b/tests/bson-corpus/decimal128-2-valid-105.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364002700000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364002700000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "39"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "39"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364002700000000000000000000000000403000 {"d":{"$numberDecimal":"39"}} -{"d":{"$numberDecimal":"39"}} 180000001364002700000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-106.phpt b/tests/bson-corpus/decimal128-2-valid-106.phpt index 882f93c29..a269a0346 100644 --- a/tests/bson-corpus/decimal128-2-valid-106.phpt +++ b/tests/bson-corpus/decimal128-2-valid-106.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364002800000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364002800000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "40"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "40"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364002800000000000000000000000000403000 {"d":{"$numberDecimal":"40"}} -{"d":{"$numberDecimal":"40"}} 180000001364002800000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-107.phpt b/tests/bson-corpus/decimal128-2-valid-107.phpt index 576b7606d..dd339a9cd 100644 --- a/tests/bson-corpus/decimal128-2-valid-107.phpt +++ b/tests/bson-corpus/decimal128-2-valid-107.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003100000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364003100000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "49"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "49"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003100000000000000000000000000403000 {"d":{"$numberDecimal":"49"}} -{"d":{"$numberDecimal":"49"}} 180000001364003100000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-108.phpt b/tests/bson-corpus/decimal128-2-valid-108.phpt index afa9f49e6..843116828 100644 --- a/tests/bson-corpus/decimal128-2-valid-108.phpt +++ b/tests/bson-corpus/decimal128-2-valid-108.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003200000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364003200000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "50"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "50"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003200000000000000000000000000403000 {"d":{"$numberDecimal":"50"}} -{"d":{"$numberDecimal":"50"}} 180000001364003200000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-109.phpt b/tests/bson-corpus/decimal128-2-valid-109.phpt index 418d09565..be2c29265 100644 --- a/tests/bson-corpus/decimal128-2-valid-109.phpt +++ b/tests/bson-corpus/decimal128-2-valid-109.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003B00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364003B00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "59"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "59"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003b00000000000000000000000000403000 {"d":{"$numberDecimal":"59"}} -{"d":{"$numberDecimal":"59"}} 180000001364003b00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-110.phpt b/tests/bson-corpus/decimal128-2-valid-110.phpt index 9ab89309f..dac807c9a 100644 --- a/tests/bson-corpus/decimal128-2-valid-110.phpt +++ b/tests/bson-corpus/decimal128-2-valid-110.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003C00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364003C00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "60"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "60"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003c00000000000000000000000000403000 {"d":{"$numberDecimal":"60"}} -{"d":{"$numberDecimal":"60"}} 180000001364003c00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-111.phpt b/tests/bson-corpus/decimal128-2-valid-111.phpt index 75d79f0f0..cbf715880 100644 --- a/tests/bson-corpus/decimal128-2-valid-111.phpt +++ b/tests/bson-corpus/decimal128-2-valid-111.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004500000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004500000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "69"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "69"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004500000000000000000000000000403000 {"d":{"$numberDecimal":"69"}} -{"d":{"$numberDecimal":"69"}} 180000001364004500000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-112.phpt b/tests/bson-corpus/decimal128-2-valid-112.phpt index 0e9b5644d..1546acfbe 100644 --- a/tests/bson-corpus/decimal128-2-valid-112.phpt +++ b/tests/bson-corpus/decimal128-2-valid-112.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004600000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004600000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "70"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "70"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004600000000000000000000000000403000 {"d":{"$numberDecimal":"70"}} -{"d":{"$numberDecimal":"70"}} 180000001364004600000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-113.phpt b/tests/bson-corpus/decimal128-2-valid-113.phpt index bfcef7b24..8427409ac 100644 --- a/tests/bson-corpus/decimal128-2-valid-113.phpt +++ b/tests/bson-corpus/decimal128-2-valid-113.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004700000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004700000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "71"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "71"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004700000000000000000000000000403000 {"d":{"$numberDecimal":"71"}} -{"d":{"$numberDecimal":"71"}} 180000001364004700000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-114.phpt b/tests/bson-corpus/decimal128-2-valid-114.phpt index 986ea4185..12e71835f 100644 --- a/tests/bson-corpus/decimal128-2-valid-114.phpt +++ b/tests/bson-corpus/decimal128-2-valid-114.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004800000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004800000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "72"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "72"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004800000000000000000000000000403000 {"d":{"$numberDecimal":"72"}} -{"d":{"$numberDecimal":"72"}} 180000001364004800000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-115.phpt b/tests/bson-corpus/decimal128-2-valid-115.phpt index 2d68300ad..f3607a76e 100644 --- a/tests/bson-corpus/decimal128-2-valid-115.phpt +++ b/tests/bson-corpus/decimal128-2-valid-115.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004900000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004900000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "73"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "73"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004900000000000000000000000000403000 {"d":{"$numberDecimal":"73"}} -{"d":{"$numberDecimal":"73"}} 180000001364004900000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-116.phpt b/tests/bson-corpus/decimal128-2-valid-116.phpt index a3643b702..22cba81af 100644 --- a/tests/bson-corpus/decimal128-2-valid-116.phpt +++ b/tests/bson-corpus/decimal128-2-valid-116.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004A00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004A00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "74"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "74"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004a00000000000000000000000000403000 {"d":{"$numberDecimal":"74"}} -{"d":{"$numberDecimal":"74"}} 180000001364004a00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-117.phpt b/tests/bson-corpus/decimal128-2-valid-117.phpt index eae4e9288..7701a9058 100644 --- a/tests/bson-corpus/decimal128-2-valid-117.phpt +++ b/tests/bson-corpus/decimal128-2-valid-117.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004B00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004B00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "75"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "75"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004b00000000000000000000000000403000 {"d":{"$numberDecimal":"75"}} -{"d":{"$numberDecimal":"75"}} 180000001364004b00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-118.phpt b/tests/bson-corpus/decimal128-2-valid-118.phpt index 64ace6539..05812f1d5 100644 --- a/tests/bson-corpus/decimal128-2-valid-118.phpt +++ b/tests/bson-corpus/decimal128-2-valid-118.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004C00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004C00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "76"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "76"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004c00000000000000000000000000403000 {"d":{"$numberDecimal":"76"}} -{"d":{"$numberDecimal":"76"}} 180000001364004c00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-119.phpt b/tests/bson-corpus/decimal128-2-valid-119.phpt index d50b1eb53..25df6fa4c 100644 --- a/tests/bson-corpus/decimal128-2-valid-119.phpt +++ b/tests/bson-corpus/decimal128-2-valid-119.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004D00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004D00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "77"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "77"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004d00000000000000000000000000403000 {"d":{"$numberDecimal":"77"}} -{"d":{"$numberDecimal":"77"}} 180000001364004d00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-120.phpt b/tests/bson-corpus/decimal128-2-valid-120.phpt index 221317807..239240a9d 100644 --- a/tests/bson-corpus/decimal128-2-valid-120.phpt +++ b/tests/bson-corpus/decimal128-2-valid-120.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004E00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004E00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "78"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "78"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004e00000000000000000000000000403000 {"d":{"$numberDecimal":"78"}} -{"d":{"$numberDecimal":"78"}} 180000001364004e00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-121.phpt b/tests/bson-corpus/decimal128-2-valid-121.phpt index 9520e21ab..8a0d27bbd 100644 --- a/tests/bson-corpus/decimal128-2-valid-121.phpt +++ b/tests/bson-corpus/decimal128-2-valid-121.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004F00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364004F00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "79"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "79"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004f00000000000000000000000000403000 {"d":{"$numberDecimal":"79"}} -{"d":{"$numberDecimal":"79"}} 180000001364004f00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-122.phpt b/tests/bson-corpus/decimal128-2-valid-122.phpt index 87f41ccf5..09b4407f0 100644 --- a/tests/bson-corpus/decimal128-2-valid-122.phpt +++ b/tests/bson-corpus/decimal128-2-valid-122.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007B00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364007B00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "123"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "123"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007b00000000000000000000000000403000 {"d":{"$numberDecimal":"123"}} -{"d":{"$numberDecimal":"123"}} 180000001364007b00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-123.phpt b/tests/bson-corpus/decimal128-2-valid-123.phpt index f858643a3..12df7eed4 100644 --- a/tests/bson-corpus/decimal128-2-valid-123.phpt +++ b/tests/bson-corpus/decimal128-2-valid-123.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640039300000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640039300000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "123.45"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "123.45"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640039300000000000000000000000003c3000 {"d":{"$numberDecimal":"123.45"}} -{"d":{"$numberDecimal":"123.45"}} 1800000013640039300000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-124.phpt b/tests/bson-corpus/decimal128-2-valid-124.phpt index dc68bf474..75ae57688 100644 --- a/tests/bson-corpus/decimal128-2-valid-124.phpt +++ b/tests/bson-corpus/decimal128-2-valid-124.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000802000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000802000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "520"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "520"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000802000000000000000000000000403000 {"d":{"$numberDecimal":"520"}} -{"d":{"$numberDecimal":"520"}} 180000001364000802000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-125.phpt b/tests/bson-corpus/decimal128-2-valid-125.phpt index eed4907e0..34646915a 100644 --- a/tests/bson-corpus/decimal128-2-valid-125.phpt +++ b/tests/bson-corpus/decimal128-2-valid-125.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000902000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000902000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "521"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "521"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000902000000000000000000000000403000 {"d":{"$numberDecimal":"521"}} -{"d":{"$numberDecimal":"521"}} 180000001364000902000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-126.phpt b/tests/bson-corpus/decimal128-2-valid-126.phpt index 12d908266..02a1a2650 100644 --- a/tests/bson-corpus/decimal128-2-valid-126.phpt +++ b/tests/bson-corpus/decimal128-2-valid-126.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000903000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000903000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "777"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "777"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000903000000000000000000000000403000 {"d":{"$numberDecimal":"777"}} -{"d":{"$numberDecimal":"777"}} 180000001364000903000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-127.phpt b/tests/bson-corpus/decimal128-2-valid-127.phpt index 654aca1fa..82d33021f 100644 --- a/tests/bson-corpus/decimal128-2-valid-127.phpt +++ b/tests/bson-corpus/decimal128-2-valid-127.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A03000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000A03000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "778"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "778"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a03000000000000000000000000403000 {"d":{"$numberDecimal":"778"}} -{"d":{"$numberDecimal":"778"}} 180000001364000a03000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-128.phpt b/tests/bson-corpus/decimal128-2-valid-128.phpt index 797427f55..a4ebdb6fb 100644 --- a/tests/bson-corpus/decimal128-2-valid-128.phpt +++ b/tests/bson-corpus/decimal128-2-valid-128.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001303000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001303000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "787"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "787"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001303000000000000000000000000403000 {"d":{"$numberDecimal":"787"}} -{"d":{"$numberDecimal":"787"}} 180000001364001303000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-129.phpt b/tests/bson-corpus/decimal128-2-valid-129.phpt index d193da110..7a3f6b728 100644 --- a/tests/bson-corpus/decimal128-2-valid-129.phpt +++ b/tests/bson-corpus/decimal128-2-valid-129.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001F03000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001F03000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "799"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "799"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364001f03000000000000000000000000403000 {"d":{"$numberDecimal":"799"}} -{"d":{"$numberDecimal":"799"}} 180000001364001f03000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-130.phpt b/tests/bson-corpus/decimal128-2-valid-130.phpt index c67929256..ba469fe23 100644 --- a/tests/bson-corpus/decimal128-2-valid-130.phpt +++ b/tests/bson-corpus/decimal128-2-valid-130.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006D03000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364006D03000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "877"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "877"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006d03000000000000000000000000403000 {"d":{"$numberDecimal":"877"}} -{"d":{"$numberDecimal":"877"}} 180000001364006d03000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-131.phpt b/tests/bson-corpus/decimal128-2-valid-131.phpt index bf9f64312..b7beb2858 100644 --- a/tests/bson-corpus/decimal128-2-valid-131.phpt +++ b/tests/bson-corpus/decimal128-2-valid-131.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007803000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364007803000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "888"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "888"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007803000000000000000000000000403000 {"d":{"$numberDecimal":"888"}} -{"d":{"$numberDecimal":"888"}} 180000001364007803000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-132.phpt b/tests/bson-corpus/decimal128-2-valid-132.phpt index 0ff241f94..a917054d6 100644 --- a/tests/bson-corpus/decimal128-2-valid-132.phpt +++ b/tests/bson-corpus/decimal128-2-valid-132.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007903000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364007903000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "889"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "889"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007903000000000000000000000000403000 {"d":{"$numberDecimal":"889"}} -{"d":{"$numberDecimal":"889"}} 180000001364007903000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-133.phpt b/tests/bson-corpus/decimal128-2-valid-133.phpt index 16f7ba200..272635f77 100644 --- a/tests/bson-corpus/decimal128-2-valid-133.phpt +++ b/tests/bson-corpus/decimal128-2-valid-133.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364008203000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364008203000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "898"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "898"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364008203000000000000000000000000403000 {"d":{"$numberDecimal":"898"}} -{"d":{"$numberDecimal":"898"}} 180000001364008203000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-134.phpt b/tests/bson-corpus/decimal128-2-valid-134.phpt index d40eccf51..010c8cc42 100644 --- a/tests/bson-corpus/decimal128-2-valid-134.phpt +++ b/tests/bson-corpus/decimal128-2-valid-134.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364008303000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364008303000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "899"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "899"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364008303000000000000000000000000403000 {"d":{"$numberDecimal":"899"}} -{"d":{"$numberDecimal":"899"}} 180000001364008303000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-135.phpt b/tests/bson-corpus/decimal128-2-valid-135.phpt index 6a352677f..a5adec0db 100644 --- a/tests/bson-corpus/decimal128-2-valid-135.phpt +++ b/tests/bson-corpus/decimal128-2-valid-135.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400D303000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400D303000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "979"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "979"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400d303000000000000000000000000403000 {"d":{"$numberDecimal":"979"}} -{"d":{"$numberDecimal":"979"}} 18000000136400d303000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-136.phpt b/tests/bson-corpus/decimal128-2-valid-136.phpt index 9ac3113de..8ae1f421a 100644 --- a/tests/bson-corpus/decimal128-2-valid-136.phpt +++ b/tests/bson-corpus/decimal128-2-valid-136.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400DC03000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400DC03000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "988"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "988"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400dc03000000000000000000000000403000 {"d":{"$numberDecimal":"988"}} -{"d":{"$numberDecimal":"988"}} 18000000136400dc03000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-137.phpt b/tests/bson-corpus/decimal128-2-valid-137.phpt index 1aa68c005..a8bb48252 100644 --- a/tests/bson-corpus/decimal128-2-valid-137.phpt +++ b/tests/bson-corpus/decimal128-2-valid-137.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400DD03000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400DD03000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "989"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "989"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400dd03000000000000000000000000403000 {"d":{"$numberDecimal":"989"}} -{"d":{"$numberDecimal":"989"}} 18000000136400dd03000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-138.phpt b/tests/bson-corpus/decimal128-2-valid-138.phpt index e80c1ac76..4f3d095ea 100644 --- a/tests/bson-corpus/decimal128-2-valid-138.phpt +++ b/tests/bson-corpus/decimal128-2-valid-138.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E203000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400E203000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "994"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "994"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e203000000000000000000000000403000 {"d":{"$numberDecimal":"994"}} -{"d":{"$numberDecimal":"994"}} 18000000136400e203000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-139.phpt b/tests/bson-corpus/decimal128-2-valid-139.phpt index e96449ca5..1152ee605 100644 --- a/tests/bson-corpus/decimal128-2-valid-139.phpt +++ b/tests/bson-corpus/decimal128-2-valid-139.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E303000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400E303000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "995"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "995"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e303000000000000000000000000403000 {"d":{"$numberDecimal":"995"}} -{"d":{"$numberDecimal":"995"}} 18000000136400e303000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-140.phpt b/tests/bson-corpus/decimal128-2-valid-140.phpt index 423270105..0e0591b39 100644 --- a/tests/bson-corpus/decimal128-2-valid-140.phpt +++ b/tests/bson-corpus/decimal128-2-valid-140.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E503000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400E503000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "997"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "997"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e503000000000000000000000000403000 {"d":{"$numberDecimal":"997"}} -{"d":{"$numberDecimal":"997"}} 18000000136400e503000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-141.phpt b/tests/bson-corpus/decimal128-2-valid-141.phpt index 1606a0d44..4a3ff2f75 100644 --- a/tests/bson-corpus/decimal128-2-valid-141.phpt +++ b/tests/bson-corpus/decimal128-2-valid-141.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E603000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400E603000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "998"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "998"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e603000000000000000000000000403000 {"d":{"$numberDecimal":"998"}} -{"d":{"$numberDecimal":"998"}} 18000000136400e603000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-142.phpt b/tests/bson-corpus/decimal128-2-valid-142.phpt index 664b76507..540c80304 100644 --- a/tests/bson-corpus/decimal128-2-valid-142.phpt +++ b/tests/bson-corpus/decimal128-2-valid-142.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E703000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400E703000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "999"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "999"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e703000000000000000000000000403000 {"d":{"$numberDecimal":"999"}} -{"d":{"$numberDecimal":"999"}} 18000000136400e703000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-143.phpt b/tests/bson-corpus/decimal128-2-valid-143.phpt index 473c55bcb..c616aed55 100644 --- a/tests/bson-corpus/decimal128-2-valid-143.phpt +++ b/tests/bson-corpus/decimal128-2-valid-143.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400D204000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400D204000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400d204000000000000000000000000403000 {"d":{"$numberDecimal":"1234"}} -{"d":{"$numberDecimal":"1234"}} 18000000136400d204000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-144.phpt b/tests/bson-corpus/decimal128-2-valid-144.phpt index 6f62ca6a6..b47f06255 100644 --- a/tests/bson-corpus/decimal128-2-valid-144.phpt +++ b/tests/bson-corpus/decimal128-2-valid-144.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003930000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364003930000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12345"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12345"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003930000000000000000000000000403000 {"d":{"$numberDecimal":"12345"}} -{"d":{"$numberDecimal":"12345"}} 180000001364003930000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-145.phpt b/tests/bson-corpus/decimal128-2-valid-145.phpt index 2c732cde4..18c86edd6 100644 --- a/tests/bson-corpus/decimal128-2-valid-145.phpt +++ b/tests/bson-corpus/decimal128-2-valid-145.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003075000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364003075000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "30000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "30000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003075000000000000000000000000403000 {"d":{"$numberDecimal":"30000"}} -{"d":{"$numberDecimal":"30000"}} 180000001364003075000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-146.phpt b/tests/bson-corpus/decimal128-2-valid-146.phpt index b77a1748e..fd28fab19 100644 --- a/tests/bson-corpus/decimal128-2-valid-146.phpt +++ b/tests/bson-corpus/decimal128-2-valid-146.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640090940D0000000000000000000000403000'); +$canonicalBson = hex2bin('1800000013640090940D0000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "890000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "890000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640090940d0000000000000000000000403000 {"d":{"$numberDecimal":"890000"}} -{"d":{"$numberDecimal":"890000"}} 1800000013640090940d0000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-147.phpt b/tests/bson-corpus/decimal128-2-valid-147.phpt index 7330d4379..2de80e090 100644 --- a/tests/bson-corpus/decimal128-2-valid-147.phpt +++ b/tests/bson-corpus/decimal128-2-valid-147.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FEFFFF7F00000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400FEFFFF7F00000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2147483646"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2147483646"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400feffff7f00000000000000000000403000 {"d":{"$numberDecimal":"2147483646"}} -{"d":{"$numberDecimal":"2147483646"}} 18000000136400feffff7f00000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-148.phpt b/tests/bson-corpus/decimal128-2-valid-148.phpt index f0a1273e3..965437d61 100644 --- a/tests/bson-corpus/decimal128-2-valid-148.phpt +++ b/tests/bson-corpus/decimal128-2-valid-148.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFF7F00000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400FFFFFF7F00000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2147483647"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2147483647"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffff7f00000000000000000000403000 {"d":{"$numberDecimal":"2147483647"}} -{"d":{"$numberDecimal":"2147483647"}} 18000000136400ffffff7f00000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-149.phpt b/tests/bson-corpus/decimal128-2-valid-149.phpt index 0a3d8faef..76a38f8a3 100644 --- a/tests/bson-corpus/decimal128-2-valid-149.phpt +++ b/tests/bson-corpus/decimal128-2-valid-149.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000008000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000008000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2147483648"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2147483648"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000008000000000000000000000403000 {"d":{"$numberDecimal":"2147483648"}} -{"d":{"$numberDecimal":"2147483648"}} 180000001364000000008000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-150.phpt b/tests/bson-corpus/decimal128-2-valid-150.phpt index e238e3ad9..c8cc6cc17 100644 --- a/tests/bson-corpus/decimal128-2-valid-150.phpt +++ b/tests/bson-corpus/decimal128-2-valid-150.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100008000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000100008000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2147483649"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2147483649"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100008000000000000000000000403000 {"d":{"$numberDecimal":"2147483649"}} -{"d":{"$numberDecimal":"2147483649"}} 180000001364000100008000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-151.phpt b/tests/bson-corpus/decimal128-2-valid-151.phpt index a4537ad50..2c70da06e 100644 --- a/tests/bson-corpus/decimal128-2-valid-151.phpt +++ b/tests/bson-corpus/decimal128-2-valid-151.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FEFFFFFF00000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400FEFFFFFF00000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "4294967294"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "4294967294"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400feffffff00000000000000000000403000 {"d":{"$numberDecimal":"4294967294"}} -{"d":{"$numberDecimal":"4294967294"}} 18000000136400feffffff00000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-152.phpt b/tests/bson-corpus/decimal128-2-valid-152.phpt index 8e765c82b..faf61409b 100644 --- a/tests/bson-corpus/decimal128-2-valid-152.phpt +++ b/tests/bson-corpus/decimal128-2-valid-152.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF00000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF00000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "4294967295"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "4294967295"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffff00000000000000000000403000 {"d":{"$numberDecimal":"4294967295"}} -{"d":{"$numberDecimal":"4294967295"}} 18000000136400ffffffff00000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-153.phpt b/tests/bson-corpus/decimal128-2-valid-153.phpt index fa8f0d632..0177b8a91 100644 --- a/tests/bson-corpus/decimal128-2-valid-153.phpt +++ b/tests/bson-corpus/decimal128-2-valid-153.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000001000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000001000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "4294967296"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "4294967296"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000001000000000000000000403000 {"d":{"$numberDecimal":"4294967296"}} -{"d":{"$numberDecimal":"4294967296"}} 180000001364000000000001000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-154.phpt b/tests/bson-corpus/decimal128-2-valid-154.phpt index a0ac4bb10..465fa5a64 100644 --- a/tests/bson-corpus/decimal128-2-valid-154.phpt +++ b/tests/bson-corpus/decimal128-2-valid-154.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000001000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000100000001000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "4294967297"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "4294967297"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000001000000000000000000403000 {"d":{"$numberDecimal":"4294967297"}} -{"d":{"$numberDecimal":"4294967297"}} 180000001364000100000001000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-155.phpt b/tests/bson-corpus/decimal128-2-valid-155.phpt index 08a2ded60..dfb8477a0 100644 --- a/tests/bson-corpus/decimal128-2-valid-155.phpt +++ b/tests/bson-corpus/decimal128-2-valid-155.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400C7711CC7B548F377DC80A131C836403000'); +$canonicalBson = hex2bin('18000000136400C7711CC7B548F377DC80A131C836403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1111111111111111111111111111111111"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1111111111111111111111111111111111"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400c7711cc7b548f377dc80a131c836403000 {"d":{"$numberDecimal":"1111111111111111111111111111111111"}} -{"d":{"$numberDecimal":"1111111111111111111111111111111111"}} 18000000136400c7711cc7b548f377dc80a131c836403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-156.phpt b/tests/bson-corpus/decimal128-2-valid-156.phpt index c6436e429..eb6acd6da 100644 --- a/tests/bson-corpus/decimal128-2-valid-156.phpt +++ b/tests/bson-corpus/decimal128-2-valid-156.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C403000'); +$canonicalBson = hex2bin('18000000136400F2AF967ED05C82DE3297FF6FDE3C403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1234567890123456789012345678901234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1234567890123456789012345678901234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f2af967ed05c82de3297ff6fde3c403000 {"d":{"$numberDecimal":"1234567890123456789012345678901234"}} -{"d":{"$numberDecimal":"1234567890123456789012345678901234"}} 18000000136400f2af967ed05c82de3297ff6fde3c403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-2-valid-157.phpt b/tests/bson-corpus/decimal128-2-valid-157.phpt index 2021e57bf..b3ef599e9 100644 --- a/tests/bson-corpus/decimal128-2-valid-157.phpt +++ b/tests/bson-corpus/decimal128-2-valid-157.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09ED413000'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF638E8D37C087ADBE09ED413000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "9999999999999999999999999999999999"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "9999999999999999999999999999999999"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400ffffffff638e8d37c087adbe09ed413000 {"d":{"$numberDecimal":"9999999999999999999999999999999999"}} -{"d":{"$numberDecimal":"9999999999999999999999999999999999"}} 18000000136400ffffffff638e8d37c087adbe09ed413000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-001.phpt b/tests/bson-corpus/decimal128-3-valid-001.phpt index 22860bdac..947699aec 100644 --- a/tests/bson-corpus/decimal128-3-valid-001.phpt +++ b/tests/bson-corpus/decimal128-3-valid-001.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE0000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400185C0ACE0000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-345678.5432"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-00345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-00345678.5432"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-345678.5432"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400185c0ace0000000000000000000038b000 {"d":{"$numberDecimal":"-345678.5432"}} -{"d":{"$numberDecimal":"-345678.5432"}} -{"d":{"$numberDecimal":"-345678.5432"}} 18000000136400185c0ace0000000000000000000038b000 18000000136400185c0ace0000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-002.phpt b/tests/bson-corpus/decimal128-3-valid-002.phpt index 5de543538..40de93439 100644 --- a/tests/bson-corpus/decimal128-3-valid-002.phpt +++ b/tests/bson-corpus/decimal128-3-valid-002.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE0000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400185C0ACE0000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-345678.5432"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0345678.5432"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-345678.5432"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400185c0ace0000000000000000000038b000 {"d":{"$numberDecimal":"-345678.5432"}} -{"d":{"$numberDecimal":"-345678.5432"}} -{"d":{"$numberDecimal":"-345678.5432"}} 18000000136400185c0ace0000000000000000000038b000 18000000136400185c0ace0000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-003.phpt b/tests/bson-corpus/decimal128-3-valid-003.phpt index 70086d0e9..9f172c1a6 100644 --- a/tests/bson-corpus/decimal128-3-valid-003.phpt +++ b/tests/bson-corpus/decimal128-3-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE0000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400185C0ACE0000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-345678.5432"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400185c0ace0000000000000000000038b000 {"d":{"$numberDecimal":"-345678.5432"}} -{"d":{"$numberDecimal":"-345678.5432"}} 18000000136400185c0ace0000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-004.phpt b/tests/bson-corpus/decimal128-3-valid-004.phpt index ba3c9b163..1a225e7b2 100644 --- a/tests/bson-corpus/decimal128-3-valid-004.phpt +++ b/tests/bson-corpus/decimal128-3-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364004C0000000000000000000000000040B000'); +$canonicalBson = hex2bin('180000001364004C0000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-76"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-76"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364004c0000000000000000000000000040b000 {"d":{"$numberDecimal":"-76"}} -{"d":{"$numberDecimal":"-76"}} 180000001364004c0000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-005.phpt b/tests/bson-corpus/decimal128-3-valid-005.phpt index db360cd4c..6a8552a67 100644 --- a/tests/bson-corpus/decimal128-3-valid-005.phpt +++ b/tests/bson-corpus/decimal128-3-valid-005.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000F270000000000000000000000003AB000'); +$canonicalBson = hex2bin('180000001364000F270000000000000000000000003AB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-9.999"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-9.999"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000f270000000000000000000000003ab000 {"d":{"$numberDecimal":"-9.999"}} -{"d":{"$numberDecimal":"-9.999"}} 180000001364000f270000000000000000000000003ab000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-006.phpt b/tests/bson-corpus/decimal128-3-valid-006.phpt index 6e0f3100a..982d108b2 100644 --- a/tests/bson-corpus/decimal128-3-valid-006.phpt +++ b/tests/bson-corpus/decimal128-3-valid-006.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364009F230000000000000000000000003AB000'); +$canonicalBson = hex2bin('180000001364009F230000000000000000000000003AB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-9.119"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-9.119"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364009f230000000000000000000000003ab000 {"d":{"$numberDecimal":"-9.119"}} -{"d":{"$numberDecimal":"-9.119"}} 180000001364009f230000000000000000000000003ab000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-007.phpt b/tests/bson-corpus/decimal128-3-valid-007.phpt index 2001958cd..3f51a975f 100644 --- a/tests/bson-corpus/decimal128-3-valid-007.phpt +++ b/tests/bson-corpus/decimal128-3-valid-007.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364008F030000000000000000000000003CB000'); +$canonicalBson = hex2bin('180000001364008F030000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-9.11"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-9.11"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364008f030000000000000000000000003cb000 {"d":{"$numberDecimal":"-9.11"}} -{"d":{"$numberDecimal":"-9.11"}} 180000001364008f030000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-008.phpt b/tests/bson-corpus/decimal128-3-valid-008.phpt index 1e09f12e7..853132914 100644 --- a/tests/bson-corpus/decimal128-3-valid-008.phpt +++ b/tests/bson-corpus/decimal128-3-valid-008.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364005B000000000000000000000000003EB000'); +$canonicalBson = hex2bin('180000001364005B000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-9.1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-9.1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364005b000000000000000000000000003eb000 {"d":{"$numberDecimal":"-9.1"}} -{"d":{"$numberDecimal":"-9.1"}} 180000001364005b000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-009.phpt b/tests/bson-corpus/decimal128-3-valid-009.phpt index 7a7aad79a..fb28b07cf 100644 --- a/tests/bson-corpus/decimal128-3-valid-009.phpt +++ b/tests/bson-corpus/decimal128-3-valid-009.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640099761CC7B548F377DC80A131C836FEAF00'); +$canonicalBson = hex2bin('1800000013640099761CC7B548F377DC80A131C836FEAF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.111111111111111111111111111112345"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-1.1111111111111111111111111111123450"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.1111111111111111111111111111123450"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1.111111111111111111111111111112345"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640099761cc7b548f377dc80a131c836feaf00 {"d":{"$numberDecimal":"-1.111111111111111111111111111112345"}} -{"d":{"$numberDecimal":"-1.111111111111111111111111111112345"}} -{"d":{"$numberDecimal":"-1.111111111111111111111111111112345"}} 1800000013640099761cc7b548f377dc80a131c836feaf00 1800000013640099761cc7b548f377dc80a131c836feaf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-010.phpt b/tests/bson-corpus/decimal128-3-valid-010.phpt index 13e5c1654..c31da5097 100644 --- a/tests/bson-corpus/decimal128-3-valid-010.phpt +++ b/tests/bson-corpus/decimal128-3-valid-010.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000003EB000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000003eb000 {"d":{"$numberDecimal":"-1.0"}} -{"d":{"$numberDecimal":"-1.0"}} 180000001364000a000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-011.phpt b/tests/bson-corpus/decimal128-3-valid-011.phpt index 81cd241e5..c20e60c0f 100644 --- a/tests/bson-corpus/decimal128-3-valid-011.phpt +++ b/tests/bson-corpus/decimal128-3-valid-011.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400010000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400010000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400010000000000000000000000000040b000 {"d":{"$numberDecimal":"-1"}} -{"d":{"$numberDecimal":"-1"}} 18000000136400010000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-012.phpt b/tests/bson-corpus/decimal128-3-valid-012.phpt index 9faf477be..1752a96ac 100644 --- a/tests/bson-corpus/decimal128-3-valid-012.phpt +++ b/tests/bson-corpus/decimal128-3-valid-012.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002e3000 {"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} 1800000013640000000000000000000000000000002e3000 1800000013640000000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-013.phpt b/tests/bson-corpus/decimal128-3-valid-013.phpt index 35198678c..5da6ab639 100644 --- a/tests/bson-corpus/decimal128-3-valid-013.phpt +++ b/tests/bson-corpus/decimal128-3-valid-013.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002EB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002eb000 {"d":{"$numberDecimal":"-0E-9"}} -{"d":{"$numberDecimal":"-0E-9"}} -{"d":{"$numberDecimal":"-0E-9"}} 1800000013640000000000000000000000000000002eb000 1800000013640000000000000000000000000000002eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-014.phpt b/tests/bson-corpus/decimal128-3-valid-014.phpt index 387149b95..bcb2d94fb 100644 --- a/tests/bson-corpus/decimal128-3-valid-014.phpt +++ b/tests/bson-corpus/decimal128-3-valid-014.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000303000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000303000 {"d":{"$numberDecimal":"0E-8"}} -{"d":{"$numberDecimal":"0E-8"}} -{"d":{"$numberDecimal":"0E-8"}} 180000001364000000000000000000000000000000303000 180000001364000000000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-015.phpt b/tests/bson-corpus/decimal128-3-valid-015.phpt index 07a88506a..9e2a0b86b 100644 --- a/tests/bson-corpus/decimal128-3-valid-015.phpt +++ b/tests/bson-corpus/decimal128-3-valid-015.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000030B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000030B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.00000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000030b000 {"d":{"$numberDecimal":"-0E-8"}} -{"d":{"$numberDecimal":"-0E-8"}} -{"d":{"$numberDecimal":"-0E-8"}} 18000000136400000000000000000000000000000030b000 18000000136400000000000000000000000000000030b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-016.phpt b/tests/bson-corpus/decimal128-3-valid-016.phpt index 0dd30fb23..fa7a728df 100644 --- a/tests/bson-corpus/decimal128-3-valid-016.phpt +++ b/tests/bson-corpus/decimal128-3-valid-016.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000323000 {"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} 180000001364000000000000000000000000000000323000 180000001364000000000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-017.phpt b/tests/bson-corpus/decimal128-3-valid-017.phpt index cc0841750..4c9d8c7a6 100644 --- a/tests/bson-corpus/decimal128-3-valid-017.phpt +++ b/tests/bson-corpus/decimal128-3-valid-017.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000032B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000032B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.0000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000032b000 {"d":{"$numberDecimal":"-0E-7"}} -{"d":{"$numberDecimal":"-0E-7"}} -{"d":{"$numberDecimal":"-0E-7"}} 18000000136400000000000000000000000000000032b000 18000000136400000000000000000000000000000032b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-018.phpt b/tests/bson-corpus/decimal128-3-valid-018.phpt index 999331757..ae9885c12 100644 --- a/tests/bson-corpus/decimal128-3-valid-018.phpt +++ b/tests/bson-corpus/decimal128-3-valid-018.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000343000 {"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} 180000001364000000000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-019.phpt b/tests/bson-corpus/decimal128-3-valid-019.phpt index cb9c654fe..f66948a76 100644 --- a/tests/bson-corpus/decimal128-3-valid-019.phpt +++ b/tests/bson-corpus/decimal128-3-valid-019.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000034B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000034B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000034b000 {"d":{"$numberDecimal":"-0.000000"}} -{"d":{"$numberDecimal":"-0.000000"}} 18000000136400000000000000000000000000000034b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-020.phpt b/tests/bson-corpus/decimal128-3-valid-020.phpt index fe3eecb13..e9f68136f 100644 --- a/tests/bson-corpus/decimal128-3-valid-020.phpt +++ b/tests/bson-corpus/decimal128-3-valid-020.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000363000 {"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} 180000001364000000000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-021.phpt b/tests/bson-corpus/decimal128-3-valid-021.phpt index e6f327d6d..7f555f0ac 100644 --- a/tests/bson-corpus/decimal128-3-valid-021.phpt +++ b/tests/bson-corpus/decimal128-3-valid-021.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000036B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000036B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000036b000 {"d":{"$numberDecimal":"-0.00000"}} -{"d":{"$numberDecimal":"-0.00000"}} 18000000136400000000000000000000000000000036b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-022.phpt b/tests/bson-corpus/decimal128-3-valid-022.phpt index 2a193de22..7e24801fb 100644 --- a/tests/bson-corpus/decimal128-3-valid-022.phpt +++ b/tests/bson-corpus/decimal128-3-valid-022.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "000000."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "000000."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-023.phpt b/tests/bson-corpus/decimal128-3-valid-023.phpt index 9cd3c350e..19066da00 100644 --- a/tests/bson-corpus/decimal128-3-valid-023.phpt +++ b/tests/bson-corpus/decimal128-3-valid-023.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000383000 {"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} 180000001364000000000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-024.phpt b/tests/bson-corpus/decimal128-3-valid-024.phpt index b385a24bb..2b44de50e 100644 --- a/tests/bson-corpus/decimal128-3-valid-024.phpt +++ b/tests/bson-corpus/decimal128-3-valid-024.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000038b000 {"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} 18000000136400000000000000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-025.phpt b/tests/bson-corpus/decimal128-3-valid-025.phpt index fcb2077ad..3c615954c 100644 --- a/tests/bson-corpus/decimal128-3-valid-025.phpt +++ b/tests/bson-corpus/decimal128-3-valid-025.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "00000."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "00000."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-026.phpt b/tests/bson-corpus/decimal128-3-valid-026.phpt index 3f5c46465..64ab3a94c 100644 --- a/tests/bson-corpus/decimal128-3-valid-026.phpt +++ b/tests/bson-corpus/decimal128-3-valid-026.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+00000."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+00000."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-027.phpt b/tests/bson-corpus/decimal128-3-valid-027.phpt index afe58f0e0..e6a30e865 100644 --- a/tests/bson-corpus/decimal128-3-valid-027.phpt +++ b/tests/bson-corpus/decimal128-3-valid-027.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-00000."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-00000."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000040b000 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} 18000000136400000000000000000000000000000040b000 18000000136400000000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-028.phpt b/tests/bson-corpus/decimal128-3-valid-028.phpt index 31b686f6b..a79b0d3fa 100644 --- a/tests/bson-corpus/decimal128-3-valid-028.phpt +++ b/tests/bson-corpus/decimal128-3-valid-028.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-00.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-00.00"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003cb000 {"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} 1800000013640000000000000000000000000000003cb000 1800000013640000000000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-029.phpt b/tests/bson-corpus/decimal128-3-valid-029.phpt index 307a1cf97..821cd5658 100644 --- a/tests/bson-corpus/decimal128-3-valid-029.phpt +++ b/tests/bson-corpus/decimal128-3-valid-029.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} 1800000013640000000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-030.phpt b/tests/bson-corpus/decimal128-3-valid-030.phpt index 55e357363..df22494df 100644 --- a/tests/bson-corpus/decimal128-3-valid-030.phpt +++ b/tests/bson-corpus/decimal128-3-valid-030.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003AB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003AB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003ab000 {"d":{"$numberDecimal":"-0.000"}} -{"d":{"$numberDecimal":"-0.000"}} 1800000013640000000000000000000000000000003ab000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-031.phpt b/tests/bson-corpus/decimal128-3-valid-031.phpt index 7a5a64bd9..f6a90ee06 100644 --- a/tests/bson-corpus/decimal128-3-valid-031.phpt +++ b/tests/bson-corpus/decimal128-3-valid-031.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0000."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0000."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-032.phpt b/tests/bson-corpus/decimal128-3-valid-032.phpt index d53ba44f2..c766cbe9c 100644 --- a/tests/bson-corpus/decimal128-3-valid-032.phpt +++ b/tests/bson-corpus/decimal128-3-valid-032.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000e+0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000e+0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} 1800000013640000000000000000000000000000003a3000 1800000013640000000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-033.phpt b/tests/bson-corpus/decimal128-3-valid-033.phpt index 6f4196d84..55865ab10 100644 --- a/tests/bson-corpus/decimal128-3-valid-033.phpt +++ b/tests/bson-corpus/decimal128-3-valid-033.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000383000 {"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} 180000001364000000000000000000000000000000383000 180000001364000000000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-034.phpt b/tests/bson-corpus/decimal128-3-valid-034.phpt index d08ff6100..27ce3a155 100644 --- a/tests/bson-corpus/decimal128-3-valid-034.phpt +++ b/tests/bson-corpus/decimal128-3-valid-034.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000038b000 {"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} 18000000136400000000000000000000000000000038b000 18000000136400000000000000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-035.phpt b/tests/bson-corpus/decimal128-3-valid-035.phpt index c03313907..c525caedb 100644 --- a/tests/bson-corpus/decimal128-3-valid-035.phpt +++ b/tests/bson-corpus/decimal128-3-valid-035.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000363000 {"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} 180000001364000000000000000000000000000000363000 180000001364000000000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-036.phpt b/tests/bson-corpus/decimal128-3-valid-036.phpt index 7bfa8fa1f..fd7199946 100644 --- a/tests/bson-corpus/decimal128-3-valid-036.phpt +++ b/tests/bson-corpus/decimal128-3-valid-036.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000036B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000036B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.00000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000036b000 {"d":{"$numberDecimal":"-0.00000"}} -{"d":{"$numberDecimal":"-0.00000"}} -{"d":{"$numberDecimal":"-0.00000"}} 18000000136400000000000000000000000000000036b000 18000000136400000000000000000000000000000036b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-037.phpt b/tests/bson-corpus/decimal128-3-valid-037.phpt index ae1627157..c536692d0 100644 --- a/tests/bson-corpus/decimal128-3-valid-037.phpt +++ b/tests/bson-corpus/decimal128-3-valid-037.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000343000 {"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} 180000001364000000000000000000000000000000343000 180000001364000000000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-038.phpt b/tests/bson-corpus/decimal128-3-valid-038.phpt index 7b2dd6c8f..9bd6116cd 100644 --- a/tests/bson-corpus/decimal128-3-valid-038.phpt +++ b/tests/bson-corpus/decimal128-3-valid-038.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000034B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000034B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.000000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.000000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000034b000 {"d":{"$numberDecimal":"-0.000000"}} -{"d":{"$numberDecimal":"-0.000000"}} -{"d":{"$numberDecimal":"-0.000000"}} 18000000136400000000000000000000000000000034b000 18000000136400000000000000000000000000000034b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-039.phpt b/tests/bson-corpus/decimal128-3-valid-039.phpt index e68285137..c1899424e 100644 --- a/tests/bson-corpus/decimal128-3-valid-039.phpt +++ b/tests/bson-corpus/decimal128-3-valid-039.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000323000 {"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} 180000001364000000000000000000000000000000323000 180000001364000000000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-040.phpt b/tests/bson-corpus/decimal128-3-valid-040.phpt index 3471e597c..7107d6163 100644 --- a/tests/bson-corpus/decimal128-3-valid-040.phpt +++ b/tests/bson-corpus/decimal128-3-valid-040.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000032B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000032B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000032b000 {"d":{"$numberDecimal":"-0E-7"}} -{"d":{"$numberDecimal":"-0E-7"}} -{"d":{"$numberDecimal":"-0E-7"}} 18000000136400000000000000000000000000000032b000 18000000136400000000000000000000000000000032b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-041.phpt b/tests/bson-corpus/decimal128-3-valid-041.phpt index 8bbf304a9..3a88db456 100644 --- a/tests/bson-corpus/decimal128-3-valid-041.phpt +++ b/tests/bson-corpus/decimal128-3-valid-041.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} 1800000013640000000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-042.phpt b/tests/bson-corpus/decimal128-3-valid-042.phpt index 5ab98557a..3a357d22f 100644 --- a/tests/bson-corpus/decimal128-3-valid-042.phpt +++ b/tests/bson-corpus/decimal128-3-valid-042.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003cb000 {"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} 1800000013640000000000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-043.phpt b/tests/bson-corpus/decimal128-3-valid-043.phpt index 3faae3fea..63df3f396 100644 --- a/tests/bson-corpus/decimal128-3-valid-043.phpt +++ b/tests/bson-corpus/decimal128-3-valid-043.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "000."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "000."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-044.phpt b/tests/bson-corpus/decimal128-3-valid-044.phpt index 4074ac98c..9ca20a609 100644 --- a/tests/bson-corpus/decimal128-3-valid-044.phpt +++ b/tests/bson-corpus/decimal128-3-valid-044.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} 1800000013640000000000000000000000000000003c3000 1800000013640000000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-045.phpt b/tests/bson-corpus/decimal128-3-valid-045.phpt index 71034b53d..31b67045f 100644 --- a/tests/bson-corpus/decimal128-3-valid-045.phpt +++ b/tests/bson-corpus/decimal128-3-valid-045.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} 1800000013640000000000000000000000000000003c3000 1800000013640000000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-046.phpt b/tests/bson-corpus/decimal128-3-valid-046.phpt index 2d15e3e0a..9f9f737eb 100644 --- a/tests/bson-corpus/decimal128-3-valid-046.phpt +++ b/tests/bson-corpus/decimal128-3-valid-046.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} 1800000013640000000000000000000000000000003e3000 1800000013640000000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-047.phpt b/tests/bson-corpus/decimal128-3-valid-047.phpt index 395e3f80a..a24cf3660 100644 --- a/tests/bson-corpus/decimal128-3-valid-047.phpt +++ b/tests/bson-corpus/decimal128-3-valid-047.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} 1800000013640000000000000000000000000000003a3000 1800000013640000000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-048.phpt b/tests/bson-corpus/decimal128-3-valid-048.phpt index 70c6138e1..89f2c1534 100644 --- a/tests/bson-corpus/decimal128-3-valid-048.phpt +++ b/tests/bson-corpus/decimal128-3-valid-048.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000383000 {"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} 180000001364000000000000000000000000000000383000 180000001364000000000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-049.phpt b/tests/bson-corpus/decimal128-3-valid-049.phpt index 44ebd0219..f10128743 100644 --- a/tests/bson-corpus/decimal128-3-valid-049.phpt +++ b/tests/bson-corpus/decimal128-3-valid-049.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.00E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000038b000 {"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} 18000000136400000000000000000000000000000038b000 18000000136400000000000000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-050.phpt b/tests/bson-corpus/decimal128-3-valid-050.phpt index 98d3c1e02..12123e4db 100644 --- a/tests/bson-corpus/decimal128-3-valid-050.phpt +++ b/tests/bson-corpus/decimal128-3-valid-050.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-051.phpt b/tests/bson-corpus/decimal128-3-valid-051.phpt index 1716dcec3..5f0f50d25 100644 --- a/tests/bson-corpus/decimal128-3-valid-051.phpt +++ b/tests/bson-corpus/decimal128-3-valid-051.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000383000 {"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} 180000001364000000000000000000000000000000383000 180000001364000000000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-052.phpt b/tests/bson-corpus/decimal128-3-valid-052.phpt index 48ba1b6a0..6bdeda1e0 100644 --- a/tests/bson-corpus/decimal128-3-valid-052.phpt +++ b/tests/bson-corpus/decimal128-3-valid-052.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000363000 {"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} 180000001364000000000000000000000000000000363000 180000001364000000000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-053.phpt b/tests/bson-corpus/decimal128-3-valid-053.phpt index f7ad0c1e5..91529833b 100644 --- a/tests/bson-corpus/decimal128-3-valid-053.phpt +++ b/tests/bson-corpus/decimal128-3-valid-053.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000036B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000036B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.00E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.00000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000036b000 {"d":{"$numberDecimal":"-0.00000"}} -{"d":{"$numberDecimal":"-0.00000"}} -{"d":{"$numberDecimal":"-0.00000"}} 18000000136400000000000000000000000000000036b000 18000000136400000000000000000000000000000036b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-054.phpt b/tests/bson-corpus/decimal128-3-valid-054.phpt index d08d939ca..503843b45 100644 --- a/tests/bson-corpus/decimal128-3-valid-054.phpt +++ b/tests/bson-corpus/decimal128-3-valid-054.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+1"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+1"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000423000 {"d":{"$numberDecimal":"0E+1"}} -{"d":{"$numberDecimal":"0E+1"}} -{"d":{"$numberDecimal":"0E+1"}} 180000001364000000000000000000000000000000423000 180000001364000000000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-055.phpt b/tests/bson-corpus/decimal128-3-valid-055.phpt index f819b4ab1..57edc1463 100644 --- a/tests/bson-corpus/decimal128-3-valid-055.phpt +++ b/tests/bson-corpus/decimal128-3-valid-055.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000363000 {"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} 180000001364000000000000000000000000000000363000 180000001364000000000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-056.phpt b/tests/bson-corpus/decimal128-3-valid-056.phpt index e6648219f..a66f29f53 100644 --- a/tests/bson-corpus/decimal128-3-valid-056.phpt +++ b/tests/bson-corpus/decimal128-3-valid-056.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000343000 {"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} 180000001364000000000000000000000000000000343000 180000001364000000000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-057.phpt b/tests/bson-corpus/decimal128-3-valid-057.phpt index 4b406310e..94139651e 100644 --- a/tests/bson-corpus/decimal128-3-valid-057.phpt +++ b/tests/bson-corpus/decimal128-3-valid-057.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000343000 {"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} 180000001364000000000000000000000000000000343000 180000001364000000000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-058.phpt b/tests/bson-corpus/decimal128-3-valid-058.phpt index b122e2035..c84579c7e 100644 --- a/tests/bson-corpus/decimal128-3-valid-058.phpt +++ b/tests/bson-corpus/decimal128-3-valid-058.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000443000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+2"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+2"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000443000 {"d":{"$numberDecimal":"0E+2"}} -{"d":{"$numberDecimal":"0E+2"}} -{"d":{"$numberDecimal":"0E+2"}} 180000001364000000000000000000000000000000443000 180000001364000000000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-059.phpt b/tests/bson-corpus/decimal128-3-valid-059.phpt index 0cade7576..de099ac68 100644 --- a/tests/bson-corpus/decimal128-3-valid-059.phpt +++ b/tests/bson-corpus/decimal128-3-valid-059.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000323000 {"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} 180000001364000000000000000000000000000000323000 180000001364000000000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-060.phpt b/tests/bson-corpus/decimal128-3-valid-060.phpt index 690480795..5b4da3a70 100644 --- a/tests/bson-corpus/decimal128-3-valid-060.phpt +++ b/tests/bson-corpus/decimal128-3-valid-060.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000463000 {"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} 180000001364000000000000000000000000000000463000 180000001364000000000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-061.phpt b/tests/bson-corpus/decimal128-3-valid-061.phpt index 84b253b7d..168471a90 100644 --- a/tests/bson-corpus/decimal128-3-valid-061.phpt +++ b/tests/bson-corpus/decimal128-3-valid-061.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000323000 {"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} 180000001364000000000000000000000000000000323000 180000001364000000000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-062.phpt b/tests/bson-corpus/decimal128-3-valid-062.phpt index c48469d51..9a1aa70cb 100644 --- a/tests/bson-corpus/decimal128-3-valid-062.phpt +++ b/tests/bson-corpus/decimal128-3-valid-062.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000483000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000483000 {"d":{"$numberDecimal":"0E+4"}} -{"d":{"$numberDecimal":"0E+4"}} -{"d":{"$numberDecimal":"0E+4"}} 180000001364000000000000000000000000000000483000 180000001364000000000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-063.phpt b/tests/bson-corpus/decimal128-3-valid-063.phpt index 8b0bb66c3..ed8383acd 100644 --- a/tests/bson-corpus/decimal128-3-valid-063.phpt +++ b/tests/bson-corpus/decimal128-3-valid-063.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000303000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000303000 {"d":{"$numberDecimal":"0E-8"}} -{"d":{"$numberDecimal":"0E-8"}} -{"d":{"$numberDecimal":"0E-8"}} 180000001364000000000000000000000000000000303000 180000001364000000000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-064.phpt b/tests/bson-corpus/decimal128-3-valid-064.phpt index efddf944c..11ee5c993 100644 --- a/tests/bson-corpus/decimal128-3-valid-064.phpt +++ b/tests/bson-corpus/decimal128-3-valid-064.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004a3000 {"d":{"$numberDecimal":"0E+5"}} -{"d":{"$numberDecimal":"0E+5"}} -{"d":{"$numberDecimal":"0E+5"}} 1800000013640000000000000000000000000000004a3000 1800000013640000000000000000000000000000004a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-065.phpt b/tests/bson-corpus/decimal128-3-valid-065.phpt index 2fe6cf4fb..84185ca49 100644 --- a/tests/bson-corpus/decimal128-3-valid-065.phpt +++ b/tests/bson-corpus/decimal128-3-valid-065.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002e3000 {"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} 1800000013640000000000000000000000000000002e3000 1800000013640000000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-066.phpt b/tests/bson-corpus/decimal128-3-valid-066.phpt index 723935a7d..b3337aba0 100644 --- a/tests/bson-corpus/decimal128-3-valid-066.phpt +++ b/tests/bson-corpus/decimal128-3-valid-066.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+6"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004c3000 {"d":{"$numberDecimal":"0E+6"}} -{"d":{"$numberDecimal":"0E+6"}} -{"d":{"$numberDecimal":"0E+6"}} 1800000013640000000000000000000000000000004c3000 1800000013640000000000000000000000000000004c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-067.phpt b/tests/bson-corpus/decimal128-3-valid-067.phpt index 96b63335f..5669820ce 100644 --- a/tests/bson-corpus/decimal128-3-valid-067.phpt +++ b/tests/bson-corpus/decimal128-3-valid-067.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002c3000 {"d":{"$numberDecimal":"0E-10"}} -{"d":{"$numberDecimal":"0E-10"}} -{"d":{"$numberDecimal":"0E-10"}} 1800000013640000000000000000000000000000002c3000 1800000013640000000000000000000000000000002c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-068.phpt b/tests/bson-corpus/decimal128-3-valid-068.phpt index 4412ee393..ad22eaeb1 100644 --- a/tests/bson-corpus/decimal128-3-valid-068.phpt +++ b/tests/bson-corpus/decimal128-3-valid-068.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "000E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "000E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000523000 {"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} 180000001364000000000000000000000000000000523000 180000001364000000000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-069.phpt b/tests/bson-corpus/decimal128-3-valid-069.phpt index 5b31622b9..f65eb577f 100644 --- a/tests/bson-corpus/decimal128-3-valid-069.phpt +++ b/tests/bson-corpus/decimal128-3-valid-069.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004e3000 {"d":{"$numberDecimal":"0E+7"}} -{"d":{"$numberDecimal":"0E+7"}} -{"d":{"$numberDecimal":"0E+7"}} 1800000013640000000000000000000000000000004e3000 1800000013640000000000000000000000000000004e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-070.phpt b/tests/bson-corpus/decimal128-3-valid-070.phpt index 8d12b354b..bb31a01cb 100644 --- a/tests/bson-corpus/decimal128-3-valid-070.phpt +++ b/tests/bson-corpus/decimal128-3-valid-070.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00E-9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00E-9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002a3000 {"d":{"$numberDecimal":"0E-11"}} -{"d":{"$numberDecimal":"0E-11"}} -{"d":{"$numberDecimal":"0E-11"}} 1800000013640000000000000000000000000000002a3000 1800000013640000000000000000000000000000002a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-071.phpt b/tests/bson-corpus/decimal128-3-valid-071.phpt index 35a5c4853..2b92676d0 100644 --- a/tests/bson-corpus/decimal128-3-valid-071.phpt +++ b/tests/bson-corpus/decimal128-3-valid-071.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+00345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+00345678.5432"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400185c0ace00000000000000000000383000 {"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} 18000000136400185c0ace00000000000000000000383000 18000000136400185c0ace00000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-072.phpt b/tests/bson-corpus/decimal128-3-valid-072.phpt index 2b7a4594b..0a4978786 100644 --- a/tests/bson-corpus/decimal128-3-valid-072.phpt +++ b/tests/bson-corpus/decimal128-3-valid-072.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003eb000 {"d":{"$numberDecimal":"-0.0"}} -{"d":{"$numberDecimal":"-0.0"}} 1800000013640000000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-073.phpt b/tests/bson-corpus/decimal128-3-valid-073.phpt index 79d62677b..d237ab8b2 100644 --- a/tests/bson-corpus/decimal128-3-valid-073.phpt +++ b/tests/bson-corpus/decimal128-3-valid-073.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} 1800000013640000000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-074.phpt b/tests/bson-corpus/decimal128-3-valid-074.phpt index ea7a72198..324e451dd 100644 --- a/tests/bson-corpus/decimal128-3-valid-074.phpt +++ b/tests/bson-corpus/decimal128-3-valid-074.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003eb000 {"d":{"$numberDecimal":"-0.0"}} -{"d":{"$numberDecimal":"-0.0"}} 1800000013640000000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-075.phpt b/tests/bson-corpus/decimal128-3-valid-075.phpt index 58cbc2583..ca90f4e9f 100644 --- a/tests/bson-corpus/decimal128-3-valid-075.phpt +++ b/tests/bson-corpus/decimal128-3-valid-075.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "00."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "00."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-076.phpt b/tests/bson-corpus/decimal128-3-valid-076.phpt index 02eea7fd2..d33bf92eb 100644 --- a/tests/bson-corpus/decimal128-3-valid-076.phpt +++ b/tests/bson-corpus/decimal128-3-valid-076.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} 1800000013640000000000000000000000000000003e3000 1800000013640000000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-077.phpt b/tests/bson-corpus/decimal128-3-valid-077.phpt index 184e1310b..0c81762bb 100644 --- a/tests/bson-corpus/decimal128-3-valid-077.phpt +++ b/tests/bson-corpus/decimal128-3-valid-077.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} 1800000013640000000000000000000000000000003e3000 1800000013640000000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-078.phpt b/tests/bson-corpus/decimal128-3-valid-078.phpt index 48c81595d..10600446d 100644 --- a/tests/bson-corpus/decimal128-3-valid-078.phpt +++ b/tests/bson-corpus/decimal128-3-valid-078.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-079.phpt b/tests/bson-corpus/decimal128-3-valid-079.phpt index 40c42a263..d2c523da5 100644 --- a/tests/bson-corpus/decimal128-3-valid-079.phpt +++ b/tests/bson-corpus/decimal128-3-valid-079.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} -{"d":{"$numberDecimal":"0.00"}} 1800000013640000000000000000000000000000003c3000 1800000013640000000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-080.phpt b/tests/bson-corpus/decimal128-3-valid-080.phpt index 4f12660e2..52b76add8 100644 --- a/tests/bson-corpus/decimal128-3-valid-080.phpt +++ b/tests/bson-corpus/decimal128-3-valid-080.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003AB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003AB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.0E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003ab000 {"d":{"$numberDecimal":"-0.000"}} -{"d":{"$numberDecimal":"-0.000"}} -{"d":{"$numberDecimal":"-0.000"}} 1800000013640000000000000000000000000000003ab000 1800000013640000000000000000000000000000003ab000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-081.phpt b/tests/bson-corpus/decimal128-3-valid-081.phpt index ace13aa6d..2d49822ce 100644 --- a/tests/bson-corpus/decimal128-3-valid-081.phpt +++ b/tests/bson-corpus/decimal128-3-valid-081.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+1"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+1"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000423000 {"d":{"$numberDecimal":"0E+1"}} -{"d":{"$numberDecimal":"0E+1"}} -{"d":{"$numberDecimal":"0E+1"}} 180000001364000000000000000000000000000000423000 180000001364000000000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-082.phpt b/tests/bson-corpus/decimal128-3-valid-082.phpt index 00425d5a7..c7c55f7fb 100644 --- a/tests/bson-corpus/decimal128-3-valid-082.phpt +++ b/tests/bson-corpus/decimal128-3-valid-082.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} -{"d":{"$numberDecimal":"0.000"}} 1800000013640000000000000000000000000000003a3000 1800000013640000000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-083.phpt b/tests/bson-corpus/decimal128-3-valid-083.phpt index b34fed6f3..ef53f9317 100644 --- a/tests/bson-corpus/decimal128-3-valid-083.phpt +++ b/tests/bson-corpus/decimal128-3-valid-083.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000038B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.0E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.0E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000038b000 {"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} -{"d":{"$numberDecimal":"-0.0000"}} 18000000136400000000000000000000000000000038b000 18000000136400000000000000000000000000000038b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-084.phpt b/tests/bson-corpus/decimal128-3-valid-084.phpt index 7c42d8b0c..c99af73b6 100644 --- a/tests/bson-corpus/decimal128-3-valid-084.phpt +++ b/tests/bson-corpus/decimal128-3-valid-084.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000443000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+2"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+2"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000443000 {"d":{"$numberDecimal":"0E+2"}} -{"d":{"$numberDecimal":"0E+2"}} -{"d":{"$numberDecimal":"0E+2"}} 180000001364000000000000000000000000000000443000 180000001364000000000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-085.phpt b/tests/bson-corpus/decimal128-3-valid-085.phpt index 16b925f96..12b746d6f 100644 --- a/tests/bson-corpus/decimal128-3-valid-085.phpt +++ b/tests/bson-corpus/decimal128-3-valid-085.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000383000 {"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} -{"d":{"$numberDecimal":"0.0000"}} 180000001364000000000000000000000000000000383000 180000001364000000000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-086.phpt b/tests/bson-corpus/decimal128-3-valid-086.phpt index 29b51b810..d49122859 100644 --- a/tests/bson-corpus/decimal128-3-valid-086.phpt +++ b/tests/bson-corpus/decimal128-3-valid-086.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000463000 {"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} 180000001364000000000000000000000000000000463000 180000001364000000000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-087.phpt b/tests/bson-corpus/decimal128-3-valid-087.phpt index 2593c944f..f8cae7498 100644 --- a/tests/bson-corpus/decimal128-3-valid-087.phpt +++ b/tests/bson-corpus/decimal128-3-valid-087.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000363000 {"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} -{"d":{"$numberDecimal":"0.00000"}} 180000001364000000000000000000000000000000363000 180000001364000000000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-088.phpt b/tests/bson-corpus/decimal128-3-valid-088.phpt index 5c7280e43..211472fe7 100644 --- a/tests/bson-corpus/decimal128-3-valid-088.phpt +++ b/tests/bson-corpus/decimal128-3-valid-088.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000483000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000483000 {"d":{"$numberDecimal":"0E+4"}} -{"d":{"$numberDecimal":"0E+4"}} -{"d":{"$numberDecimal":"0E+4"}} 180000001364000000000000000000000000000000483000 180000001364000000000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-089.phpt b/tests/bson-corpus/decimal128-3-valid-089.phpt index 88b403499..d2a1a99bf 100644 --- a/tests/bson-corpus/decimal128-3-valid-089.phpt +++ b/tests/bson-corpus/decimal128-3-valid-089.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000343000 {"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} -{"d":{"$numberDecimal":"0.000000"}} 180000001364000000000000000000000000000000343000 180000001364000000000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-090.phpt b/tests/bson-corpus/decimal128-3-valid-090.phpt index 36fb48c98..fc3174f27 100644 --- a/tests/bson-corpus/decimal128-3-valid-090.phpt +++ b/tests/bson-corpus/decimal128-3-valid-090.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004a3000 {"d":{"$numberDecimal":"0E+5"}} -{"d":{"$numberDecimal":"0E+5"}} -{"d":{"$numberDecimal":"0E+5"}} 1800000013640000000000000000000000000000004a3000 1800000013640000000000000000000000000000004a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-091.phpt b/tests/bson-corpus/decimal128-3-valid-091.phpt index acc086101..678660cab 100644 --- a/tests/bson-corpus/decimal128-3-valid-091.phpt +++ b/tests/bson-corpus/decimal128-3-valid-091.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000323000 {"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} -{"d":{"$numberDecimal":"0E-7"}} 180000001364000000000000000000000000000000323000 180000001364000000000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-092.phpt b/tests/bson-corpus/decimal128-3-valid-092.phpt index cbb6a9e2d..42891fd0b 100644 --- a/tests/bson-corpus/decimal128-3-valid-092.phpt +++ b/tests/bson-corpus/decimal128-3-valid-092.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+6"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004c3000 {"d":{"$numberDecimal":"0E+6"}} -{"d":{"$numberDecimal":"0E+6"}} -{"d":{"$numberDecimal":"0E+6"}} 1800000013640000000000000000000000000000004c3000 1800000013640000000000000000000000000000004c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-093.phpt b/tests/bson-corpus/decimal128-3-valid-093.phpt index 411983d89..586b60344 100644 --- a/tests/bson-corpus/decimal128-3-valid-093.phpt +++ b/tests/bson-corpus/decimal128-3-valid-093.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000303000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000303000 {"d":{"$numberDecimal":"0E-8"}} -{"d":{"$numberDecimal":"0E-8"}} -{"d":{"$numberDecimal":"0E-8"}} 180000001364000000000000000000000000000000303000 180000001364000000000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-094.phpt b/tests/bson-corpus/decimal128-3-valid-094.phpt index f2357ff53..8cc212525 100644 --- a/tests/bson-corpus/decimal128-3-valid-094.phpt +++ b/tests/bson-corpus/decimal128-3-valid-094.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004e3000 {"d":{"$numberDecimal":"0E+7"}} -{"d":{"$numberDecimal":"0E+7"}} -{"d":{"$numberDecimal":"0E+7"}} 1800000013640000000000000000000000000000004e3000 1800000013640000000000000000000000000000004e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-095.phpt b/tests/bson-corpus/decimal128-3-valid-095.phpt index 248b2ab80..f409cf2a9 100644 --- a/tests/bson-corpus/decimal128-3-valid-095.phpt +++ b/tests/bson-corpus/decimal128-3-valid-095.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002e3000 {"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} 1800000013640000000000000000000000000000002e3000 1800000013640000000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-096.phpt b/tests/bson-corpus/decimal128-3-valid-096.phpt index 877a59c12..aa31c7408 100644 --- a/tests/bson-corpus/decimal128-3-valid-096.phpt +++ b/tests/bson-corpus/decimal128-3-valid-096.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "00E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "00E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000523000 {"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} 180000001364000000000000000000000000000000523000 180000001364000000000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-097.phpt b/tests/bson-corpus/decimal128-3-valid-097.phpt index 42ade62a9..ee3d64ce2 100644 --- a/tests/bson-corpus/decimal128-3-valid-097.phpt +++ b/tests/bson-corpus/decimal128-3-valid-097.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "00E-9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "00E-9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002e3000 {"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} -{"d":{"$numberDecimal":"0E-9"}} 1800000013640000000000000000000000000000002e3000 1800000013640000000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-098.phpt b/tests/bson-corpus/decimal128-3-valid-098.phpt index 0963c9046..be13d3f0f 100644 --- a/tests/bson-corpus/decimal128-3-valid-098.phpt +++ b/tests/bson-corpus/decimal128-3-valid-098.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000503000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000503000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000503000 {"d":{"$numberDecimal":"0E+8"}} -{"d":{"$numberDecimal":"0E+8"}} -{"d":{"$numberDecimal":"0E+8"}} 180000001364000000000000000000000000000000503000 180000001364000000000000000000000000000000503000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-099.phpt b/tests/bson-corpus/decimal128-3-valid-099.phpt index 6c894a485..71ca24057 100644 --- a/tests/bson-corpus/decimal128-3-valid-099.phpt +++ b/tests/bson-corpus/decimal128-3-valid-099.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000002C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000002C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0E-9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0E-9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000002c3000 {"d":{"$numberDecimal":"0E-10"}} -{"d":{"$numberDecimal":"0E-10"}} -{"d":{"$numberDecimal":"0E-10"}} 1800000013640000000000000000000000000000002c3000 1800000013640000000000000000000000000000002c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-100.phpt b/tests/bson-corpus/decimal128-3-valid-100.phpt index 0d2f9987c..a64febc5b 100644 --- a/tests/bson-corpus/decimal128-3-valid-100.phpt +++ b/tests/bson-corpus/decimal128-3-valid-100.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+0345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+0345678.5432"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400185c0ace00000000000000000000383000 {"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} 18000000136400185c0ace00000000000000000000383000 18000000136400185c0ace00000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-101.phpt b/tests/bson-corpus/decimal128-3-valid-101.phpt index 18f29bb05..45b545088 100644 --- a/tests/bson-corpus/decimal128-3-valid-101.phpt +++ b/tests/bson-corpus/decimal128-3-valid-101.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-102.phpt b/tests/bson-corpus/decimal128-3-valid-102.phpt index eac9545d8..ca44d6b3c 100644 --- a/tests/bson-corpus/decimal128-3-valid-102.phpt +++ b/tests/bson-corpus/decimal128-3-valid-102.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000040b000 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} 18000000136400000000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-103.phpt b/tests/bson-corpus/decimal128-3-valid-103.phpt index c13a7d4e4..0c01b66a1 100644 --- a/tests/bson-corpus/decimal128-3-valid-103.phpt +++ b/tests/bson-corpus/decimal128-3-valid-103.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-104.phpt b/tests/bson-corpus/decimal128-3-valid-104.phpt index c333d170b..6da6a3ac9 100644 --- a/tests/bson-corpus/decimal128-3-valid-104.phpt +++ b/tests/bson-corpus/decimal128-3-valid-104.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000040b000 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} 18000000136400000000000000000000000000000040b000 18000000136400000000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-105.phpt b/tests/bson-corpus/decimal128-3-valid-105.phpt index 52a595a39..affe12baf 100644 --- a/tests/bson-corpus/decimal128-3-valid-105.phpt +++ b/tests/bson-corpus/decimal128-3-valid-105.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-106.phpt b/tests/bson-corpus/decimal128-3-valid-106.phpt index b8207c7b1..52d12370c 100644 --- a/tests/bson-corpus/decimal128-3-valid-106.phpt +++ b/tests/bson-corpus/decimal128-3-valid-106.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+0."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+0."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-107.phpt b/tests/bson-corpus/decimal128-3-valid-107.phpt index fbd3a928e..59fa292cc 100644 --- a/tests/bson-corpus/decimal128-3-valid-107.phpt +++ b/tests/bson-corpus/decimal128-3-valid-107.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000040B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000040b000 {"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} -{"d":{"$numberDecimal":"-0"}} 18000000136400000000000000000000000000000040b000 18000000136400000000000000000000000000000040b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-108.phpt b/tests/bson-corpus/decimal128-3-valid-108.phpt index 7fea9226b..47e07c595 100644 --- a/tests/bson-corpus/decimal128-3-valid-108.phpt +++ b/tests/bson-corpus/decimal128-3-valid-108.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E+0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000403000 {"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} -{"d":{"$numberDecimal":"0"}} 180000001364000000000000000000000000000000403000 180000001364000000000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-109.phpt b/tests/bson-corpus/decimal128-3-valid-109.phpt index b6b58b66f..680d2f247 100644 --- a/tests/bson-corpus/decimal128-3-valid-109.phpt +++ b/tests/bson-corpus/decimal128-3-valid-109.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000423000 {"d":{"$numberDecimal":"0E+1"}} -{"d":{"$numberDecimal":"0E+1"}} 180000001364000000000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-110.phpt b/tests/bson-corpus/decimal128-3-valid-110.phpt index 5dfcd7bc9..2c6d2fa7b 100644 --- a/tests/bson-corpus/decimal128-3-valid-110.phpt +++ b/tests/bson-corpus/decimal128-3-valid-110.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003CB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.00"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003cb000 {"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} -{"d":{"$numberDecimal":"-0.00"}} 1800000013640000000000000000000000000000003cb000 1800000013640000000000000000000000000000003cb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-111.phpt b/tests/bson-corpus/decimal128-3-valid-111.phpt index a96916e75..ac61e3e86 100644 --- a/tests/bson-corpus/decimal128-3-valid-111.phpt +++ b/tests/bson-corpus/decimal128-3-valid-111.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000443000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+2"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000443000 {"d":{"$numberDecimal":"0E+2"}} -{"d":{"$numberDecimal":"0E+2"}} 180000001364000000000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-112.phpt b/tests/bson-corpus/decimal128-3-valid-112.phpt index dcd2ad036..78c921459 100644 --- a/tests/bson-corpus/decimal128-3-valid-112.phpt +++ b/tests/bson-corpus/decimal128-3-valid-112.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003AB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003AB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003ab000 {"d":{"$numberDecimal":"-0.000"}} -{"d":{"$numberDecimal":"-0.000"}} -{"d":{"$numberDecimal":"-0.000"}} 1800000013640000000000000000000000000000003ab000 1800000013640000000000000000000000000000003ab000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-113.phpt b/tests/bson-corpus/decimal128-3-valid-113.phpt index 5c109ecc2..79b095674 100644 --- a/tests/bson-corpus/decimal128-3-valid-113.phpt +++ b/tests/bson-corpus/decimal128-3-valid-113.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+3"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000463000 {"d":{"$numberDecimal":"0E+3"}} -{"d":{"$numberDecimal":"0E+3"}} 180000001364000000000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-114.phpt b/tests/bson-corpus/decimal128-3-valid-114.phpt index 130dfe5c1..18156ceeb 100644 --- a/tests/bson-corpus/decimal128-3-valid-114.phpt +++ b/tests/bson-corpus/decimal128-3-valid-114.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000483000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+4"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000483000 {"d":{"$numberDecimal":"0E+4"}} -{"d":{"$numberDecimal":"0E+4"}} 180000001364000000000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-115.phpt b/tests/bson-corpus/decimal128-3-valid-115.phpt index 8967ef30f..eed3e8892 100644 --- a/tests/bson-corpus/decimal128-3-valid-115.phpt +++ b/tests/bson-corpus/decimal128-3-valid-115.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004A3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+5"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004a3000 {"d":{"$numberDecimal":"0E+5"}} -{"d":{"$numberDecimal":"0E+5"}} 1800000013640000000000000000000000000000004a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-116.phpt b/tests/bson-corpus/decimal128-3-valid-116.phpt index 4f1c9fa9f..6abc49ac1 100644 --- a/tests/bson-corpus/decimal128-3-valid-116.phpt +++ b/tests/bson-corpus/decimal128-3-valid-116.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004C3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+6"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004c3000 {"d":{"$numberDecimal":"0E+6"}} -{"d":{"$numberDecimal":"0E+6"}} 1800000013640000000000000000000000000000004c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-117.phpt b/tests/bson-corpus/decimal128-3-valid-117.phpt index 04cf732b2..8362c164b 100644 --- a/tests/bson-corpus/decimal128-3-valid-117.phpt +++ b/tests/bson-corpus/decimal128-3-valid-117.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000004E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000004E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+7"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000004e3000 {"d":{"$numberDecimal":"0E+7"}} -{"d":{"$numberDecimal":"0E+7"}} 1800000013640000000000000000000000000000004e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-118.phpt b/tests/bson-corpus/decimal128-3-valid-118.phpt index 8f8e8fb3a..95c78eb41 100644 --- a/tests/bson-corpus/decimal128-3-valid-118.phpt +++ b/tests/bson-corpus/decimal128-3-valid-118.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000503000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000503000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+8"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000503000 {"d":{"$numberDecimal":"0E+8"}} -{"d":{"$numberDecimal":"0E+8"}} 180000001364000000000000000000000000000000503000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-119.phpt b/tests/bson-corpus/decimal128-3-valid-119.phpt index 5248e4bf3..fec7d5153 100644 --- a/tests/bson-corpus/decimal128-3-valid-119.phpt +++ b/tests/bson-corpus/decimal128-3-valid-119.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+0E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+0E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000523000 {"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} 180000001364000000000000000000000000000000523000 180000001364000000000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-120.phpt b/tests/bson-corpus/decimal128-3-valid-120.phpt index 519d41984..7a448ac24 100644 --- a/tests/bson-corpus/decimal128-3-valid-120.phpt +++ b/tests/bson-corpus/decimal128-3-valid-120.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000000000000000000000052B000'); +$canonicalBson = hex2bin('18000000136400000000000000000000000000000052B000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E+9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400000000000000000000000000000052b000 {"d":{"$numberDecimal":"-0E+9"}} -{"d":{"$numberDecimal":"-0E+9"}} 18000000136400000000000000000000000000000052b000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-121.phpt b/tests/bson-corpus/decimal128-3-valid-121.phpt index 0fee55d5b..5be2ec95b 100644 --- a/tests/bson-corpus/decimal128-3-valid-121.phpt +++ b/tests/bson-corpus/decimal128-3-valid-121.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000523000 {"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} 180000001364000000000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-122.phpt b/tests/bson-corpus/decimal128-3-valid-122.phpt index e344b4198..4907910e2 100644 --- a/tests/bson-corpus/decimal128-3-valid-122.phpt +++ b/tests/bson-corpus/decimal128-3-valid-122.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000523000 {"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} 180000001364000000000000000000000000000000523000 180000001364000000000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-123.phpt b/tests/bson-corpus/decimal128-3-valid-123.phpt index 7809e0572..342add539 100644 --- a/tests/bson-corpus/decimal128-3-valid-123.phpt +++ b/tests/bson-corpus/decimal128-3-valid-123.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000523000 {"d":{"$numberDecimal":"0E+9"}} -{"d":{"$numberDecimal":"0E+9"}} 180000001364000000000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-124.phpt b/tests/bson-corpus/decimal128-3-valid-124.phpt index ca73bbfed..9878af7e6 100644 --- a/tests/bson-corpus/decimal128-3-valid-124.phpt +++ b/tests/bson-corpus/decimal128-3-valid-124.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.76"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+12.76"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+12.76"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.76"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400fc040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} 18000000136400fc040000000000000000000000003c3000 18000000136400fc040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-125.phpt b/tests/bson-corpus/decimal128-3-valid-125.phpt index e8db074ea..255c6820b 100644 --- a/tests/bson-corpus/decimal128-3-valid-125.phpt +++ b/tests/bson-corpus/decimal128-3-valid-125.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+1E+009"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+1E+009"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-126.phpt b/tests/bson-corpus/decimal128-3-valid-126.phpt index 714a3bd1f..ec525a1f3 100644 --- a/tests/bson-corpus/decimal128-3-valid-126.phpt +++ b/tests/bson-corpus/decimal128-3-valid-126.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+345678.5432"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400185c0ace00000000000000000000383000 {"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} 18000000136400185c0ace00000000000000000000383000 18000000136400185c0ace00000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-127.phpt b/tests/bson-corpus/decimal128-3-valid-127.phpt index 34f39eaab..65637aa53 100644 --- a/tests/bson-corpus/decimal128-3-valid-127.phpt +++ b/tests/bson-corpus/decimal128-3-valid-127.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640015CD5B0700000000000000000000203000'); +$canonicalBson = hex2bin('1800000013640015CD5B0700000000000000000000203000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.23456789E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0000000123456789"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0000000123456789"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.23456789E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640015cd5b0700000000000000000000203000 {"d":{"$numberDecimal":"1.23456789E-8"}} -{"d":{"$numberDecimal":"1.23456789E-8"}} -{"d":{"$numberDecimal":"1.23456789E-8"}} 1800000013640015cd5b0700000000000000000000203000 1800000013640015cd5b0700000000000000000000203000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-128.phpt b/tests/bson-corpus/decimal128-3-valid-128.phpt index aee1747b2..2d756e5c1 100644 --- a/tests/bson-corpus/decimal128-3-valid-128.phpt +++ b/tests/bson-corpus/decimal128-3-valid-128.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640015CD5B0700000000000000000000223000'); +$canonicalBson = hex2bin('1800000013640015CD5B0700000000000000000000223000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.23456789E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000000123456789"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000000123456789"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.23456789E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640015cd5b0700000000000000000000223000 {"d":{"$numberDecimal":"1.23456789E-7"}} -{"d":{"$numberDecimal":"1.23456789E-7"}} -{"d":{"$numberDecimal":"1.23456789E-7"}} 1800000013640015cd5b0700000000000000000000223000 1800000013640015cd5b0700000000000000000000223000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-129.phpt b/tests/bson-corpus/decimal128-3-valid-129.phpt index 30f2a3a33..9f7f9c4ea 100644 --- a/tests/bson-corpus/decimal128-3-valid-129.phpt +++ b/tests/bson-corpus/decimal128-3-valid-129.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640015CD5B0700000000000000000000243000'); +$canonicalBson = hex2bin('1800000013640015CD5B0700000000000000000000243000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00000123456789"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00000123456789"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640015cd5b0700000000000000000000243000 {"d":{"$numberDecimal":"0.00000123456789"}} -{"d":{"$numberDecimal":"0.00000123456789"}} 1800000013640015cd5b0700000000000000000000243000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-130.phpt b/tests/bson-corpus/decimal128-3-valid-130.phpt index 722bcb436..18e5173ae 100644 --- a/tests/bson-corpus/decimal128-3-valid-130.phpt +++ b/tests/bson-corpus/decimal128-3-valid-130.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003200000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364003200000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000050"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0000050"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364003200000000000000000000000000323000 {"d":{"$numberDecimal":"0.0000050"}} -{"d":{"$numberDecimal":"0.0000050"}} 180000001364003200000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-131.phpt b/tests/bson-corpus/decimal128-3-valid-131.phpt index a9fc4c064..ca043780c 100644 --- a/tests/bson-corpus/decimal128-3-valid-131.phpt +++ b/tests/bson-corpus/decimal128-3-valid-131.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640015CD5B0700000000000000000000263000'); +$canonicalBson = hex2bin('1800000013640015CD5B0700000000000000000000263000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000123456789"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0000123456789"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640015cd5b0700000000000000000000263000 {"d":{"$numberDecimal":"0.0000123456789"}} -{"d":{"$numberDecimal":"0.0000123456789"}} 1800000013640015cd5b0700000000000000000000263000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-132.phpt b/tests/bson-corpus/decimal128-3-valid-132.phpt index 2ed0cd1c2..51ea89c9d 100644 --- a/tests/bson-corpus/decimal128-3-valid-132.phpt +++ b/tests/bson-corpus/decimal128-3-valid-132.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000C000000000000000000000000003A3000'); +$canonicalBson = hex2bin('180000001364000C000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.012"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.012"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000c000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.012"}} -{"d":{"$numberDecimal":"0.012"}} 180000001364000c000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-133.phpt b/tests/bson-corpus/decimal128-3-valid-133.phpt index 636288946..4e37574e1 100644 --- a/tests/bson-corpus/decimal128-3-valid-133.phpt +++ b/tests/bson-corpus/decimal128-3-valid-133.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364007B000000000000000000000000003A3000'); +$canonicalBson = hex2bin('180000001364007B000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.123"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.123"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364007b000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.123"}} -{"d":{"$numberDecimal":"0.123"}} 180000001364007b000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-134.phpt b/tests/bson-corpus/decimal128-3-valid-134.phpt index 2ea0e2b9e..404de216b 100644 --- a/tests/bson-corpus/decimal128-3-valid-134.phpt +++ b/tests/bson-corpus/decimal128-3-valid-134.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640078DF0D8648700000000000000000223000'); +$canonicalBson = hex2bin('1800000013640078DF0D8648700000000000000000223000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.123456789012344"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.123456789012344"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640078df0d8648700000000000000000223000 {"d":{"$numberDecimal":"0.123456789012344"}} -{"d":{"$numberDecimal":"0.123456789012344"}} 1800000013640078df0d8648700000000000000000223000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-135.phpt b/tests/bson-corpus/decimal128-3-valid-135.phpt index fa8f72f8a..c600d9726 100644 --- a/tests/bson-corpus/decimal128-3-valid-135.phpt +++ b/tests/bson-corpus/decimal128-3-valid-135.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640079DF0D8648700000000000000000223000'); +$canonicalBson = hex2bin('1800000013640079DF0D8648700000000000000000223000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.123456789012345"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.123456789012345"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640079df0d8648700000000000000000223000 {"d":{"$numberDecimal":"0.123456789012345"}} -{"d":{"$numberDecimal":"0.123456789012345"}} 1800000013640079df0d8648700000000000000000223000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-136.phpt b/tests/bson-corpus/decimal128-3-valid-136.phpt index 64b068a4b..cfb0206d0 100644 --- a/tests/bson-corpus/decimal128-3-valid-136.phpt +++ b/tests/bson-corpus/decimal128-3-valid-136.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000383000 {"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} 18000000136400f104000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-137.phpt b/tests/bson-corpus/decimal128-3-valid-137.phpt index 97efee182..c591a44a1 100644 --- a/tests/bson-corpus/decimal128-3-valid-137.phpt +++ b/tests/bson-corpus/decimal128-3-valid-137.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000383000 {"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} 18000000136400f104000000000000000000000000383000 18000000136400f104000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-138.phpt b/tests/bson-corpus/decimal128-3-valid-138.phpt index 0506eeecc..aba7758e3 100644 --- a/tests/bson-corpus/decimal128-3-valid-138.phpt +++ b/tests/bson-corpus/decimal128-3-valid-138.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000363000 {"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} 18000000136400f104000000000000000000000000363000 18000000136400f104000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-139.phpt b/tests/bson-corpus/decimal128-3-valid-139.phpt index 1ec124e85..bc4679b99 100644 --- a/tests/bson-corpus/decimal128-3-valid-139.phpt +++ b/tests/bson-corpus/decimal128-3-valid-139.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} 18000000136400f1040000000000000000000000003a3000 18000000136400f1040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-140.phpt b/tests/bson-corpus/decimal128-3-valid-140.phpt index b7f9f7678..b58b77445 100644 --- a/tests/bson-corpus/decimal128-3-valid-140.phpt +++ b/tests/bson-corpus/decimal128-3-valid-140.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000103000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000103000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-21"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E-21"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000103000 {"d":{"$numberDecimal":"1.265E-21"}} -{"d":{"$numberDecimal":"1.265E-21"}} -{"d":{"$numberDecimal":"1.265E-21"}} 18000000136400f104000000000000000000000000103000 18000000136400f104000000000000000000000000103000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-141.phpt b/tests/bson-corpus/decimal128-3-valid-141.phpt index f5096ce7f..47cd353aa 100644 --- a/tests/bson-corpus/decimal128-3-valid-141.phpt +++ b/tests/bson-corpus/decimal128-3-valid-141.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000603000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000603000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+19"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E+20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E+20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+19"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000603000 {"d":{"$numberDecimal":"1.265E+19"}} -{"d":{"$numberDecimal":"1.265E+19"}} -{"d":{"$numberDecimal":"1.265E+19"}} 18000000136400f104000000000000000000000000603000 18000000136400f104000000000000000000000000603000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-142.phpt b/tests/bson-corpus/decimal128-3-valid-142.phpt index 0190f7aa7..336389a35 100644 --- a/tests/bson-corpus/decimal128-3-valid-142.phpt +++ b/tests/bson-corpus/decimal128-3-valid-142.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000343000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000343000 {"d":{"$numberDecimal":"0.001265"}} -{"d":{"$numberDecimal":"0.001265"}} -{"d":{"$numberDecimal":"0.001265"}} 18000000136400f104000000000000000000000000343000 18000000136400f104000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-143.phpt b/tests/bson-corpus/decimal128-3-valid-143.phpt index 93882ca3e..147f6e4e3 100644 --- a/tests/bson-corpus/decimal128-3-valid-143.phpt +++ b/tests/bson-corpus/decimal128-3-valid-143.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.65"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.65"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} 18000000136400f1040000000000000000000000003c3000 18000000136400f1040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-144.phpt b/tests/bson-corpus/decimal128-3-valid-144.phpt index ea6c86aec..1bd929538 100644 --- a/tests/bson-corpus/decimal128-3-valid-144.phpt +++ b/tests/bson-corpus/decimal128-3-valid-144.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000323000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000323000 {"d":{"$numberDecimal":"0.0001265"}} -{"d":{"$numberDecimal":"0.0001265"}} -{"d":{"$numberDecimal":"0.0001265"}} 18000000136400f104000000000000000000000000323000 18000000136400f104000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-145.phpt b/tests/bson-corpus/decimal128-3-valid-145.phpt index 779e4a1a4..107cb03ef 100644 --- a/tests/bson-corpus/decimal128-3-valid-145.phpt +++ b/tests/bson-corpus/decimal128-3-valid-145.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "126.5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "126.5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003e3000 {"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} 18000000136400f1040000000000000000000000003e3000 18000000136400f1040000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-146.phpt b/tests/bson-corpus/decimal128-3-valid-146.phpt index 8fc103d42..59d316116 100644 --- a/tests/bson-corpus/decimal128-3-valid-146.phpt +++ b/tests/bson-corpus/decimal128-3-valid-146.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000303000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000303000 {"d":{"$numberDecimal":"0.00001265"}} -{"d":{"$numberDecimal":"0.00001265"}} -{"d":{"$numberDecimal":"0.00001265"}} 18000000136400f104000000000000000000000000303000 18000000136400f104000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-147.phpt b/tests/bson-corpus/decimal128-3-valid-147.phpt index 24ed94080..531f97ffc 100644 --- a/tests/bson-corpus/decimal128-3-valid-147.phpt +++ b/tests/bson-corpus/decimal128-3-valid-147.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E+4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000403000 {"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} 18000000136400f104000000000000000000000000403000 18000000136400f104000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-148.phpt b/tests/bson-corpus/decimal128-3-valid-148.phpt index 9dba32991..d0f17130f 100644 --- a/tests/bson-corpus/decimal128-3-valid-148.phpt +++ b/tests/bson-corpus/decimal128-3-valid-148.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000283000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000283000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000283000 {"d":{"$numberDecimal":"1.265E-9"}} -{"d":{"$numberDecimal":"1.265E-9"}} -{"d":{"$numberDecimal":"1.265E-9"}} 18000000136400f104000000000000000000000000283000 18000000136400f104000000000000000000000000283000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-149.phpt b/tests/bson-corpus/decimal128-3-valid-149.phpt index 283a76e3e..da34916da 100644 --- a/tests/bson-corpus/decimal128-3-valid-149.phpt +++ b/tests/bson-corpus/decimal128-3-valid-149.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000483000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.1265E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.1265E+8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000483000 {"d":{"$numberDecimal":"1.265E+7"}} -{"d":{"$numberDecimal":"1.265E+7"}} -{"d":{"$numberDecimal":"1.265E+7"}} 18000000136400f104000000000000000000000000483000 18000000136400f104000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-150.phpt b/tests/bson-corpus/decimal128-3-valid-150.phpt index 9aa79d8c6..f5ff2bcf0 100644 --- a/tests/bson-corpus/decimal128-3-valid-150.phpt +++ b/tests/bson-corpus/decimal128-3-valid-150.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640049000000000000000000000000002E3000'); +$canonicalBson = hex2bin('1800000013640049000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7.3E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.73e-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.73e-7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7.3E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640049000000000000000000000000002e3000 {"d":{"$numberDecimal":"7.3E-8"}} -{"d":{"$numberDecimal":"7.3E-8"}} -{"d":{"$numberDecimal":"7.3E-8"}} 1800000013640049000000000000000000000000002e3000 1800000013640049000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-151.phpt b/tests/bson-corpus/decimal128-3-valid-151.phpt index 3bbed5671..3b8b4de19 100644 --- a/tests/bson-corpus/decimal128-3-valid-151.phpt +++ b/tests/bson-corpus/decimal128-3-valid-151.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640064000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640064000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640064000000000000000000000000003c3000 {"d":{"$numberDecimal":"1.00"}} -{"d":{"$numberDecimal":"1.00"}} 1800000013640064000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-152.phpt b/tests/bson-corpus/decimal128-3-valid-152.phpt index ff2a11344..345f186c9 100644 --- a/tests/bson-corpus/decimal128-3-valid-152.phpt +++ b/tests/bson-corpus/decimal128-3-valid-152.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000003E3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000003e3000 {"d":{"$numberDecimal":"1.0"}} -{"d":{"$numberDecimal":"1.0"}} 180000001364000a000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-153.phpt b/tests/bson-corpus/decimal128-3-valid-153.phpt index ec235bc23..efdfc4ff0 100644 --- a/tests/bson-corpus/decimal128-3-valid-153.phpt +++ b/tests/bson-corpus/decimal128-3-valid-153.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000403000 {"d":{"$numberDecimal":"1"}} -{"d":{"$numberDecimal":"1"}} 180000001364000100000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-154.phpt b/tests/bson-corpus/decimal128-3-valid-154.phpt index 11c28602c..78225add4 100644 --- a/tests/bson-corpus/decimal128-3-valid-154.phpt +++ b/tests/bson-corpus/decimal128-3-valid-154.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+009"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+009"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-155.phpt b/tests/bson-corpus/decimal128-3-valid-155.phpt index 7182beef4..b8c06f482 100644 --- a/tests/bson-corpus/decimal128-3-valid-155.phpt +++ b/tests/bson-corpus/decimal128-3-valid-155.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E009"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E009"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-156.phpt b/tests/bson-corpus/decimal128-3-valid-156.phpt index 1ade603d5..db2f9cd60 100644 --- a/tests/bson-corpus/decimal128-3-valid-156.phpt +++ b/tests/bson-corpus/decimal128-3-valid-156.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1e+09"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1e+09"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-157.phpt b/tests/bson-corpus/decimal128-3-valid-157.phpt index e2d983f37..990e3c9ee 100644 --- a/tests/bson-corpus/decimal128-3-valid-157.phpt +++ b/tests/bson-corpus/decimal128-3-valid-157.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+09"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+09"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-158.phpt b/tests/bson-corpus/decimal128-3-valid-158.phpt index 940366d99..396c3713a 100644 --- a/tests/bson-corpus/decimal128-3-valid-158.phpt +++ b/tests/bson-corpus/decimal128-3-valid-158.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1e09"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1e09"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-159.phpt b/tests/bson-corpus/decimal128-3-valid-159.phpt index 2a4a1bd88..098fc674f 100644 --- a/tests/bson-corpus/decimal128-3-valid-159.phpt +++ b/tests/bson-corpus/decimal128-3-valid-159.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000F43000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000F43000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+90"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+90"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000f43000 {"d":{"$numberDecimal":"1E+90"}} -{"d":{"$numberDecimal":"1E+90"}} 180000001364000100000000000000000000000000f43000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-160.phpt b/tests/bson-corpus/decimal128-3-valid-160.phpt index 8895d6ff9..65aff492c 100644 --- a/tests/bson-corpus/decimal128-3-valid-160.phpt +++ b/tests/bson-corpus/decimal128-3-valid-160.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000F43000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000F43000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+90"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1e+90"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1e+90"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+90"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000f43000 {"d":{"$numberDecimal":"1E+90"}} -{"d":{"$numberDecimal":"1E+90"}} -{"d":{"$numberDecimal":"1E+90"}} 180000001364000100000000000000000000000000f43000 180000001364000100000000000000000000000000f43000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-161.phpt b/tests/bson-corpus/decimal128-3-valid-161.phpt index b774a36d0..10c4e4a4f 100644 --- a/tests/bson-corpus/decimal128-3-valid-161.phpt +++ b/tests/bson-corpus/decimal128-3-valid-161.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000F43000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000F43000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+90"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E90"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E90"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+90"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000f43000 {"d":{"$numberDecimal":"1E+90"}} -{"d":{"$numberDecimal":"1E+90"}} -{"d":{"$numberDecimal":"1E+90"}} 180000001364000100000000000000000000000000f43000 180000001364000100000000000000000000000000f43000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-162.phpt b/tests/bson-corpus/decimal128-3-valid-162.phpt index edad31c18..e0e93ae2c 100644 --- a/tests/bson-corpus/decimal128-3-valid-162.phpt +++ b/tests/bson-corpus/decimal128-3-valid-162.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-163.phpt b/tests/bson-corpus/decimal128-3-valid-163.phpt index edde20464..8d1ee3f33 100644 --- a/tests/bson-corpus/decimal128-3-valid-163.phpt +++ b/tests/bson-corpus/decimal128-3-valid-163.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000523000 {"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} -{"d":{"$numberDecimal":"1E+9"}} 180000001364000100000000000000000000000000523000 180000001364000100000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-164.phpt b/tests/bson-corpus/decimal128-3-valid-164.phpt index 106e6d79d..29f4dd228 100644 --- a/tests/bson-corpus/decimal128-3-valid-164.phpt +++ b/tests/bson-corpus/decimal128-3-valid-164.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400D2040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400D2040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.234"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.234"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400d2040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.234"}} -{"d":{"$numberDecimal":"1.234"}} 18000000136400d2040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-165.phpt b/tests/bson-corpus/decimal128-3-valid-165.phpt index 0692886b3..33d550266 100644 --- a/tests/bson-corpus/decimal128-3-valid-165.phpt +++ b/tests/bson-corpus/decimal128-3-valid-165.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} 18000000136400f1040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-166.phpt b/tests/bson-corpus/decimal128-3-valid-166.phpt index 6e0bcfea8..581e33582 100644 --- a/tests/bson-corpus/decimal128-3-valid-166.phpt +++ b/tests/bson-corpus/decimal128-3-valid-166.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} 18000000136400f1040000000000000000000000003a3000 18000000136400f1040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-167.phpt b/tests/bson-corpus/decimal128-3-valid-167.phpt index a791e2aa1..3ce5001b3 100644 --- a/tests/bson-corpus/decimal128-3-valid-167.phpt +++ b/tests/bson-corpus/decimal128-3-valid-167.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000383000 {"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} 18000000136400f104000000000000000000000000383000 18000000136400f104000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-168.phpt b/tests/bson-corpus/decimal128-3-valid-168.phpt index 512e29176..f68a8ad4e 100644 --- a/tests/bson-corpus/decimal128-3-valid-168.phpt +++ b/tests/bson-corpus/decimal128-3-valid-168.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.65"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.65"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} 18000000136400f1040000000000000000000000003c3000 18000000136400f1040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-169.phpt b/tests/bson-corpus/decimal128-3-valid-169.phpt index 8a8bb6016..aeb5b71a8 100644 --- a/tests/bson-corpus/decimal128-3-valid-169.phpt +++ b/tests/bson-corpus/decimal128-3-valid-169.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000123000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000123000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-20"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000123000 {"d":{"$numberDecimal":"1.265E-20"}} -{"d":{"$numberDecimal":"1.265E-20"}} 18000000136400f104000000000000000000000000123000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-170.phpt b/tests/bson-corpus/decimal128-3-valid-170.phpt index 354117d81..657c13096 100644 --- a/tests/bson-corpus/decimal128-3-valid-170.phpt +++ b/tests/bson-corpus/decimal128-3-valid-170.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000623000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000623000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E+20"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000623000 {"d":{"$numberDecimal":"1.265E+20"}} -{"d":{"$numberDecimal":"1.265E+20"}} 18000000136400f104000000000000000000000000623000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-171.phpt b/tests/bson-corpus/decimal128-3-valid-171.phpt index b05d9a44e..e9b70f24d 100644 --- a/tests/bson-corpus/decimal128-3-valid-171.phpt +++ b/tests/bson-corpus/decimal128-3-valid-171.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000363000 {"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} 18000000136400f104000000000000000000000000363000 18000000136400f104000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-172.phpt b/tests/bson-corpus/decimal128-3-valid-172.phpt index b12501123..2afd4f462 100644 --- a/tests/bson-corpus/decimal128-3-valid-172.phpt +++ b/tests/bson-corpus/decimal128-3-valid-172.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "126.5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "126.5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003e3000 {"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} 18000000136400f1040000000000000000000000003e3000 18000000136400f1040000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-173.phpt b/tests/bson-corpus/decimal128-3-valid-173.phpt index 0bbb2f5a7..bdd9cdfde 100644 --- a/tests/bson-corpus/decimal128-3-valid-173.phpt +++ b/tests/bson-corpus/decimal128-3-valid-173.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000343000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000343000 {"d":{"$numberDecimal":"0.001265"}} -{"d":{"$numberDecimal":"0.001265"}} -{"d":{"$numberDecimal":"0.001265"}} 18000000136400f104000000000000000000000000343000 18000000136400f104000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-174.phpt b/tests/bson-corpus/decimal128-3-valid-174.phpt index 8b054586a..d15c7213a 100644 --- a/tests/bson-corpus/decimal128-3-valid-174.phpt +++ b/tests/bson-corpus/decimal128-3-valid-174.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000403000 {"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} 18000000136400f104000000000000000000000000403000 18000000136400f104000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-175.phpt b/tests/bson-corpus/decimal128-3-valid-175.phpt index 35c08e641..3cda3a349 100644 --- a/tests/bson-corpus/decimal128-3-valid-175.phpt +++ b/tests/bson-corpus/decimal128-3-valid-175.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000323000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.265E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000323000 {"d":{"$numberDecimal":"0.0001265"}} -{"d":{"$numberDecimal":"0.0001265"}} -{"d":{"$numberDecimal":"0.0001265"}} 18000000136400f104000000000000000000000000323000 18000000136400f104000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-176.phpt b/tests/bson-corpus/decimal128-3-valid-176.phpt index ca0c3b608..8e4b59e0c 100644 --- a/tests/bson-corpus/decimal128-3-valid-176.phpt +++ b/tests/bson-corpus/decimal128-3-valid-176.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000423000 {"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} 18000000136400f104000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-177.phpt b/tests/bson-corpus/decimal128-3-valid-177.phpt index d5bba1070..0d2acc133 100644 --- a/tests/bson-corpus/decimal128-3-valid-177.phpt +++ b/tests/bson-corpus/decimal128-3-valid-177.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000002A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000002A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E-8"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000002a3000 {"d":{"$numberDecimal":"1.265E-8"}} -{"d":{"$numberDecimal":"1.265E-8"}} 18000000136400f1040000000000000000000000002a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-178.phpt b/tests/bson-corpus/decimal128-3-valid-178.phpt index a5b98b873..41bf1280e 100644 --- a/tests/bson-corpus/decimal128-3-valid-178.phpt +++ b/tests/bson-corpus/decimal128-3-valid-178.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000004A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000004A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.265E+8"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000004a3000 {"d":{"$numberDecimal":"1.265E+8"}} -{"d":{"$numberDecimal":"1.265E+8"}} 18000000136400f1040000000000000000000000004a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-179.phpt b/tests/bson-corpus/decimal128-3-valid-179.phpt index 675e47c96..fd87e1b41 100644 --- a/tests/bson-corpus/decimal128-3-valid-179.phpt +++ b/tests/bson-corpus/decimal128-3-valid-179.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000400000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000400000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "4E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "4E+9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000400000000000000000000000000523000 {"d":{"$numberDecimal":"4E+9"}} -{"d":{"$numberDecimal":"4E+9"}} 180000001364000400000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-180.phpt b/tests/bson-corpus/decimal128-3-valid-180.phpt index c45b0d746..30a038cf7 100644 --- a/tests/bson-corpus/decimal128-3-valid-180.phpt +++ b/tests/bson-corpus/decimal128-3-valid-180.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000005"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "5E-6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "5E-6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000005"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000343000 {"d":{"$numberDecimal":"0.000005"}} -{"d":{"$numberDecimal":"0.000005"}} -{"d":{"$numberDecimal":"0.000005"}} 180000001364000500000000000000000000000000343000 180000001364000500000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-181.phpt b/tests/bson-corpus/decimal128-3-valid-181.phpt index 17978249a..f37f33984 100644 --- a/tests/bson-corpus/decimal128-3-valid-181.phpt +++ b/tests/bson-corpus/decimal128-3-valid-181.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "5E-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "5E-7"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000323000 {"d":{"$numberDecimal":"5E-7"}} -{"d":{"$numberDecimal":"5E-7"}} 180000001364000500000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-182.phpt b/tests/bson-corpus/decimal128-3-valid-182.phpt index 93cef0f02..7de2fde68 100644 --- a/tests/bson-corpus/decimal128-3-valid-182.phpt +++ b/tests/bson-corpus/decimal128-3-valid-182.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000403000 {"d":{"$numberDecimal":"7"}} -{"d":{"$numberDecimal":"7"}} -{"d":{"$numberDecimal":"7"}} 180000001364000700000000000000000000000000403000 180000001364000700000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-183.phpt b/tests/bson-corpus/decimal128-3-valid-183.phpt index df8f12120..f0b5f11dd 100644 --- a/tests/bson-corpus/decimal128-3-valid-183.phpt +++ b/tests/bson-corpus/decimal128-3-valid-183.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000543000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000543000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E10"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000543000 {"d":{"$numberDecimal":"7E+10"}} -{"d":{"$numberDecimal":"7E+10"}} -{"d":{"$numberDecimal":"7E+10"}} 180000001364000700000000000000000000000000543000 180000001364000700000000000000000000000000543000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-184.phpt b/tests/bson-corpus/decimal128-3-valid-184.phpt index 4aab45019..b716e71d5 100644 --- a/tests/bson-corpus/decimal128-3-valid-184.phpt +++ b/tests/bson-corpus/decimal128-3-valid-184.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000002C3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000002C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-10"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000002c3000 {"d":{"$numberDecimal":"7E-10"}} -{"d":{"$numberDecimal":"7E-10"}} 1800000013640007000000000000000000000000002c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-185.phpt b/tests/bson-corpus/decimal128-3-valid-185.phpt index da5462d94..7f770ba0d 100644 --- a/tests/bson-corpus/decimal128-3-valid-185.phpt +++ b/tests/bson-corpus/decimal128-3-valid-185.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000563000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000563000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E11"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E11"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000563000 {"d":{"$numberDecimal":"7E+11"}} -{"d":{"$numberDecimal":"7E+11"}} -{"d":{"$numberDecimal":"7E+11"}} 180000001364000700000000000000000000000000563000 180000001364000700000000000000000000000000563000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-186.phpt b/tests/bson-corpus/decimal128-3-valid-186.phpt index 73b8396b9..2cec475e3 100644 --- a/tests/bson-corpus/decimal128-3-valid-186.phpt +++ b/tests/bson-corpus/decimal128-3-valid-186.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000002A3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000002A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-11"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-11"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000002a3000 {"d":{"$numberDecimal":"7E-11"}} -{"d":{"$numberDecimal":"7E-11"}} 1800000013640007000000000000000000000000002a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-187.phpt b/tests/bson-corpus/decimal128-3-valid-187.phpt index 063ec43b3..8e6f1b525 100644 --- a/tests/bson-corpus/decimal128-3-valid-187.phpt +++ b/tests/bson-corpus/decimal128-3-valid-187.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000583000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000583000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+12"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E12"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+12"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000583000 {"d":{"$numberDecimal":"7E+12"}} -{"d":{"$numberDecimal":"7E+12"}} -{"d":{"$numberDecimal":"7E+12"}} 180000001364000700000000000000000000000000583000 180000001364000700000000000000000000000000583000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-188.phpt b/tests/bson-corpus/decimal128-3-valid-188.phpt index 3ebaacf72..75901a316 100644 --- a/tests/bson-corpus/decimal128-3-valid-188.phpt +++ b/tests/bson-corpus/decimal128-3-valid-188.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000283000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000283000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-12"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000283000 {"d":{"$numberDecimal":"7E-12"}} -{"d":{"$numberDecimal":"7E-12"}} 180000001364000700000000000000000000000000283000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-189.phpt b/tests/bson-corpus/decimal128-3-valid-189.phpt index 1e53dee8e..12bd5a834 100644 --- a/tests/bson-corpus/decimal128-3-valid-189.phpt +++ b/tests/bson-corpus/decimal128-3-valid-189.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000263000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000263000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-13"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-13"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000263000 {"d":{"$numberDecimal":"7E-13"}} -{"d":{"$numberDecimal":"7E-13"}} 180000001364000700000000000000000000000000263000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-190.phpt b/tests/bson-corpus/decimal128-3-valid-190.phpt index a56844cd7..22dafa972 100644 --- a/tests/bson-corpus/decimal128-3-valid-190.phpt +++ b/tests/bson-corpus/decimal128-3-valid-190.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+1"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+1"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000423000 {"d":{"$numberDecimal":"7E+1"}} -{"d":{"$numberDecimal":"7E+1"}} -{"d":{"$numberDecimal":"7E+1"}} 180000001364000700000000000000000000000000423000 180000001364000700000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-191.phpt b/tests/bson-corpus/decimal128-3-valid-191.phpt index 1e9efbad9..fdeb2efc8 100644 --- a/tests/bson-corpus/decimal128-3-valid-191.phpt +++ b/tests/bson-corpus/decimal128-3-valid-191.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.7"}} -{"d":{"$numberDecimal":"0.7"}} -{"d":{"$numberDecimal":"0.7"}} 1800000013640007000000000000000000000000003e3000 1800000013640007000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-192.phpt b/tests/bson-corpus/decimal128-3-valid-192.phpt index 953c06289..cef03d91a 100644 --- a/tests/bson-corpus/decimal128-3-valid-192.phpt +++ b/tests/bson-corpus/decimal128-3-valid-192.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000443000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+2"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+2"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000443000 {"d":{"$numberDecimal":"7E+2"}} -{"d":{"$numberDecimal":"7E+2"}} -{"d":{"$numberDecimal":"7E+2"}} 180000001364000700000000000000000000000000443000 180000001364000700000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-193.phpt b/tests/bson-corpus/decimal128-3-valid-193.phpt index de02e3afd..7c885ae8b 100644 --- a/tests/bson-corpus/decimal128-3-valid-193.phpt +++ b/tests/bson-corpus/decimal128-3-valid-193.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000003C3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.07"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.07"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.07"}} -{"d":{"$numberDecimal":"0.07"}} -{"d":{"$numberDecimal":"0.07"}} 1800000013640007000000000000000000000000003c3000 1800000013640007000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-194.phpt b/tests/bson-corpus/decimal128-3-valid-194.phpt index 6b3200fc1..5591f6631 100644 --- a/tests/bson-corpus/decimal128-3-valid-194.phpt +++ b/tests/bson-corpus/decimal128-3-valid-194.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+3"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+3"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000463000 {"d":{"$numberDecimal":"7E+3"}} -{"d":{"$numberDecimal":"7E+3"}} -{"d":{"$numberDecimal":"7E+3"}} 180000001364000700000000000000000000000000463000 180000001364000700000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-195.phpt b/tests/bson-corpus/decimal128-3-valid-195.phpt index f54902693..2217a7ef1 100644 --- a/tests/bson-corpus/decimal128-3-valid-195.phpt +++ b/tests/bson-corpus/decimal128-3-valid-195.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000003A3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.007"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.007"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.007"}} -{"d":{"$numberDecimal":"0.007"}} -{"d":{"$numberDecimal":"0.007"}} 1800000013640007000000000000000000000000003a3000 1800000013640007000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-196.phpt b/tests/bson-corpus/decimal128-3-valid-196.phpt index 51ea0e931..c9ab7faeb 100644 --- a/tests/bson-corpus/decimal128-3-valid-196.phpt +++ b/tests/bson-corpus/decimal128-3-valid-196.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000483000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000483000 {"d":{"$numberDecimal":"7E+4"}} -{"d":{"$numberDecimal":"7E+4"}} -{"d":{"$numberDecimal":"7E+4"}} 180000001364000700000000000000000000000000483000 180000001364000700000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-197.phpt b/tests/bson-corpus/decimal128-3-valid-197.phpt index 39fa9ad15..176c9e6f5 100644 --- a/tests/bson-corpus/decimal128-3-valid-197.phpt +++ b/tests/bson-corpus/decimal128-3-valid-197.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0007"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0007"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000383000 {"d":{"$numberDecimal":"0.0007"}} -{"d":{"$numberDecimal":"0.0007"}} -{"d":{"$numberDecimal":"0.0007"}} 180000001364000700000000000000000000000000383000 180000001364000700000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-198.phpt b/tests/bson-corpus/decimal128-3-valid-198.phpt index 9492812c5..f3b4e3765 100644 --- a/tests/bson-corpus/decimal128-3-valid-198.phpt +++ b/tests/bson-corpus/decimal128-3-valid-198.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000004A3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000004A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000004a3000 {"d":{"$numberDecimal":"7E+5"}} -{"d":{"$numberDecimal":"7E+5"}} -{"d":{"$numberDecimal":"7E+5"}} 1800000013640007000000000000000000000000004a3000 1800000013640007000000000000000000000000004a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-199.phpt b/tests/bson-corpus/decimal128-3-valid-199.phpt index 48c23e776..e0f4fe1de 100644 --- a/tests/bson-corpus/decimal128-3-valid-199.phpt +++ b/tests/bson-corpus/decimal128-3-valid-199.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00007"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E-5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00007"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000363000 {"d":{"$numberDecimal":"0.00007"}} -{"d":{"$numberDecimal":"0.00007"}} -{"d":{"$numberDecimal":"0.00007"}} 180000001364000700000000000000000000000000363000 180000001364000700000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-200.phpt b/tests/bson-corpus/decimal128-3-valid-200.phpt index d355c7d2b..464d34546 100644 --- a/tests/bson-corpus/decimal128-3-valid-200.phpt +++ b/tests/bson-corpus/decimal128-3-valid-200.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000004C3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000004C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+6"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+6"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000004c3000 {"d":{"$numberDecimal":"7E+6"}} -{"d":{"$numberDecimal":"7E+6"}} -{"d":{"$numberDecimal":"7E+6"}} 1800000013640007000000000000000000000000004c3000 1800000013640007000000000000000000000000004c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-201.phpt b/tests/bson-corpus/decimal128-3-valid-201.phpt index 6196ef49b..086dc9b77 100644 --- a/tests/bson-corpus/decimal128-3-valid-201.phpt +++ b/tests/bson-corpus/decimal128-3-valid-201.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000007"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E-6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000007"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000343000 {"d":{"$numberDecimal":"0.000007"}} -{"d":{"$numberDecimal":"0.000007"}} -{"d":{"$numberDecimal":"0.000007"}} 180000001364000700000000000000000000000000343000 180000001364000700000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-202.phpt b/tests/bson-corpus/decimal128-3-valid-202.phpt index fd1cec608..a54b9cbf4 100644 --- a/tests/bson-corpus/decimal128-3-valid-202.phpt +++ b/tests/bson-corpus/decimal128-3-valid-202.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000004E3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000004E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000004e3000 {"d":{"$numberDecimal":"7E+7"}} -{"d":{"$numberDecimal":"7E+7"}} -{"d":{"$numberDecimal":"7E+7"}} 1800000013640007000000000000000000000000004e3000 1800000013640007000000000000000000000000004e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-203.phpt b/tests/bson-corpus/decimal128-3-valid-203.phpt index 166f10c0a..03de9cd29 100644 --- a/tests/bson-corpus/decimal128-3-valid-203.phpt +++ b/tests/bson-corpus/decimal128-3-valid-203.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-7"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000323000 {"d":{"$numberDecimal":"7E-7"}} -{"d":{"$numberDecimal":"7E-7"}} 180000001364000700000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-204.phpt b/tests/bson-corpus/decimal128-3-valid-204.phpt index 95ac194a9..6ea63f621 100644 --- a/tests/bson-corpus/decimal128-3-valid-204.phpt +++ b/tests/bson-corpus/decimal128-3-valid-204.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000503000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000503000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000503000 {"d":{"$numberDecimal":"7E+8"}} -{"d":{"$numberDecimal":"7E+8"}} -{"d":{"$numberDecimal":"7E+8"}} 180000001364000700000000000000000000000000503000 180000001364000700000000000000000000000000503000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-205.phpt b/tests/bson-corpus/decimal128-3-valid-205.phpt index 7cb49401e..0f2a64032 100644 --- a/tests/bson-corpus/decimal128-3-valid-205.phpt +++ b/tests/bson-corpus/decimal128-3-valid-205.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000303000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-8"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000303000 {"d":{"$numberDecimal":"7E-8"}} -{"d":{"$numberDecimal":"7E-8"}} 180000001364000700000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-206.phpt b/tests/bson-corpus/decimal128-3-valid-206.phpt index 97560e432..8de89f1ec 100644 --- a/tests/bson-corpus/decimal128-3-valid-206.phpt +++ b/tests/bson-corpus/decimal128-3-valid-206.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000700000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000700000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "7E9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "7E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000700000000000000000000000000523000 {"d":{"$numberDecimal":"7E+9"}} -{"d":{"$numberDecimal":"7E+9"}} -{"d":{"$numberDecimal":"7E+9"}} 180000001364000700000000000000000000000000523000 180000001364000700000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-207.phpt b/tests/bson-corpus/decimal128-3-valid-207.phpt index e92464833..3d96e6a08 100644 --- a/tests/bson-corpus/decimal128-3-valid-207.phpt +++ b/tests/bson-corpus/decimal128-3-valid-207.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640007000000000000000000000000002E3000'); +$canonicalBson = hex2bin('1800000013640007000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "7E-9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "7E-9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640007000000000000000000000000002e3000 {"d":{"$numberDecimal":"7E-9"}} -{"d":{"$numberDecimal":"7E-9"}} 1800000013640007000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-208.phpt b/tests/bson-corpus/decimal128-3-valid-208.phpt index 8c56bdb3f..945b4c692 100644 --- a/tests/bson-corpus/decimal128-3-valid-208.phpt +++ b/tests/bson-corpus/decimal128-3-valid-208.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640064000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640064000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640064000000000000000000000000003e3000 {"d":{"$numberDecimal":"10.0"}} -{"d":{"$numberDecimal":"10.0"}} 1800000013640064000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-209.phpt b/tests/bson-corpus/decimal128-3-valid-209.phpt index 04d451a2d..63b89e9f0 100644 --- a/tests/bson-corpus/decimal128-3-valid-209.phpt +++ b/tests/bson-corpus/decimal128-3-valid-209.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000403000 {"d":{"$numberDecimal":"10"}} -{"d":{"$numberDecimal":"10"}} 180000001364000a00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-210.phpt b/tests/bson-corpus/decimal128-3-valid-210.phpt index 7e6433ed2..3a5797300 100644 --- a/tests/bson-corpus/decimal128-3-valid-210.phpt +++ b/tests/bson-corpus/decimal128-3-valid-210.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10E+009"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10E+009"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000523000 {"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} 180000001364000a00000000000000000000000000523000 180000001364000a00000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-211.phpt b/tests/bson-corpus/decimal128-3-valid-211.phpt index cbe8a688a..27f0cc828 100644 --- a/tests/bson-corpus/decimal128-3-valid-211.phpt +++ b/tests/bson-corpus/decimal128-3-valid-211.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10E+09"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10E+09"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000523000 {"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} 180000001364000a00000000000000000000000000523000 180000001364000a00000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-212.phpt b/tests/bson-corpus/decimal128-3-valid-212.phpt index 48ce5636e..1a2cdba86 100644 --- a/tests/bson-corpus/decimal128-3-valid-212.phpt +++ b/tests/bson-corpus/decimal128-3-valid-212.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000403000 {"d":{"$numberDecimal":"10"}} -{"d":{"$numberDecimal":"10"}} -{"d":{"$numberDecimal":"10"}} 180000001364000a00000000000000000000000000403000 180000001364000a00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-213.phpt b/tests/bson-corpus/decimal128-3-valid-213.phpt index 2d0670c56..ab39d0bcf 100644 --- a/tests/bson-corpus/decimal128-3-valid-213.phpt +++ b/tests/bson-corpus/decimal128-3-valid-213.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000543000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000543000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e10"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000543000 {"d":{"$numberDecimal":"1.0E+11"}} -{"d":{"$numberDecimal":"1.0E+11"}} -{"d":{"$numberDecimal":"1.0E+11"}} 180000001364000a00000000000000000000000000543000 180000001364000a00000000000000000000000000543000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-214.phpt b/tests/bson-corpus/decimal128-3-valid-214.phpt index a593dfc87..3fbbe4c49 100644 --- a/tests/bson-corpus/decimal128-3-valid-214.phpt +++ b/tests/bson-corpus/decimal128-3-valid-214.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000002C3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000002C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-10"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-10"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000002c3000 {"d":{"$numberDecimal":"1.0E-9"}} -{"d":{"$numberDecimal":"1.0E-9"}} -{"d":{"$numberDecimal":"1.0E-9"}} 180000001364000a000000000000000000000000002c3000 180000001364000a000000000000000000000000002c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-215.phpt b/tests/bson-corpus/decimal128-3-valid-215.phpt index 79a9ae845..d5ac65900 100644 --- a/tests/bson-corpus/decimal128-3-valid-215.phpt +++ b/tests/bson-corpus/decimal128-3-valid-215.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000563000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000563000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+12"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e11"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e11"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+12"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000563000 {"d":{"$numberDecimal":"1.0E+12"}} -{"d":{"$numberDecimal":"1.0E+12"}} -{"d":{"$numberDecimal":"1.0E+12"}} 180000001364000a00000000000000000000000000563000 180000001364000a00000000000000000000000000563000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-216.phpt b/tests/bson-corpus/decimal128-3-valid-216.phpt index d519d6885..cebca011c 100644 --- a/tests/bson-corpus/decimal128-3-valid-216.phpt +++ b/tests/bson-corpus/decimal128-3-valid-216.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000002A3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000002A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-11"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-11"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000002a3000 {"d":{"$numberDecimal":"1.0E-10"}} -{"d":{"$numberDecimal":"1.0E-10"}} -{"d":{"$numberDecimal":"1.0E-10"}} 180000001364000a000000000000000000000000002a3000 180000001364000a000000000000000000000000002a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-217.phpt b/tests/bson-corpus/decimal128-3-valid-217.phpt index 5b7514cbd..bfa1e6af1 100644 --- a/tests/bson-corpus/decimal128-3-valid-217.phpt +++ b/tests/bson-corpus/decimal128-3-valid-217.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000583000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000583000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+13"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e12"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+13"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000583000 {"d":{"$numberDecimal":"1.0E+13"}} -{"d":{"$numberDecimal":"1.0E+13"}} -{"d":{"$numberDecimal":"1.0E+13"}} 180000001364000a00000000000000000000000000583000 180000001364000a00000000000000000000000000583000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-218.phpt b/tests/bson-corpus/decimal128-3-valid-218.phpt index b1e6822b0..39b9d6548 100644 --- a/tests/bson-corpus/decimal128-3-valid-218.phpt +++ b/tests/bson-corpus/decimal128-3-valid-218.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000283000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000283000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-12"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000283000 {"d":{"$numberDecimal":"1.0E-11"}} -{"d":{"$numberDecimal":"1.0E-11"}} -{"d":{"$numberDecimal":"1.0E-11"}} 180000001364000a00000000000000000000000000283000 180000001364000a00000000000000000000000000283000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-219.phpt b/tests/bson-corpus/decimal128-3-valid-219.phpt index c6ff641ac..279d73298 100644 --- a/tests/bson-corpus/decimal128-3-valid-219.phpt +++ b/tests/bson-corpus/decimal128-3-valid-219.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000263000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000263000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-12"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-13"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-13"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-12"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000263000 {"d":{"$numberDecimal":"1.0E-12"}} -{"d":{"$numberDecimal":"1.0E-12"}} -{"d":{"$numberDecimal":"1.0E-12"}} 180000001364000a00000000000000000000000000263000 180000001364000a00000000000000000000000000263000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-220.phpt b/tests/bson-corpus/decimal128-3-valid-220.phpt index fa0ad78c3..b9aff1b05 100644 --- a/tests/bson-corpus/decimal128-3-valid-220.phpt +++ b/tests/bson-corpus/decimal128-3-valid-220.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000423000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+2"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+2"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000423000 {"d":{"$numberDecimal":"1.0E+2"}} -{"d":{"$numberDecimal":"1.0E+2"}} -{"d":{"$numberDecimal":"1.0E+2"}} 180000001364000a00000000000000000000000000423000 180000001364000a00000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-221.phpt b/tests/bson-corpus/decimal128-3-valid-221.phpt index 48b9db7be..8f5a37bfa 100644 --- a/tests/bson-corpus/decimal128-3-valid-221.phpt +++ b/tests/bson-corpus/decimal128-3-valid-221.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000003E3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000003e3000 {"d":{"$numberDecimal":"1.0"}} -{"d":{"$numberDecimal":"1.0"}} -{"d":{"$numberDecimal":"1.0"}} 180000001364000a000000000000000000000000003e3000 180000001364000a000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-222.phpt b/tests/bson-corpus/decimal128-3-valid-222.phpt index 21076a908..cd4f1566b 100644 --- a/tests/bson-corpus/decimal128-3-valid-222.phpt +++ b/tests/bson-corpus/decimal128-3-valid-222.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000443000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+3"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+3"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000443000 {"d":{"$numberDecimal":"1.0E+3"}} -{"d":{"$numberDecimal":"1.0E+3"}} -{"d":{"$numberDecimal":"1.0E+3"}} 180000001364000a00000000000000000000000000443000 180000001364000a00000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-223.phpt b/tests/bson-corpus/decimal128-3-valid-223.phpt index a2580515c..6ef9381ec 100644 --- a/tests/bson-corpus/decimal128-3-valid-223.phpt +++ b/tests/bson-corpus/decimal128-3-valid-223.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000003C3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000003c3000 {"d":{"$numberDecimal":"0.10"}} -{"d":{"$numberDecimal":"0.10"}} -{"d":{"$numberDecimal":"0.10"}} 180000001364000a000000000000000000000000003c3000 180000001364000a000000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-224.phpt b/tests/bson-corpus/decimal128-3-valid-224.phpt index 395ec8f23..72a43945c 100644 --- a/tests/bson-corpus/decimal128-3-valid-224.phpt +++ b/tests/bson-corpus/decimal128-3-valid-224.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000463000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000463000 {"d":{"$numberDecimal":"1.0E+4"}} -{"d":{"$numberDecimal":"1.0E+4"}} -{"d":{"$numberDecimal":"1.0E+4"}} 180000001364000a00000000000000000000000000463000 180000001364000a00000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-225.phpt b/tests/bson-corpus/decimal128-3-valid-225.phpt index af268c3a6..d4197a6e9 100644 --- a/tests/bson-corpus/decimal128-3-valid-225.phpt +++ b/tests/bson-corpus/decimal128-3-valid-225.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000003A3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.010"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.010"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.010"}} -{"d":{"$numberDecimal":"0.010"}} -{"d":{"$numberDecimal":"0.010"}} 180000001364000a000000000000000000000000003a3000 180000001364000a000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-226.phpt b/tests/bson-corpus/decimal128-3-valid-226.phpt index 3ae8e4b20..9d3ebbc0b 100644 --- a/tests/bson-corpus/decimal128-3-valid-226.phpt +++ b/tests/bson-corpus/decimal128-3-valid-226.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000483000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000483000 {"d":{"$numberDecimal":"1.0E+5"}} -{"d":{"$numberDecimal":"1.0E+5"}} -{"d":{"$numberDecimal":"1.0E+5"}} 180000001364000a00000000000000000000000000483000 180000001364000a00000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-227.phpt b/tests/bson-corpus/decimal128-3-valid-227.phpt index 700fa5211..21dd5a471 100644 --- a/tests/bson-corpus/decimal128-3-valid-227.phpt +++ b/tests/bson-corpus/decimal128-3-valid-227.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0010"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0010"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000383000 {"d":{"$numberDecimal":"0.0010"}} -{"d":{"$numberDecimal":"0.0010"}} -{"d":{"$numberDecimal":"0.0010"}} 180000001364000a00000000000000000000000000383000 180000001364000a00000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-228.phpt b/tests/bson-corpus/decimal128-3-valid-228.phpt index 1f51ff35e..db28507a6 100644 --- a/tests/bson-corpus/decimal128-3-valid-228.phpt +++ b/tests/bson-corpus/decimal128-3-valid-228.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000004A3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000004A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+6"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+6"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000004a3000 {"d":{"$numberDecimal":"1.0E+6"}} -{"d":{"$numberDecimal":"1.0E+6"}} -{"d":{"$numberDecimal":"1.0E+6"}} 180000001364000a000000000000000000000000004a3000 180000001364000a000000000000000000000000004a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-229.phpt b/tests/bson-corpus/decimal128-3-valid-229.phpt index 6ae626afa..639a46140 100644 --- a/tests/bson-corpus/decimal128-3-valid-229.phpt +++ b/tests/bson-corpus/decimal128-3-valid-229.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00010"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00010"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000363000 {"d":{"$numberDecimal":"0.00010"}} -{"d":{"$numberDecimal":"0.00010"}} -{"d":{"$numberDecimal":"0.00010"}} 180000001364000a00000000000000000000000000363000 180000001364000a00000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-230.phpt b/tests/bson-corpus/decimal128-3-valid-230.phpt index bc6faaf48..16c1eeb01 100644 --- a/tests/bson-corpus/decimal128-3-valid-230.phpt +++ b/tests/bson-corpus/decimal128-3-valid-230.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000004C3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000004C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000004c3000 {"d":{"$numberDecimal":"1.0E+7"}} -{"d":{"$numberDecimal":"1.0E+7"}} -{"d":{"$numberDecimal":"1.0E+7"}} 180000001364000a000000000000000000000000004c3000 180000001364000a000000000000000000000000004c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-231.phpt b/tests/bson-corpus/decimal128-3-valid-231.phpt index f54e477eb..a58d05749 100644 --- a/tests/bson-corpus/decimal128-3-valid-231.phpt +++ b/tests/bson-corpus/decimal128-3-valid-231.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000010"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-6"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000010"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000343000 {"d":{"$numberDecimal":"0.000010"}} -{"d":{"$numberDecimal":"0.000010"}} -{"d":{"$numberDecimal":"0.000010"}} 180000001364000a00000000000000000000000000343000 180000001364000a00000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-232.phpt b/tests/bson-corpus/decimal128-3-valid-232.phpt index b6deb7f5c..511f24f86 100644 --- a/tests/bson-corpus/decimal128-3-valid-232.phpt +++ b/tests/bson-corpus/decimal128-3-valid-232.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000004E3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000004E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000004e3000 {"d":{"$numberDecimal":"1.0E+8"}} -{"d":{"$numberDecimal":"1.0E+8"}} -{"d":{"$numberDecimal":"1.0E+8"}} 180000001364000a000000000000000000000000004e3000 180000001364000a000000000000000000000000004e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-233.phpt b/tests/bson-corpus/decimal128-3-valid-233.phpt index ca51d3713..d212029a4 100644 --- a/tests/bson-corpus/decimal128-3-valid-233.phpt +++ b/tests/bson-corpus/decimal128-3-valid-233.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000010"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0000010"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000323000 {"d":{"$numberDecimal":"0.0000010"}} -{"d":{"$numberDecimal":"0.0000010"}} -{"d":{"$numberDecimal":"0.0000010"}} 180000001364000a00000000000000000000000000323000 180000001364000a00000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-234.phpt b/tests/bson-corpus/decimal128-3-valid-234.phpt index 432179a95..310740cf7 100644 --- a/tests/bson-corpus/decimal128-3-valid-234.phpt +++ b/tests/bson-corpus/decimal128-3-valid-234.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000503000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000503000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000503000 {"d":{"$numberDecimal":"1.0E+9"}} -{"d":{"$numberDecimal":"1.0E+9"}} -{"d":{"$numberDecimal":"1.0E+9"}} 180000001364000a00000000000000000000000000503000 180000001364000a00000000000000000000000000503000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-235.phpt b/tests/bson-corpus/decimal128-3-valid-235.phpt index 7398425de..9993e7c56 100644 --- a/tests/bson-corpus/decimal128-3-valid-235.phpt +++ b/tests/bson-corpus/decimal128-3-valid-235.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000303000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000303000 {"d":{"$numberDecimal":"1.0E-7"}} -{"d":{"$numberDecimal":"1.0E-7"}} -{"d":{"$numberDecimal":"1.0E-7"}} 180000001364000a00000000000000000000000000303000 180000001364000a00000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-236.phpt b/tests/bson-corpus/decimal128-3-valid-236.phpt index 2f66c5cc6..69def055b 100644 --- a/tests/bson-corpus/decimal128-3-valid-236.phpt +++ b/tests/bson-corpus/decimal128-3-valid-236.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000F43000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000F43000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+91"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e+90"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e+90"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+91"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000f43000 {"d":{"$numberDecimal":"1.0E+91"}} -{"d":{"$numberDecimal":"1.0E+91"}} -{"d":{"$numberDecimal":"1.0E+91"}} 180000001364000a00000000000000000000000000f43000 180000001364000a00000000000000000000000000f43000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-237.phpt b/tests/bson-corpus/decimal128-3-valid-237.phpt index 39fc6c10e..04a9d5b14 100644 --- a/tests/bson-corpus/decimal128-3-valid-237.phpt +++ b/tests/bson-corpus/decimal128-3-valid-237.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000523000 {"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} 180000001364000a00000000000000000000000000523000 180000001364000a00000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-238.phpt b/tests/bson-corpus/decimal128-3-valid-238.phpt index 7a520e2b7..77f4038a8 100644 --- a/tests/bson-corpus/decimal128-3-valid-238.phpt +++ b/tests/bson-corpus/decimal128-3-valid-238.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000523000 {"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} -{"d":{"$numberDecimal":"1.0E+10"}} 180000001364000a00000000000000000000000000523000 180000001364000a00000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-239.phpt b/tests/bson-corpus/decimal128-3-valid-239.phpt index ecd6a6ece..49f5a8a6a 100644 --- a/tests/bson-corpus/decimal128-3-valid-239.phpt +++ b/tests/bson-corpus/decimal128-3-valid-239.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A000000000000000000000000002E3000'); +$canonicalBson = hex2bin('180000001364000A000000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "10e-9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10e-9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a000000000000000000000000002e3000 {"d":{"$numberDecimal":"1.0E-8"}} -{"d":{"$numberDecimal":"1.0E-8"}} -{"d":{"$numberDecimal":"1.0E-8"}} 180000001364000a000000000000000000000000002e3000 180000001364000a000000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-240.phpt b/tests/bson-corpus/decimal128-3-valid-240.phpt index 9765fc59b..7a0273f32 100644 --- a/tests/bson-corpus/decimal128-3-valid-240.phpt +++ b/tests/bson-corpus/decimal128-3-valid-240.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640065000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640065000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10.1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10.1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640065000000000000000000000000003e3000 {"d":{"$numberDecimal":"10.1"}} -{"d":{"$numberDecimal":"10.1"}} 1800000013640065000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-241.phpt b/tests/bson-corpus/decimal128-3-valid-241.phpt index 72c75bcb6..2bd49774a 100644 --- a/tests/bson-corpus/decimal128-3-valid-241.phpt +++ b/tests/bson-corpus/decimal128-3-valid-241.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640068000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640068000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10.4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10.4"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640068000000000000000000000000003e3000 {"d":{"$numberDecimal":"10.4"}} -{"d":{"$numberDecimal":"10.4"}} 1800000013640068000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-242.phpt b/tests/bson-corpus/decimal128-3-valid-242.phpt index 9fa4b8dde..011d72889 100644 --- a/tests/bson-corpus/decimal128-3-valid-242.phpt +++ b/tests/bson-corpus/decimal128-3-valid-242.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640069000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640069000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10.5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10.5"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640069000000000000000000000000003e3000 {"d":{"$numberDecimal":"10.5"}} -{"d":{"$numberDecimal":"10.5"}} 1800000013640069000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-243.phpt b/tests/bson-corpus/decimal128-3-valid-243.phpt index 8e70d1ba5..70b59f5fb 100644 --- a/tests/bson-corpus/decimal128-3-valid-243.phpt +++ b/tests/bson-corpus/decimal128-3-valid-243.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006A000000000000000000000000003E3000'); +$canonicalBson = hex2bin('180000001364006A000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10.6"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10.6"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006a000000000000000000000000003e3000 {"d":{"$numberDecimal":"10.6"}} -{"d":{"$numberDecimal":"10.6"}} 180000001364006a000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-244.phpt b/tests/bson-corpus/decimal128-3-valid-244.phpt index 4e82d18da..52b8bf000 100644 --- a/tests/bson-corpus/decimal128-3-valid-244.phpt +++ b/tests/bson-corpus/decimal128-3-valid-244.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006D000000000000000000000000003E3000'); +$canonicalBson = hex2bin('180000001364006D000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "10.9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "10.9"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006d000000000000000000000000003e3000 {"d":{"$numberDecimal":"10.9"}} -{"d":{"$numberDecimal":"10.9"}} 180000001364006d000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-245.phpt b/tests/bson-corpus/decimal128-3-valid-245.phpt index 0360203c8..434522011 100644 --- a/tests/bson-corpus/decimal128-3-valid-245.phpt +++ b/tests/bson-corpus/decimal128-3-valid-245.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006E000000000000000000000000003E3000'); +$canonicalBson = hex2bin('180000001364006E000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "11.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "11.0"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006e000000000000000000000000003e3000 {"d":{"$numberDecimal":"11.0"}} -{"d":{"$numberDecimal":"11.0"}} 180000001364006e000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-246.phpt b/tests/bson-corpus/decimal128-3-valid-246.phpt index 6a4ff14f2..94dbe4544 100644 --- a/tests/bson-corpus/decimal128-3-valid-246.phpt +++ b/tests/bson-corpus/decimal128-3-valid-246.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000C00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364000C00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000c00000000000000000000000000403000 {"d":{"$numberDecimal":"12"}} -{"d":{"$numberDecimal":"12"}} 180000001364000c00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-247.phpt b/tests/bson-corpus/decimal128-3-valid-247.phpt index e2af47ede..22c924fef 100644 --- a/tests/bson-corpus/decimal128-3-valid-247.phpt +++ b/tests/bson-corpus/decimal128-3-valid-247.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.65"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} 18000000136400f1040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-248.phpt b/tests/bson-corpus/decimal128-3-valid-248.phpt index a26a82eee..5650d3dac 100644 --- a/tests/bson-corpus/decimal128-3-valid-248.phpt +++ b/tests/bson-corpus/decimal128-3-valid-248.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.65"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.65"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} 18000000136400f1040000000000000000000000003c3000 18000000136400f1040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-249.phpt b/tests/bson-corpus/decimal128-3-valid-249.phpt index d57f57805..293534156 100644 --- a/tests/bson-corpus/decimal128-3-valid-249.phpt +++ b/tests/bson-corpus/decimal128-3-valid-249.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} 18000000136400f1040000000000000000000000003a3000 18000000136400f1040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-250.phpt b/tests/bson-corpus/decimal128-3-valid-250.phpt index 9668fd871..0915ca0ca 100644 --- a/tests/bson-corpus/decimal128-3-valid-250.phpt +++ b/tests/bson-corpus/decimal128-3-valid-250.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "126.5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "126.5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003e3000 {"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} 18000000136400f1040000000000000000000000003e3000 18000000136400f1040000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-251.phpt b/tests/bson-corpus/decimal128-3-valid-251.phpt index 2a3a0c302..2c7dff7cc 100644 --- a/tests/bson-corpus/decimal128-3-valid-251.phpt +++ b/tests/bson-corpus/decimal128-3-valid-251.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000143000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000143000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-19"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E-19"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000143000 {"d":{"$numberDecimal":"1.265E-19"}} -{"d":{"$numberDecimal":"1.265E-19"}} -{"d":{"$numberDecimal":"1.265E-19"}} 18000000136400f104000000000000000000000000143000 18000000136400f104000000000000000000000000143000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-252.phpt b/tests/bson-corpus/decimal128-3-valid-252.phpt index ab001f2df..cd1eb3eed 100644 --- a/tests/bson-corpus/decimal128-3-valid-252.phpt +++ b/tests/bson-corpus/decimal128-3-valid-252.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000643000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000643000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+21"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E+20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E+20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+21"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000643000 {"d":{"$numberDecimal":"1.265E+21"}} -{"d":{"$numberDecimal":"1.265E+21"}} -{"d":{"$numberDecimal":"1.265E+21"}} 18000000136400f104000000000000000000000000643000 18000000136400f104000000000000000000000000643000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-253.phpt b/tests/bson-corpus/decimal128-3-valid-253.phpt index 4cf595014..444eae8e7 100644 --- a/tests/bson-corpus/decimal128-3-valid-253.phpt +++ b/tests/bson-corpus/decimal128-3-valid-253.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000383000 {"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} 18000000136400f104000000000000000000000000383000 18000000136400f104000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-254.phpt b/tests/bson-corpus/decimal128-3-valid-254.phpt index 9c01d0668..feea7a6ad 100644 --- a/tests/bson-corpus/decimal128-3-valid-254.phpt +++ b/tests/bson-corpus/decimal128-3-valid-254.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000403000 {"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} 18000000136400f104000000000000000000000000403000 18000000136400f104000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-255.phpt b/tests/bson-corpus/decimal128-3-valid-255.phpt index 6e03029f8..1cdec5bb4 100644 --- a/tests/bson-corpus/decimal128-3-valid-255.phpt +++ b/tests/bson-corpus/decimal128-3-valid-255.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000363000 {"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} 18000000136400f104000000000000000000000000363000 18000000136400f104000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-256.phpt b/tests/bson-corpus/decimal128-3-valid-256.phpt index 9f0ee0f15..ddaa8ea5e 100644 --- a/tests/bson-corpus/decimal128-3-valid-256.phpt +++ b/tests/bson-corpus/decimal128-3-valid-256.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000423000 {"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} 18000000136400f104000000000000000000000000423000 18000000136400f104000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-257.phpt b/tests/bson-corpus/decimal128-3-valid-257.phpt index 01280fcf3..166b4a136 100644 --- a/tests/bson-corpus/decimal128-3-valid-257.phpt +++ b/tests/bson-corpus/decimal128-3-valid-257.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000343000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000343000 {"d":{"$numberDecimal":"0.001265"}} -{"d":{"$numberDecimal":"0.001265"}} -{"d":{"$numberDecimal":"0.001265"}} 18000000136400f104000000000000000000000000343000 18000000136400f104000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-258.phpt b/tests/bson-corpus/decimal128-3-valid-258.phpt index fcf22e719..9c8840174 100644 --- a/tests/bson-corpus/decimal128-3-valid-258.phpt +++ b/tests/bson-corpus/decimal128-3-valid-258.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000443000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E+4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000443000 {"d":{"$numberDecimal":"1.265E+5"}} -{"d":{"$numberDecimal":"1.265E+5"}} -{"d":{"$numberDecimal":"1.265E+5"}} 18000000136400f104000000000000000000000000443000 18000000136400f104000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-259.phpt b/tests/bson-corpus/decimal128-3-valid-259.phpt index bd61e9790..c9e0f9b01 100644 --- a/tests/bson-corpus/decimal128-3-valid-259.phpt +++ b/tests/bson-corpus/decimal128-3-valid-259.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000002C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000002C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000002c3000 {"d":{"$numberDecimal":"1.265E-7"}} -{"d":{"$numberDecimal":"1.265E-7"}} -{"d":{"$numberDecimal":"1.265E-7"}} 18000000136400f1040000000000000000000000002c3000 18000000136400f1040000000000000000000000002c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-260.phpt b/tests/bson-corpus/decimal128-3-valid-260.phpt index fe149ad11..c69904bd6 100644 --- a/tests/bson-corpus/decimal128-3-valid-260.phpt +++ b/tests/bson-corpus/decimal128-3-valid-260.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000004C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000004C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+9"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "12.65E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.65E+8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+9"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000004c3000 {"d":{"$numberDecimal":"1.265E+9"}} -{"d":{"$numberDecimal":"1.265E+9"}} -{"d":{"$numberDecimal":"1.265E+9"}} 18000000136400f1040000000000000000000000004c3000 18000000136400f1040000000000000000000000004c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-261.phpt b/tests/bson-corpus/decimal128-3-valid-261.phpt index cbffc8517..a83d45c74 100644 --- a/tests/bson-corpus/decimal128-3-valid-261.phpt +++ b/tests/bson-corpus/decimal128-3-valid-261.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.76"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "012.76"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "012.76"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.76"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400fc040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} 18000000136400fc040000000000000000000000003c3000 18000000136400fc040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-262.phpt b/tests/bson-corpus/decimal128-3-valid-262.phpt index f5fe6cd35..d003b4501 100644 --- a/tests/bson-corpus/decimal128-3-valid-262.phpt +++ b/tests/bson-corpus/decimal128-3-valid-262.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.76"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12.76"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400fc040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} 18000000136400fc040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-263.phpt b/tests/bson-corpus/decimal128-3-valid-263.phpt index 5165a9713..1204a82e1 100644 --- a/tests/bson-corpus/decimal128-3-valid-263.phpt +++ b/tests/bson-corpus/decimal128-3-valid-263.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001100000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364001100000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "17"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "17."}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "17."}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "17"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364001100000000000000000000000000403000 {"d":{"$numberDecimal":"17"}} -{"d":{"$numberDecimal":"17"}} -{"d":{"$numberDecimal":"17"}} 180000001364001100000000000000000000000000403000 180000001364001100000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-264.phpt b/tests/bson-corpus/decimal128-3-valid-264.phpt index f993b68e3..5835a4ea0 100644 --- a/tests/bson-corpus/decimal128-3-valid-264.phpt +++ b/tests/bson-corpus/decimal128-3-valid-264.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364002C00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364002C00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "44"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0044"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0044"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "44"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364002c00000000000000000000000000403000 {"d":{"$numberDecimal":"44"}} -{"d":{"$numberDecimal":"44"}} -{"d":{"$numberDecimal":"44"}} 180000001364002c00000000000000000000000000403000 180000001364002c00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-265.phpt b/tests/bson-corpus/decimal128-3-valid-265.phpt index 2382b87b1..c5a48f5ee 100644 --- a/tests/bson-corpus/decimal128-3-valid-265.phpt +++ b/tests/bson-corpus/decimal128-3-valid-265.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364002C00000000000000000000000000403000'); +$canonicalBson = hex2bin('180000001364002C00000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "44"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "044"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "044"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "44"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364002c00000000000000000000000000403000 {"d":{"$numberDecimal":"44"}} -{"d":{"$numberDecimal":"44"}} -{"d":{"$numberDecimal":"44"}} 180000001364002c00000000000000000000000000403000 180000001364002c00000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-266.phpt b/tests/bson-corpus/decimal128-3-valid-266.phpt index 9f45fae8b..f0a4778cf 100644 --- a/tests/bson-corpus/decimal128-3-valid-266.phpt +++ b/tests/bson-corpus/decimal128-3-valid-266.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364002C00000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364002C00000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "4.4E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "44E+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "44E+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "4.4E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364002c00000000000000000000000000523000 {"d":{"$numberDecimal":"4.4E+10"}} -{"d":{"$numberDecimal":"4.4E+10"}} -{"d":{"$numberDecimal":"4.4E+10"}} 180000001364002c00000000000000000000000000523000 180000001364002c00000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-267.phpt b/tests/bson-corpus/decimal128-3-valid-267.phpt index 5337d6edd..6666b3b9c 100644 --- a/tests/bson-corpus/decimal128-3-valid-267.phpt +++ b/tests/bson-corpus/decimal128-3-valid-267.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364003200000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364003200000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0000050"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "50E-7"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "50E-7"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0000050"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364003200000000000000000000000000323000 {"d":{"$numberDecimal":"0.0000050"}} -{"d":{"$numberDecimal":"0.0000050"}} -{"d":{"$numberDecimal":"0.0000050"}} 180000001364003200000000000000000000000000323000 180000001364003200000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-268.phpt b/tests/bson-corpus/decimal128-3-valid-268.phpt index 1fc65e463..144d31231 100644 --- a/tests/bson-corpus/decimal128-3-valid-268.phpt +++ b/tests/bson-corpus/decimal128-3-valid-268.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006400000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364006400000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00E+11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "100e+009"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "100e+009"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00E+11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364006400000000000000000000000000523000 {"d":{"$numberDecimal":"1.00E+11"}} -{"d":{"$numberDecimal":"1.00E+11"}} -{"d":{"$numberDecimal":"1.00E+11"}} 180000001364006400000000000000000000000000523000 180000001364006400000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-269.phpt b/tests/bson-corpus/decimal128-3-valid-269.phpt index c40c7749a..e9fe6bea0 100644 --- a/tests/bson-corpus/decimal128-3-valid-269.phpt +++ b/tests/bson-corpus/decimal128-3-valid-269.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006400000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364006400000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00E+11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "100e+09"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "100e+09"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00E+11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364006400000000000000000000000000523000 {"d":{"$numberDecimal":"1.00E+11"}} -{"d":{"$numberDecimal":"1.00E+11"}} -{"d":{"$numberDecimal":"1.00E+11"}} 180000001364006400000000000000000000000000523000 180000001364006400000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-270.phpt b/tests/bson-corpus/decimal128-3-valid-270.phpt index 6c145a05e..14700d028 100644 --- a/tests/bson-corpus/decimal128-3-valid-270.phpt +++ b/tests/bson-corpus/decimal128-3-valid-270.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006400000000000000000000000000F43000'); +$canonicalBson = hex2bin('180000001364006400000000000000000000000000F43000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00E+92"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "100E+90"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "100E+90"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00E+92"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364006400000000000000000000000000f43000 {"d":{"$numberDecimal":"1.00E+92"}} -{"d":{"$numberDecimal":"1.00E+92"}} -{"d":{"$numberDecimal":"1.00E+92"}} 180000001364006400000000000000000000000000f43000 180000001364006400000000000000000000000000f43000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-271.phpt b/tests/bson-corpus/decimal128-3-valid-271.phpt index bfbe8dff0..2efcf0dfa 100644 --- a/tests/bson-corpus/decimal128-3-valid-271.phpt +++ b/tests/bson-corpus/decimal128-3-valid-271.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006400000000000000000000000000523000'); +$canonicalBson = hex2bin('180000001364006400000000000000000000000000523000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00E+11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "100e+9"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "100e+9"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00E+11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364006400000000000000000000000000523000 {"d":{"$numberDecimal":"1.00E+11"}} -{"d":{"$numberDecimal":"1.00E+11"}} -{"d":{"$numberDecimal":"1.00E+11"}} 180000001364006400000000000000000000000000523000 180000001364006400000000000000000000000000523000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-272.phpt b/tests/bson-corpus/decimal128-3-valid-272.phpt index 3d6ea7c17..79b57625c 100644 --- a/tests/bson-corpus/decimal128-3-valid-272.phpt +++ b/tests/bson-corpus/decimal128-3-valid-272.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "126.5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003e3000 {"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} 18000000136400f1040000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-273.phpt b/tests/bson-corpus/decimal128-3-valid-273.phpt index 00364e1e7..f221b6e4a 100644 --- a/tests/bson-corpus/decimal128-3-valid-273.phpt +++ b/tests/bson-corpus/decimal128-3-valid-273.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "126.5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "126.5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003e3000 {"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} 18000000136400f1040000000000000000000000003e3000 18000000136400f1040000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-274.phpt b/tests/bson-corpus/decimal128-3-valid-274.phpt index 1389356e7..3bac4104a 100644 --- a/tests/bson-corpus/decimal128-3-valid-274.phpt +++ b/tests/bson-corpus/decimal128-3-valid-274.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.65"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.65"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} 18000000136400f1040000000000000000000000003c3000 18000000136400f1040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-275.phpt b/tests/bson-corpus/decimal128-3-valid-275.phpt index 2cfcaace4..58b2cdb79 100644 --- a/tests/bson-corpus/decimal128-3-valid-275.phpt +++ b/tests/bson-corpus/decimal128-3-valid-275.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000403000 {"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} 18000000136400f104000000000000000000000000403000 18000000136400f104000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-276.phpt b/tests/bson-corpus/decimal128-3-valid-276.phpt index 57e4c4bc7..60d7c016d 100644 --- a/tests/bson-corpus/decimal128-3-valid-276.phpt +++ b/tests/bson-corpus/decimal128-3-valid-276.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000163000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000163000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-18"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E-18"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000163000 {"d":{"$numberDecimal":"1.265E-18"}} -{"d":{"$numberDecimal":"1.265E-18"}} -{"d":{"$numberDecimal":"1.265E-18"}} 18000000136400f104000000000000000000000000163000 18000000136400f104000000000000000000000000163000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-277.phpt b/tests/bson-corpus/decimal128-3-valid-277.phpt index 6f3d6f9ac..ae5437e8d 100644 --- a/tests/bson-corpus/decimal128-3-valid-277.phpt +++ b/tests/bson-corpus/decimal128-3-valid-277.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000663000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000663000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+22"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E+20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E+20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+22"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000663000 {"d":{"$numberDecimal":"1.265E+22"}} -{"d":{"$numberDecimal":"1.265E+22"}} -{"d":{"$numberDecimal":"1.265E+22"}} 18000000136400f104000000000000000000000000663000 18000000136400f104000000000000000000000000663000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-278.phpt b/tests/bson-corpus/decimal128-3-valid-278.phpt index 68abfc85d..22b3c7ee3 100644 --- a/tests/bson-corpus/decimal128-3-valid-278.phpt +++ b/tests/bson-corpus/decimal128-3-valid-278.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} 18000000136400f1040000000000000000000000003a3000 18000000136400f1040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-279.phpt b/tests/bson-corpus/decimal128-3-valid-279.phpt index 0434112be..10c9aa73c 100644 --- a/tests/bson-corpus/decimal128-3-valid-279.phpt +++ b/tests/bson-corpus/decimal128-3-valid-279.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000423000 {"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} 18000000136400f104000000000000000000000000423000 18000000136400f104000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-280.phpt b/tests/bson-corpus/decimal128-3-valid-280.phpt index aa02191f9..7ad799be7 100644 --- a/tests/bson-corpus/decimal128-3-valid-280.phpt +++ b/tests/bson-corpus/decimal128-3-valid-280.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000383000 {"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} 18000000136400f104000000000000000000000000383000 18000000136400f104000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-281.phpt b/tests/bson-corpus/decimal128-3-valid-281.phpt index 355bc88a1..f2753e446 100644 --- a/tests/bson-corpus/decimal128-3-valid-281.phpt +++ b/tests/bson-corpus/decimal128-3-valid-281.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000443000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000443000 {"d":{"$numberDecimal":"1.265E+5"}} -{"d":{"$numberDecimal":"1.265E+5"}} -{"d":{"$numberDecimal":"1.265E+5"}} 18000000136400f104000000000000000000000000443000 18000000136400f104000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-282.phpt b/tests/bson-corpus/decimal128-3-valid-282.phpt index 4978e3e36..c59fb63cf 100644 --- a/tests/bson-corpus/decimal128-3-valid-282.phpt +++ b/tests/bson-corpus/decimal128-3-valid-282.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.01265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000363000 {"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} -{"d":{"$numberDecimal":"0.01265"}} 18000000136400f104000000000000000000000000363000 18000000136400f104000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-283.phpt b/tests/bson-corpus/decimal128-3-valid-283.phpt index 212fd68aa..42d0ea37b 100644 --- a/tests/bson-corpus/decimal128-3-valid-283.phpt +++ b/tests/bson-corpus/decimal128-3-valid-283.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000463000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+6"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E+4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+6"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000463000 {"d":{"$numberDecimal":"1.265E+6"}} -{"d":{"$numberDecimal":"1.265E+6"}} -{"d":{"$numberDecimal":"1.265E+6"}} 18000000136400f104000000000000000000000000463000 18000000136400f104000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-284.phpt b/tests/bson-corpus/decimal128-3-valid-284.phpt index b47584451..0be453795 100644 --- a/tests/bson-corpus/decimal128-3-valid-284.phpt +++ b/tests/bson-corpus/decimal128-3-valid-284.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000002E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000002E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.000001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000002e3000 {"d":{"$numberDecimal":"0.000001265"}} -{"d":{"$numberDecimal":"0.000001265"}} -{"d":{"$numberDecimal":"0.000001265"}} 18000000136400f1040000000000000000000000002e3000 18000000136400f1040000000000000000000000002e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-285.phpt b/tests/bson-corpus/decimal128-3-valid-285.phpt index f023b5ff8..f39d69338 100644 --- a/tests/bson-corpus/decimal128-3-valid-285.phpt +++ b/tests/bson-corpus/decimal128-3-valid-285.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000004E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000004E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+10"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "126.5E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "126.5E+8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+10"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000004e3000 {"d":{"$numberDecimal":"1.265E+10"}} -{"d":{"$numberDecimal":"1.265E+10"}} -{"d":{"$numberDecimal":"1.265E+10"}} 18000000136400f1040000000000000000000000004e3000 18000000136400f1040000000000000000000000004e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-286.phpt b/tests/bson-corpus/decimal128-3-valid-286.phpt index 45fb3f08a..d18d54e5d 100644 --- a/tests/bson-corpus/decimal128-3-valid-286.phpt +++ b/tests/bson-corpus/decimal128-3-valid-286.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E803000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400E803000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400e803000000000000000000000000403000 {"d":{"$numberDecimal":"1000"}} -{"d":{"$numberDecimal":"1000"}} 18000000136400e803000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-287.phpt b/tests/bson-corpus/decimal128-3-valid-287.phpt index 5b4e3aee8..518a75184 100644 --- a/tests/bson-corpus/decimal128-3-valid-287.phpt +++ b/tests/bson-corpus/decimal128-3-valid-287.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1265"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000403000 {"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} 18000000136400f104000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-288.phpt b/tests/bson-corpus/decimal128-3-valid-288.phpt index 1eeddb836..c05640d7d 100644 --- a/tests/bson-corpus/decimal128-3-valid-288.phpt +++ b/tests/bson-corpus/decimal128-3-valid-288.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000403000 {"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} -{"d":{"$numberDecimal":"1265"}} 18000000136400f104000000000000000000000000403000 18000000136400f104000000000000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-289.phpt b/tests/bson-corpus/decimal128-3-valid-289.phpt index 66f3eb8b8..1757b1ba6 100644 --- a/tests/bson-corpus/decimal128-3-valid-289.phpt +++ b/tests/bson-corpus/decimal128-3-valid-289.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "126.5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "126.5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003e3000 {"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} -{"d":{"$numberDecimal":"126.5"}} 18000000136400f1040000000000000000000000003e3000 18000000136400f1040000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-290.phpt b/tests/bson-corpus/decimal128-3-valid-290.phpt index 6edb33eb1..57207a2db 100644 --- a/tests/bson-corpus/decimal128-3-valid-290.phpt +++ b/tests/bson-corpus/decimal128-3-valid-290.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000423000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E+1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E+1"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+4"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000423000 {"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} -{"d":{"$numberDecimal":"1.265E+4"}} 18000000136400f104000000000000000000000000423000 18000000136400f104000000000000000000000000423000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-291.phpt b/tests/bson-corpus/decimal128-3-valid-291.phpt index 1ac7b121f..bdcf79894 100644 --- a/tests/bson-corpus/decimal128-3-valid-291.phpt +++ b/tests/bson-corpus/decimal128-3-valid-291.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000183000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000183000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E-17"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E-17"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000183000 {"d":{"$numberDecimal":"1.265E-17"}} -{"d":{"$numberDecimal":"1.265E-17"}} -{"d":{"$numberDecimal":"1.265E-17"}} 18000000136400f104000000000000000000000000183000 18000000136400f104000000000000000000000000183000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-292.phpt b/tests/bson-corpus/decimal128-3-valid-292.phpt index e69adfb44..52d45ad17 100644 --- a/tests/bson-corpus/decimal128-3-valid-292.phpt +++ b/tests/bson-corpus/decimal128-3-valid-292.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000683000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000683000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+23"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E+20"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E+20"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+23"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000683000 {"d":{"$numberDecimal":"1.265E+23"}} -{"d":{"$numberDecimal":"1.265E+23"}} -{"d":{"$numberDecimal":"1.265E+23"}} 18000000136400f104000000000000000000000000683000 18000000136400f104000000000000000000000000683000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-293.phpt b/tests/bson-corpus/decimal128-3-valid-293.phpt index b7a86e259..79d2ddf1a 100644 --- a/tests/bson-corpus/decimal128-3-valid-293.phpt +++ b/tests/bson-corpus/decimal128-3-valid-293.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.65"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.65"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} -{"d":{"$numberDecimal":"12.65"}} 18000000136400f1040000000000000000000000003c3000 18000000136400f1040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-294.phpt b/tests/bson-corpus/decimal128-3-valid-294.phpt index 96da76327..1e3d5e612 100644 --- a/tests/bson-corpus/decimal128-3-valid-294.phpt +++ b/tests/bson-corpus/decimal128-3-valid-294.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000443000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000443000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E+2"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E+2"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000443000 {"d":{"$numberDecimal":"1.265E+5"}} -{"d":{"$numberDecimal":"1.265E+5"}} -{"d":{"$numberDecimal":"1.265E+5"}} 18000000136400f104000000000000000000000000443000 18000000136400f104000000000000000000000000443000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-295.phpt b/tests/bson-corpus/decimal128-3-valid-295.phpt index 160c12907..2bb5dcc83 100644 --- a/tests/bson-corpus/decimal128-3-valid-295.phpt +++ b/tests/bson-corpus/decimal128-3-valid-295.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalBson = hex2bin('18000000136400F1040000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f1040000000000000000000000003a3000 {"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} -{"d":{"$numberDecimal":"1.265"}} 18000000136400f1040000000000000000000000003a3000 18000000136400f1040000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-296.phpt b/tests/bson-corpus/decimal128-3-valid-296.phpt index f6a5a5de0..703df767e 100644 --- a/tests/bson-corpus/decimal128-3-valid-296.phpt +++ b/tests/bson-corpus/decimal128-3-valid-296.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000463000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000463000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+6"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E+3"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E+3"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+6"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000463000 {"d":{"$numberDecimal":"1.265E+6"}} -{"d":{"$numberDecimal":"1.265E+6"}} -{"d":{"$numberDecimal":"1.265E+6"}} 18000000136400f104000000000000000000000000463000 18000000136400f104000000000000000000000000463000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-297.phpt b/tests/bson-corpus/decimal128-3-valid-297.phpt index 8a6e0b2fc..666209569 100644 --- a/tests/bson-corpus/decimal128-3-valid-297.phpt +++ b/tests/bson-corpus/decimal128-3-valid-297.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.1265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000383000 {"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} -{"d":{"$numberDecimal":"0.1265"}} 18000000136400f104000000000000000000000000383000 18000000136400f104000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-298.phpt b/tests/bson-corpus/decimal128-3-valid-298.phpt index dd3e9cc2c..1577da84b 100644 --- a/tests/bson-corpus/decimal128-3-valid-298.phpt +++ b/tests/bson-corpus/decimal128-3-valid-298.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000483000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000483000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E+4"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E+4"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000483000 {"d":{"$numberDecimal":"1.265E+7"}} -{"d":{"$numberDecimal":"1.265E+7"}} -{"d":{"$numberDecimal":"1.265E+7"}} 18000000136400f104000000000000000000000000483000 18000000136400f104000000000000000000000000483000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-299.phpt b/tests/bson-corpus/decimal128-3-valid-299.phpt index c19e61bf4..96cb73a99 100644 --- a/tests/bson-corpus/decimal128-3-valid-299.phpt +++ b/tests/bson-corpus/decimal128-3-valid-299.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000303000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00001265"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E-8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E-8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00001265"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000303000 {"d":{"$numberDecimal":"0.00001265"}} -{"d":{"$numberDecimal":"0.00001265"}} -{"d":{"$numberDecimal":"0.00001265"}} 18000000136400f104000000000000000000000000303000 18000000136400f104000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-300.phpt b/tests/bson-corpus/decimal128-3-valid-300.phpt index d595d36ab..3bcafdf57 100644 --- a/tests/bson-corpus/decimal128-3-valid-300.phpt +++ b/tests/bson-corpus/decimal128-3-valid-300.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F104000000000000000000000000503000'); +$canonicalBson = hex2bin('18000000136400F104000000000000000000000000503000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.265E+11"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1265E+8"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1265E+8"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.265E+11"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f104000000000000000000000000503000 {"d":{"$numberDecimal":"1.265E+11"}} -{"d":{"$numberDecimal":"1.265E+11"}} -{"d":{"$numberDecimal":"1.265E+11"}} 18000000136400f104000000000000000000000000503000 18000000136400f104000000000000000000000000503000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-301.phpt b/tests/bson-corpus/decimal128-3-valid-301.phpt index 70fe23c82..185d5a255 100644 --- a/tests/bson-corpus/decimal128-3-valid-301.phpt +++ b/tests/bson-corpus/decimal128-3-valid-301.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalBson = hex2bin('18000000136400185C0ACE00000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "345678.5432"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "345678.5432"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 18000000136400185c0ace00000000000000000000383000 {"d":{"$numberDecimal":"345678.5432"}} -{"d":{"$numberDecimal":"345678.5432"}} 18000000136400185c0ace00000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-302.phpt b/tests/bson-corpus/decimal128-3-valid-302.phpt index f59337b17..3806c8efb 100644 --- a/tests/bson-corpus/decimal128-3-valid-302.phpt +++ b/tests/bson-corpus/decimal128-3-valid-302.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400F198670C08000000000000000000363000'); +$canonicalBson = hex2bin('18000000136400F198670C08000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "345678.54321"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0345678.54321"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0345678.54321"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "345678.54321"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400f198670c08000000000000000000363000 {"d":{"$numberDecimal":"345678.54321"}} -{"d":{"$numberDecimal":"345678.54321"}} -{"d":{"$numberDecimal":"345678.54321"}} 18000000136400f198670c08000000000000000000363000 18000000136400f198670c08000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-303.phpt b/tests/bson-corpus/decimal128-3-valid-303.phpt index 39c5e544d..951ba628e 100644 --- a/tests/bson-corpus/decimal128-3-valid-303.phpt +++ b/tests/bson-corpus/decimal128-3-valid-303.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006AF90B7C50000000000000000000343000'); +$canonicalBson = hex2bin('180000001364006AF90B7C50000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "345678.543210"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "345678.543210"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006af90b7c50000000000000000000343000 {"d":{"$numberDecimal":"345678.543210"}} -{"d":{"$numberDecimal":"345678.543210"}} 180000001364006af90b7c50000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-304.phpt b/tests/bson-corpus/decimal128-3-valid-304.phpt index 45e842d2a..890d260d9 100644 --- a/tests/bson-corpus/decimal128-3-valid-304.phpt +++ b/tests/bson-corpus/decimal128-3-valid-304.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006A19562522020000000000000000343000'); +$canonicalBson = hex2bin('180000001364006A19562522020000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "2345678.543210"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "2345678.543210"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006a19562522020000000000000000343000 {"d":{"$numberDecimal":"2345678.543210"}} -{"d":{"$numberDecimal":"2345678.543210"}} 180000001364006a19562522020000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-305.phpt b/tests/bson-corpus/decimal128-3-valid-305.phpt index 4fdb344b4..adb531931 100644 --- a/tests/bson-corpus/decimal128-3-valid-305.phpt +++ b/tests/bson-corpus/decimal128-3-valid-305.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006AB9C8733A0B0000000000000000343000'); +$canonicalBson = hex2bin('180000001364006AB9C8733A0B0000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12345678.543210"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "12345678.543210"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364006ab9c8733a0b0000000000000000343000 {"d":{"$numberDecimal":"12345678.543210"}} -{"d":{"$numberDecimal":"12345678.543210"}} 180000001364006ab9c8733a0b0000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-306.phpt b/tests/bson-corpus/decimal128-3-valid-306.phpt index 9b24b0ed4..2fd760c02 100644 --- a/tests/bson-corpus/decimal128-3-valid-306.phpt +++ b/tests/bson-corpus/decimal128-3-valid-306.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640040AF0D8648700000000000000000343000'); +$canonicalBson = hex2bin('1800000013640040AF0D8648700000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "123456789.000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "123456789.000000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640040af0d8648700000000000000000343000 {"d":{"$numberDecimal":"123456789.000000"}} -{"d":{"$numberDecimal":"123456789.000000"}} 1800000013640040af0d8648700000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-307.phpt b/tests/bson-corpus/decimal128-3-valid-307.phpt index c15ffe7e2..a402c6963 100644 --- a/tests/bson-corpus/decimal128-3-valid-307.phpt +++ b/tests/bson-corpus/decimal128-3-valid-307.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640080910F8648700000000000000000343000'); +$canonicalBson = hex2bin('1800000013640080910F8648700000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "123456789.123456"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "123456789.123456"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640080910f8648700000000000000000343000 {"d":{"$numberDecimal":"123456789.123456"}} -{"d":{"$numberDecimal":"123456789.123456"}} 1800000013640080910f8648700000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-3-valid-308.phpt b/tests/bson-corpus/decimal128-3-valid-308.phpt index 3f5aa84e3..067946e42 100644 --- a/tests/bson-corpus/decimal128-3-valid-308.phpt +++ b/tests/bson-corpus/decimal128-3-valid-308.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640080910F8648700000000000000000403000'); +$canonicalBson = hex2bin('1800000013640080910F8648700000000000000000403000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "123456789123456"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "123456789123456"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640080910f8648700000000000000000403000 {"d":{"$numberDecimal":"123456789123456"}} -{"d":{"$numberDecimal":"123456789123456"}} 1800000013640080910f8648700000000000000000403000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-001.phpt b/tests/bson-corpus/decimal128-4-valid-001.phpt index 0f0510115..09d2ef00f 100644 --- a/tests/bson-corpus/decimal128-4-valid-001.phpt +++ b/tests/bson-corpus/decimal128-4-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640001000000000000000000000000003EB000'); +$canonicalBson = hex2bin('1800000013640001000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.1"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.1"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1800000013640001000000000000000000000000003eb000 {"d":{"$numberDecimal":"-0.1"}} -{"d":{"$numberDecimal":"-0.1"}} 1800000013640001000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-002.phpt b/tests/bson-corpus/decimal128-4-valid-002.phpt index e846fdd2a..450533c3c 100644 --- a/tests/bson-corpus/decimal128-4-valid-002.phpt +++ b/tests/bson-corpus/decimal128-4-valid-002.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640003000000000000000000000000003A3000'); +$canonicalBson = hex2bin('1800000013640003000000000000000000000000003A3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.003"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+0.003"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+0.003"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.003"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640003000000000000000000000000003a3000 {"d":{"$numberDecimal":"0.003"}} -{"d":{"$numberDecimal":"0.003"}} -{"d":{"$numberDecimal":"0.003"}} 1800000013640003000000000000000000000000003a3000 1800000013640003000000000000000000000000003a3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-003.phpt b/tests/bson-corpus/decimal128-4-valid-003.phpt index 0d0725ea7..4e3ef7aef 100644 --- a/tests/bson-corpus/decimal128-4-valid-003.phpt +++ b/tests/bson-corpus/decimal128-4-valid-003.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : ".0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : ".0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} -{"d":{"$numberDecimal":"0.0"}} 1800000013640000000000000000000000000000003e3000 1800000013640000000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-004.phpt b/tests/bson-corpus/decimal128-4-valid-004.phpt index eb9c05f17..e5d5ab2d0 100644 --- a/tests/bson-corpus/decimal128-4-valid-004.phpt +++ b/tests/bson-corpus/decimal128-4-valid-004.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalBson = hex2bin('1800000013640000000000000000000000000000003EB000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0.0"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-.0"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-.0"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0.0"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000000000000000000000000003eb000 {"d":{"$numberDecimal":"-0.0"}} -{"d":{"$numberDecimal":"-0.0"}} -{"d":{"$numberDecimal":"-0.0"}} 1800000013640000000000000000000000000000003eb000 1800000013640000000000000000000000000000003eb000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-005.phpt b/tests/bson-corpus/decimal128-4-valid-005.phpt index 8b46b1c5d..b99465d0c 100644 --- a/tests/bson-corpus/decimal128-4-valid-005.phpt +++ b/tests/bson-corpus/decimal128-4-valid-005.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalBson = hex2bin('18000000136400FC040000000000000000000000003C3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "12.76"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "+12.76"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "+12.76"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "12.76"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400fc040000000000000000000000003c3000 {"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} -{"d":{"$numberDecimal":"12.76"}} 18000000136400fc040000000000000000000000003c3000 18000000136400fc040000000000000000000000003c3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-006.phpt b/tests/bson-corpus/decimal128-4-valid-006.phpt index 2e32e226a..d95e09e7e 100644 --- a/tests/bson-corpus/decimal128-4-valid-006.phpt +++ b/tests/bson-corpus/decimal128-4-valid-006.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000303000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000303000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "5E-8"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00000005"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00000005"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "5E-8"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000303000 {"d":{"$numberDecimal":"5E-8"}} -{"d":{"$numberDecimal":"5E-8"}} -{"d":{"$numberDecimal":"5E-8"}} 180000001364000500000000000000000000000000303000 180000001364000500000000000000000000000000303000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-007.phpt b/tests/bson-corpus/decimal128-4-valid-007.phpt index 108ce5ea6..42aed6c18 100644 --- a/tests/bson-corpus/decimal128-4-valid-007.phpt +++ b/tests/bson-corpus/decimal128-4-valid-007.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000323000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000323000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "5E-7"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.0000005"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0000005"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "5E-7"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000323000 {"d":{"$numberDecimal":"5E-7"}} -{"d":{"$numberDecimal":"5E-7"}} -{"d":{"$numberDecimal":"5E-7"}} 180000001364000500000000000000000000000000323000 180000001364000500000000000000000000000000323000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-008.phpt b/tests/bson-corpus/decimal128-4-valid-008.phpt index bfa92e78c..80fcc0f87 100644 --- a/tests/bson-corpus/decimal128-4-valid-008.phpt +++ b/tests/bson-corpus/decimal128-4-valid-008.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000343000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000343000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.000005"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000005"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000343000 {"d":{"$numberDecimal":"0.000005"}} -{"d":{"$numberDecimal":"0.000005"}} 180000001364000500000000000000000000000000343000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-009.phpt b/tests/bson-corpus/decimal128-4-valid-009.phpt index 20cf52a25..3232ca365 100644 --- a/tests/bson-corpus/decimal128-4-valid-009.phpt +++ b/tests/bson-corpus/decimal128-4-valid-009.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000363000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000363000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.00005"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "00.00005"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "00.00005"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.00005"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000363000 {"d":{"$numberDecimal":"0.00005"}} -{"d":{"$numberDecimal":"0.00005"}} -{"d":{"$numberDecimal":"0.00005"}} 180000001364000500000000000000000000000000363000 180000001364000500000000000000000000000000363000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-010.phpt b/tests/bson-corpus/decimal128-4-valid-010.phpt index 4f9703f55..09ac3bae2 100644 --- a/tests/bson-corpus/decimal128-4-valid-010.phpt +++ b/tests/bson-corpus/decimal128-4-valid-010.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000500000000000000000000000000383000'); +$canonicalBson = hex2bin('180000001364000500000000000000000000000000383000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.0005"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.0005"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000500000000000000000000000000383000 {"d":{"$numberDecimal":"0.0005"}} -{"d":{"$numberDecimal":"0.0005"}} 180000001364000500000000000000000000000000383000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-011.phpt b/tests/bson-corpus/decimal128-4-valid-011.phpt index bc64e4086..7eb48c3ac 100644 --- a/tests/bson-corpus/decimal128-4-valid-011.phpt +++ b/tests/bson-corpus/decimal128-4-valid-011.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640005000000000000000000000000003E3000'); +$canonicalBson = hex2bin('1800000013640005000000000000000000000000003E3000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.5"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : ".5"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : ".5"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.5"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640005000000000000000000000000003e3000 {"d":{"$numberDecimal":"0.5"}} -{"d":{"$numberDecimal":"0.5"}} -{"d":{"$numberDecimal":"0.5"}} 1800000013640005000000000000000000000000003e3000 1800000013640005000000000000000000000000003e3000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-012.phpt b/tests/bson-corpus/decimal128-4-valid-012.phpt index 7bf8e4edc..a54f4943f 100644 --- a/tests/bson-corpus/decimal128-4-valid-012.phpt +++ b/tests/bson-corpus/decimal128-4-valid-012.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640099761CC7B548F377DC80A131C836FE2F00'); +$canonicalBson = hex2bin('1800000013640099761CC7B548F377DC80A131C836FE2F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.111111111111111111111111111112345"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.1111111111111111111111111111123450"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.1111111111111111111111111111123450"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.111111111111111111111111111112345"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640099761cc7b548f377dc80a131c836fe2f00 {"d":{"$numberDecimal":"1.111111111111111111111111111112345"}} -{"d":{"$numberDecimal":"1.111111111111111111111111111112345"}} -{"d":{"$numberDecimal":"1.111111111111111111111111111112345"}} 1800000013640099761cc7b548f377dc80a131c836fe2f00 1800000013640099761cc7b548f377dc80a131c836fe2f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-4-valid-013.phpt b/tests/bson-corpus/decimal128-4-valid-013.phpt index a67d753bc..24cb72a83 100644 --- a/tests/bson-corpus/decimal128-4-valid-013.phpt +++ b/tests/bson-corpus/decimal128-4-valid-013.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FC2F00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FC2F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0.1000000000000000000000000000000000"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : ".100000000000000000000000000000000000000000000000000000000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : ".100000000000000000000000000000000000000000000000000000000000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0.1000000000000000000000000000000000"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fc2f00 {"d":{"$numberDecimal":"0.1000000000000000000000000000000000"}} -{"d":{"$numberDecimal":"0.1000000000000000000000000000000000"}} -{"d":{"$numberDecimal":"0.1000000000000000000000000000000000"}} 18000000136400000000000a5bc138938d44c64d31fc2f00 18000000136400000000000a5bc138938d44c64d31fc2f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-001.phpt b/tests/bson-corpus/decimal128-5-valid-001.phpt index b4fc47e54..c00373dfa 100644 --- a/tests/bson-corpus/decimal128-5-valid-001.phpt +++ b/tests/bson-corpus/decimal128-5-valid-001.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFE5F00'); +$canonicalBson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.230000000000000000000000000000000E+6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1.23E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.23E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.230000000000000000000000000000000E+6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000807f1bcf85b27059c8a43cfe5f00 {"d":{"$numberDecimal":"1.230000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.230000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.230000000000000000000000000000000E+6144"}} 18000000136400000000807f1bcf85b27059c8a43cfe5f00 18000000136400000000807f1bcf85b27059c8a43cfe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-002.phpt b/tests/bson-corpus/decimal128-5-valid-002.phpt index f811f4203..af161b313 100644 --- a/tests/bson-corpus/decimal128-5-valid-002.phpt +++ b/tests/bson-corpus/decimal128-5-valid-002.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} 18000000136400000000000a5bc138938d44c64d31fe5f00 18000000136400000000000a5bc138938d44c64d31fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-003.phpt b/tests/bson-corpus/decimal128-5-valid-003.phpt index 61cf7d71b..d53dc3ccc 100644 --- a/tests/bson-corpus/decimal128-5-valid-003.phpt +++ b/tests/bson-corpus/decimal128-5-valid-003.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000081EFAC855B416D2DEE04000000'); +$canonicalBson = hex2bin('180000001364000000000081EFAC855B416D2DEE04000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E-6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.100000000000000000000000000000000E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.100000000000000000000000000000000E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E-6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000081efac855b416d2dee04000000 {"d":{"$numberDecimal":"1.00000000000000000000000000000000E-6144"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000000E-6144"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000000E-6144"}} 180000001364000000000081efac855b416d2dee04000000 180000001364000000000081efac855b416d2dee04000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-004.phpt b/tests/bson-corpus/decimal128-5-valid-004.phpt index acfd275c4..55087774d 100644 --- a/tests/bson-corpus/decimal128-5-valid-004.phpt +++ b/tests/bson-corpus/decimal128-5-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000081EFAC855B416D2DEE04000000'); +$canonicalBson = hex2bin('180000001364000000000081EFAC855B416D2DEE04000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E-6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E-6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000081efac855b416d2dee04000000 {"d":{"$numberDecimal":"1.00000000000000000000000000000000E-6144"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000000E-6144"}} 180000001364000000000081efac855b416d2dee04000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-005.phpt b/tests/bson-corpus/decimal128-5-valid-005.phpt index 2ce1af7e3..e5d1d0d14 100644 --- a/tests/bson-corpus/decimal128-5-valid-005.phpt +++ b/tests/bson-corpus/decimal128-5-valid-005.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-6175"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000000000000000000000000000000010E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000000000000000000000000000000010E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E-6175"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000000000 {"d":{"$numberDecimal":"1.0E-6175"}} -{"d":{"$numberDecimal":"1.0E-6175"}} -{"d":{"$numberDecimal":"1.0E-6175"}} 180000001364000a00000000000000000000000000000000 180000001364000a00000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-006.phpt b/tests/bson-corpus/decimal128-5-valid-006.phpt index 678e61ae5..e8dca3e8d 100644 --- a/tests/bson-corpus/decimal128-5-valid-006.phpt +++ b/tests/bson-corpus/decimal128-5-valid-006.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E-6175"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1.0E-6175"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000000000 {"d":{"$numberDecimal":"1.0E-6175"}} -{"d":{"$numberDecimal":"1.0E-6175"}} 180000001364000a00000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-007.phpt b/tests/bson-corpus/decimal128-5-valid-007.phpt index 620ea35b3..723600454 100644 --- a/tests/bson-corpus/decimal128-5-valid-007.phpt +++ b/tests/bson-corpus/decimal128-5-valid-007.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000020000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000020000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6175"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.00000000000000000000000000000001E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.00000000000000000000000000000001E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E-6175"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000020000 {"d":{"$numberDecimal":"1E-6175"}} -{"d":{"$numberDecimal":"1E-6175"}} -{"d":{"$numberDecimal":"1E-6175"}} 180000001364000100000000000000000000000000020000 180000001364000100000000000000000000000000020000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-008.phpt b/tests/bson-corpus/decimal128-5-valid-008.phpt index 3b613d18c..7f92b2e1e 100644 --- a/tests/bson-corpus/decimal128-5-valid-008.phpt +++ b/tests/bson-corpus/decimal128-5-valid-008.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000020000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000020000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6175"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E-6175"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000020000 {"d":{"$numberDecimal":"1E-6175"}} -{"d":{"$numberDecimal":"1E-6175"}} 180000001364000100000000000000000000000000020000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-009.phpt b/tests/bson-corpus/decimal128-5-valid-009.phpt index 914f1385c..6e7f4c039 100644 --- a/tests/bson-corpus/decimal128-5-valid-009.phpt +++ b/tests/bson-corpus/decimal128-5-valid-009.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0.000000000000000000000000000000001E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0.000000000000000000000000000000001E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000000000 {"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} 180000001364000100000000000000000000000000000000 180000001364000100000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-010.phpt b/tests/bson-corpus/decimal128-5-valid-010.phpt index e8c24816b..734b8b27f 100644 --- a/tests/bson-corpus/decimal128-5-valid-010.phpt +++ b/tests/bson-corpus/decimal128-5-valid-010.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000000000 {"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} 180000001364000100000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-011.phpt b/tests/bson-corpus/decimal128-5-valid-011.phpt index 5adf0a25a..c2d998289 100644 --- a/tests/bson-corpus/decimal128-5-valid-011.phpt +++ b/tests/bson-corpus/decimal128-5-valid-011.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1e-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1e-6176"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000000000 {"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} -{"d":{"$numberDecimal":"1E-6176"}} 180000001364000100000000000000000000000000000000 180000001364000100000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-012.phpt b/tests/bson-corpus/decimal128-5-valid-012.phpt index da200b268..d670de514 100644 --- a/tests/bson-corpus/decimal128-5-valid-012.phpt +++ b/tests/bson-corpus/decimal128-5-valid-012.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF095BC138938D44C64D31000000'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF095BC138938D44C64D31000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "9.99999999999999999999999999999999E-6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "999999999999999999999999999999999e-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "999999999999999999999999999999999e-6176"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "9.99999999999999999999999999999999E-6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400ffffffff095bc138938d44c64d31000000 {"d":{"$numberDecimal":"9.99999999999999999999999999999999E-6144"}} -{"d":{"$numberDecimal":"9.99999999999999999999999999999999E-6144"}} -{"d":{"$numberDecimal":"9.99999999999999999999999999999999E-6144"}} 18000000136400ffffffff095bc138938d44c64d31000000 18000000136400ffffffff095bc138938d44c64d31000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-013.phpt b/tests/bson-corpus/decimal128-5-valid-013.phpt index ed8b96587..8d8bb5426 100644 --- a/tests/bson-corpus/decimal128-5-valid-013.phpt +++ b/tests/bson-corpus/decimal128-5-valid-013.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFEDF00'); +$canonicalBson = hex2bin('18000000136400000000807F1BCF85B27059C8A43CFEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.230000000000000000000000000000000E+6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-1.23E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.23E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1.230000000000000000000000000000000E+6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000807f1bcf85b27059c8a43cfedf00 {"d":{"$numberDecimal":"-1.230000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"-1.230000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"-1.230000000000000000000000000000000E+6144"}} 18000000136400000000807f1bcf85b27059c8a43cfedf00 18000000136400000000807f1bcf85b27059c8a43cfedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-014.phpt b/tests/bson-corpus/decimal128-5-valid-014.phpt index 20b9048fd..1260329b2 100644 --- a/tests/bson-corpus/decimal128-5-valid-014.phpt +++ b/tests/bson-corpus/decimal128-5-valid-014.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FEDF00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000000E+6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-1E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1.000000000000000000000000000000000E+6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fedf00 {"d":{"$numberDecimal":"-1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"-1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"-1.000000000000000000000000000000000E+6144"}} 18000000136400000000000a5bc138938d44c64d31fedf00 18000000136400000000000a5bc138938d44c64d31fedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-015.phpt b/tests/bson-corpus/decimal128-5-valid-015.phpt index 024282f4f..3608cab84 100644 --- a/tests/bson-corpus/decimal128-5-valid-015.phpt +++ b/tests/bson-corpus/decimal128-5-valid-015.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000081EFAC855B416D2DEE04008000'); +$canonicalBson = hex2bin('180000001364000000000081EFAC855B416D2DEE04008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.00000000000000000000000000000000E-6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.100000000000000000000000000000000E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.100000000000000000000000000000000E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1.00000000000000000000000000000000E-6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000081efac855b416d2dee04008000 {"d":{"$numberDecimal":"-1.00000000000000000000000000000000E-6144"}} -{"d":{"$numberDecimal":"-1.00000000000000000000000000000000E-6144"}} -{"d":{"$numberDecimal":"-1.00000000000000000000000000000000E-6144"}} 180000001364000000000081efac855b416d2dee04008000 180000001364000000000081efac855b416d2dee04008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-016.phpt b/tests/bson-corpus/decimal128-5-valid-016.phpt index 1df0d5869..302987ae1 100644 --- a/tests/bson-corpus/decimal128-5-valid-016.phpt +++ b/tests/bson-corpus/decimal128-5-valid-016.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000081EFAC855B416D2DEE04008000'); +$canonicalBson = hex2bin('180000001364000000000081EFAC855B416D2DEE04008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.00000000000000000000000000000000E-6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.00000000000000000000000000000000E-6144"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000000000081efac855b416d2dee04008000 {"d":{"$numberDecimal":"-1.00000000000000000000000000000000E-6144"}} -{"d":{"$numberDecimal":"-1.00000000000000000000000000000000E-6144"}} 180000001364000000000081efac855b416d2dee04008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-017.phpt b/tests/bson-corpus/decimal128-5-valid-017.phpt index 8a9de9bf9..40a355309 100644 --- a/tests/bson-corpus/decimal128-5-valid-017.phpt +++ b/tests/bson-corpus/decimal128-5-valid-017.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.0E-6175"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000000000000000000000000000000010E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000000000000000000000000000000010E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1.0E-6175"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000008000 {"d":{"$numberDecimal":"-1.0E-6175"}} -{"d":{"$numberDecimal":"-1.0E-6175"}} -{"d":{"$numberDecimal":"-1.0E-6175"}} 180000001364000a00000000000000000000000000008000 180000001364000a00000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-018.phpt b/tests/bson-corpus/decimal128-5-valid-018.phpt index 28b7dcece..0551f80af 100644 --- a/tests/bson-corpus/decimal128-5-valid-018.phpt +++ b/tests/bson-corpus/decimal128-5-valid-018.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1.0E-6175"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1.0E-6175"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000008000 {"d":{"$numberDecimal":"-1.0E-6175"}} -{"d":{"$numberDecimal":"-1.0E-6175"}} 180000001364000a00000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-019.phpt b/tests/bson-corpus/decimal128-5-valid-019.phpt index 04e0a8365..987c5f34b 100644 --- a/tests/bson-corpus/decimal128-5-valid-019.phpt +++ b/tests/bson-corpus/decimal128-5-valid-019.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000028000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000028000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6175"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.00000000000000000000000000000001E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.00000000000000000000000000000001E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1E-6175"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000028000 {"d":{"$numberDecimal":"-1E-6175"}} -{"d":{"$numberDecimal":"-1E-6175"}} -{"d":{"$numberDecimal":"-1E-6175"}} 180000001364000100000000000000000000000000028000 180000001364000100000000000000000000000000028000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-020.phpt b/tests/bson-corpus/decimal128-5-valid-020.phpt index 61a92638e..df39c1810 100644 --- a/tests/bson-corpus/decimal128-5-valid-020.phpt +++ b/tests/bson-corpus/decimal128-5-valid-020.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000028000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000028000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6175"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1E-6175"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000028000 {"d":{"$numberDecimal":"-1E-6175"}} -{"d":{"$numberDecimal":"-1E-6175"}} 180000001364000100000000000000000000000000028000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-021.phpt b/tests/bson-corpus/decimal128-5-valid-021.phpt index d1e3be05a..a5d5cce66 100644 --- a/tests/bson-corpus/decimal128-5-valid-021.phpt +++ b/tests/bson-corpus/decimal128-5-valid-021.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0.000000000000000000000000000000001E-6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0.000000000000000000000000000000001E-6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000008000 {"d":{"$numberDecimal":"-1E-6176"}} -{"d":{"$numberDecimal":"-1E-6176"}} -{"d":{"$numberDecimal":"-1E-6176"}} 180000001364000100000000000000000000000000008000 180000001364000100000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-022.phpt b/tests/bson-corpus/decimal128-5-valid-022.phpt index 85eeb0423..5d1b4d8bc 100644 --- a/tests/bson-corpus/decimal128-5-valid-022.phpt +++ b/tests/bson-corpus/decimal128-5-valid-022.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000008000 {"d":{"$numberDecimal":"-1E-6176"}} -{"d":{"$numberDecimal":"-1E-6176"}} 180000001364000100000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-023.phpt b/tests/bson-corpus/decimal128-5-valid-023.phpt index 41f05f4fe..4c7db7ed8 100644 --- a/tests/bson-corpus/decimal128-5-valid-023.phpt +++ b/tests/bson-corpus/decimal128-5-valid-023.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000100000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-1e-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-1e-6176"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-1E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000100000000000000000000000000008000 {"d":{"$numberDecimal":"-1E-6176"}} -{"d":{"$numberDecimal":"-1E-6176"}} -{"d":{"$numberDecimal":"-1E-6176"}} 180000001364000100000000000000000000000000008000 180000001364000100000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-024.phpt b/tests/bson-corpus/decimal128-5-valid-024.phpt index 65678e20e..cdc4eb89e 100644 --- a/tests/bson-corpus/decimal128-5-valid-024.phpt +++ b/tests/bson-corpus/decimal128-5-valid-024.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400FFFFFFFF095BC138938D44C64D31008000'); +$canonicalBson = hex2bin('18000000136400FFFFFFFF095BC138938D44C64D31008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-9.99999999999999999999999999999999E-6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-999999999999999999999999999999999e-6176"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-999999999999999999999999999999999e-6176"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-9.99999999999999999999999999999999E-6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400ffffffff095bc138938d44c64d31008000 {"d":{"$numberDecimal":"-9.99999999999999999999999999999999E-6144"}} -{"d":{"$numberDecimal":"-9.99999999999999999999999999999999E-6144"}} -{"d":{"$numberDecimal":"-9.99999999999999999999999999999999E-6144"}} 18000000136400ffffffff095bc138938d44c64d31008000 18000000136400ffffffff095bc138938d44c64d31008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-025.phpt b/tests/bson-corpus/decimal128-5-valid-025.phpt index dae10fd4b..2df7c4e3f 100644 --- a/tests/bson-corpus/decimal128-5-valid-025.phpt +++ b/tests/bson-corpus/decimal128-5-valid-025.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E-8000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E-8000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000000000 {"d":{"$numberDecimal":"0E-6176"}} -{"d":{"$numberDecimal":"0E-6176"}} -{"d":{"$numberDecimal":"0E-6176"}} 180000001364000000000000000000000000000000000000 180000001364000000000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-026.phpt b/tests/bson-corpus/decimal128-5-valid-026.phpt index 99e539a25..f117ad5c1 100644 --- a/tests/bson-corpus/decimal128-5-valid-026.phpt +++ b/tests/bson-corpus/decimal128-5-valid-026.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E-6177"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E-6177"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000000000 {"d":{"$numberDecimal":"0E-6176"}} -{"d":{"$numberDecimal":"0E-6176"}} -{"d":{"$numberDecimal":"0E-6176"}} 180000001364000000000000000000000000000000000000 180000001364000000000000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-027.phpt b/tests/bson-corpus/decimal128-5-valid-027.phpt index a1d6ca53d..0fe747bce 100644 --- a/tests/bson-corpus/decimal128-5-valid-027.phpt +++ b/tests/bson-corpus/decimal128-5-valid-027.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E+6112"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+6112"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fe5f00 {"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} 180000001364000000000000000000000000000000fe5f00 180000001364000000000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-028.phpt b/tests/bson-corpus/decimal128-5-valid-028.phpt index e33a28a86..4448e639d 100644 --- a/tests/bson-corpus/decimal128-5-valid-028.phpt +++ b/tests/bson-corpus/decimal128-5-valid-028.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fe5f00 {"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} 180000001364000000000000000000000000000000fe5f00 180000001364000000000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-029.phpt b/tests/bson-corpus/decimal128-5-valid-029.phpt index 7edf76442..69783d25e 100644 --- a/tests/bson-corpus/decimal128-5-valid-029.phpt +++ b/tests/bson-corpus/decimal128-5-valid-029.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "0E+8000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "0E+8000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "0E+6111"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fe5f00 {"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} -{"d":{"$numberDecimal":"0E+6111"}} 180000001364000000000000000000000000000000fe5f00 180000001364000000000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-030.phpt b/tests/bson-corpus/decimal128-5-valid-030.phpt index 32fc76f66..292a2090a 100644 --- a/tests/bson-corpus/decimal128-5-valid-030.phpt +++ b/tests/bson-corpus/decimal128-5-valid-030.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E-8000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E-8000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000008000 {"d":{"$numberDecimal":"-0E-6176"}} -{"d":{"$numberDecimal":"-0E-6176"}} -{"d":{"$numberDecimal":"-0E-6176"}} 180000001364000000000000000000000000000000008000 180000001364000000000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-031.phpt b/tests/bson-corpus/decimal128-5-valid-031.phpt index d320f810f..5721b6e0c 100644 --- a/tests/bson-corpus/decimal128-5-valid-031.phpt +++ b/tests/bson-corpus/decimal128-5-valid-031.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E-6177"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E-6177"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E-6176"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000008000 {"d":{"$numberDecimal":"-0E-6176"}} -{"d":{"$numberDecimal":"-0E-6176"}} -{"d":{"$numberDecimal":"-0E-6176"}} 180000001364000000000000000000000000000000008000 180000001364000000000000000000000000000000008000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-032.phpt b/tests/bson-corpus/decimal128-5-valid-032.phpt index 0e6801da2..82613d0b6 100644 --- a/tests/bson-corpus/decimal128-5-valid-032.phpt +++ b/tests/bson-corpus/decimal128-5-valid-032.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E+6112"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E+6112"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fedf00 {"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} 180000001364000000000000000000000000000000fedf00 180000001364000000000000000000000000000000fedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-033.phpt b/tests/bson-corpus/decimal128-5-valid-033.phpt index 810bfdf50..e1ebc234e 100644 --- a/tests/bson-corpus/decimal128-5-valid-033.phpt +++ b/tests/bson-corpus/decimal128-5-valid-033.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fedf00 {"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} 180000001364000000000000000000000000000000fedf00 180000001364000000000000000000000000000000fedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-034.phpt b/tests/bson-corpus/decimal128-5-valid-034.phpt index 0294e4177..c53dd9161 100644 --- a/tests/bson-corpus/decimal128-5-valid-034.phpt +++ b/tests/bson-corpus/decimal128-5-valid-034.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalBson = hex2bin('180000001364000000000000000000000000000000FEDF00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "-0E+8000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "-0E+8000"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "-0E+6111"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000000000000000000000000fedf00 {"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} -{"d":{"$numberDecimal":"-0E+6111"}} 180000001364000000000000000000000000000000fedf00 180000001364000000000000000000000000000000fedf00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-035.phpt b/tests/bson-corpus/decimal128-5-valid-035.phpt index 744ba0862..025b97ee5 100644 --- a/tests/bson-corpus/decimal128-5-valid-035.phpt +++ b/tests/bson-corpus/decimal128-5-valid-035.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalBson = hex2bin('18000000136400000000000A5BC138938D44C64D31FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6144"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6144"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000000E+6144"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000000a5bc138938d44c64d31fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000000E+6144"}} 18000000136400000000000a5bc138938d44c64d31fe5f00 18000000136400000000000a5bc138938d44c64d31fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-036.phpt b/tests/bson-corpus/decimal128-5-valid-036.phpt index 18a5e1cc1..3d4407ad1 100644 --- a/tests/bson-corpus/decimal128-5-valid-036.phpt +++ b/tests/bson-corpus/decimal128-5-valid-036.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000000081EFAC855B416D2DEE04FE5F00'); +$canonicalBson = hex2bin('180000001364000000000081EFAC855B416D2DEE04FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E+6143"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6143"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6143"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000000E+6143"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000000081efac855b416d2dee04fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000000000000E+6143"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000000E+6143"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000000E+6143"}} 180000001364000000000081efac855b416d2dee04fe5f00 180000001364000000000081efac855b416d2dee04fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-037.phpt b/tests/bson-corpus/decimal128-5-valid-037.phpt index 458de4fb3..0b084a6a9 100644 --- a/tests/bson-corpus/decimal128-5-valid-037.phpt +++ b/tests/bson-corpus/decimal128-5-valid-037.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000080264B91C02220BE377E00FE5F00'); +$canonicalBson = hex2bin('1800000013640000000080264B91C02220BE377E00FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000000E+6142"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6142"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6142"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000000E+6142"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000080264b91c02220be377e00fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000000000000E+6142"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000000000E+6142"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000000000E+6142"}} 1800000013640000000080264b91c02220be377e00fe5f00 1800000013640000000080264b91c02220be377e00fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-038.phpt b/tests/bson-corpus/decimal128-5-valid-038.phpt index 7ee2cb8dd..73c131cd4 100644 --- a/tests/bson-corpus/decimal128-5-valid-038.phpt +++ b/tests/bson-corpus/decimal128-5-valid-038.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000000040EAED7446D09C2C9F0C00FE5F00'); +$canonicalBson = hex2bin('1800000013640000000040EAED7446D09C2C9F0C00FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000E+6141"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6141"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6141"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000000E+6141"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000000040eaed7446d09c2c9f0c00fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000000E+6141"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000E+6141"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000000E+6141"}} 1800000013640000000040eaed7446d09c2c9f0c00fe5f00 1800000013640000000040eaed7446d09c2c9f0c00fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-039.phpt b/tests/bson-corpus/decimal128-5-valid-039.phpt index 4d0273876..a8737a560 100644 --- a/tests/bson-corpus/decimal128-5-valid-039.phpt +++ b/tests/bson-corpus/decimal128-5-valid-039.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000A0CA17726DAE0F1E430100FE5F00'); +$canonicalBson = hex2bin('18000000136400000000A0CA17726DAE0F1E430100FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000E+6140"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6140"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6140"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000000E+6140"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000a0ca17726dae0f1e430100fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000000000E+6140"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000E+6140"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000000E+6140"}} 18000000136400000000a0ca17726dae0f1e430100fe5f00 18000000136400000000a0ca17726dae0f1e430100fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-040.phpt b/tests/bson-corpus/decimal128-5-valid-040.phpt index fed6cdaf9..30769f245 100644 --- a/tests/bson-corpus/decimal128-5-valid-040.phpt +++ b/tests/bson-corpus/decimal128-5-valid-040.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000106102253E5ECE4F200000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000106102253E5ECE4F200000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000E+6139"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6139"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6139"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000000E+6139"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000106102253e5ece4f200000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000000000E+6139"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000000E+6139"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000000E+6139"}} 18000000136400000000106102253e5ece4f200000fe5f00 18000000136400000000106102253e5ece4f200000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-041.phpt b/tests/bson-corpus/decimal128-5-valid-041.phpt index d61d98501..b24d28a25 100644 --- a/tests/bson-corpus/decimal128-5-valid-041.phpt +++ b/tests/bson-corpus/decimal128-5-valid-041.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000E83C80D09F3C2E3B030000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000E83C80D09F3C2E3B030000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000E+6138"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6138"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6138"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000000E+6138"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000e83c80d09f3c2e3b030000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000000E+6138"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000E+6138"}} -{"d":{"$numberDecimal":"1.000000000000000000000000000E+6138"}} 18000000136400000000e83c80d09f3c2e3b030000fe5f00 18000000136400000000e83c80d09f3c2e3b030000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-042.phpt b/tests/bson-corpus/decimal128-5-valid-042.phpt index 5aa63cdbd..6b1e9f4d9 100644 --- a/tests/bson-corpus/decimal128-5-valid-042.phpt +++ b/tests/bson-corpus/decimal128-5-valid-042.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000E4D20CC8DCD2B752000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000E4D20CC8DCD2B752000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000E+6137"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6137"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6137"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000000E+6137"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000e4d20cc8dcd2b752000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000000E+6137"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000E+6137"}} -{"d":{"$numberDecimal":"1.00000000000000000000000000E+6137"}} 18000000136400000000e4d20cc8dcd2b752000000fe5f00 18000000136400000000e4d20cc8dcd2b752000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-043.phpt b/tests/bson-corpus/decimal128-5-valid-043.phpt index 29a9e9b89..f2b0ba745 100644 --- a/tests/bson-corpus/decimal128-5-valid-043.phpt +++ b/tests/bson-corpus/decimal128-5-valid-043.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000004A48011416954508000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000004A48011416954508000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000E+6136"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6136"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6136"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000000E+6136"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000004a48011416954508000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000000E+6136"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000E+6136"}} -{"d":{"$numberDecimal":"1.0000000000000000000000000E+6136"}} 180000001364000000004a48011416954508000000fe5f00 180000001364000000004a48011416954508000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-044.phpt b/tests/bson-corpus/decimal128-5-valid-044.phpt index 77fed067e..dc08be12f 100644 --- a/tests/bson-corpus/decimal128-5-valid-044.phpt +++ b/tests/bson-corpus/decimal128-5-valid-044.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000000A1EDCCCE1BC2D300000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000000A1EDCCCE1BC2D300000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000E+6135"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6135"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6135"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000000E+6135"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000000a1edccce1bc2d300000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000000E+6135"}} -{"d":{"$numberDecimal":"1.000000000000000000000000E+6135"}} -{"d":{"$numberDecimal":"1.000000000000000000000000E+6135"}} 18000000136400000000a1edccce1bc2d300000000fe5f00 18000000136400000000a1edccce1bc2d300000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-045.phpt b/tests/bson-corpus/decimal128-5-valid-045.phpt index 7d0f51c44..d9e148680 100644 --- a/tests/bson-corpus/decimal128-5-valid-045.phpt +++ b/tests/bson-corpus/decimal128-5-valid-045.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000080F64AE1C7022D1500000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000080F64AE1C7022D1500000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000E+6134"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6134"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6134"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000000E+6134"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000080f64ae1c7022d1500000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000000E+6134"}} -{"d":{"$numberDecimal":"1.00000000000000000000000E+6134"}} -{"d":{"$numberDecimal":"1.00000000000000000000000E+6134"}} 18000000136400000080f64ae1c7022d1500000000fe5f00 18000000136400000080f64ae1c7022d1500000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-046.phpt b/tests/bson-corpus/decimal128-5-valid-046.phpt index 97cd40f1c..7cb5c3a77 100644 --- a/tests/bson-corpus/decimal128-5-valid-046.phpt +++ b/tests/bson-corpus/decimal128-5-valid-046.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000040B2BAC9E0191E0200000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000040B2BAC9E0191E0200000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000E+6133"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6133"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6133"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000000E+6133"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000040b2bac9e0191e0200000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000000E+6133"}} -{"d":{"$numberDecimal":"1.0000000000000000000000E+6133"}} -{"d":{"$numberDecimal":"1.0000000000000000000000E+6133"}} 18000000136400000040b2bac9e0191e0200000000fe5f00 18000000136400000040b2bac9e0191e0200000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-047.phpt b/tests/bson-corpus/decimal128-5-valid-047.phpt index a8424281b..892aec661 100644 --- a/tests/bson-corpus/decimal128-5-valid-047.phpt +++ b/tests/bson-corpus/decimal128-5-valid-047.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000A0DEC5ADC935360000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000A0DEC5ADC935360000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000E+6132"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6132"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6132"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000000E+6132"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000a0dec5adc935360000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000000E+6132"}} -{"d":{"$numberDecimal":"1.000000000000000000000E+6132"}} -{"d":{"$numberDecimal":"1.000000000000000000000E+6132"}} 180000001364000000a0dec5adc935360000000000fe5f00 180000001364000000a0dec5adc935360000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-048.phpt b/tests/bson-corpus/decimal128-5-valid-048.phpt index 844a100d4..d02c5d909 100644 --- a/tests/bson-corpus/decimal128-5-valid-048.phpt +++ b/tests/bson-corpus/decimal128-5-valid-048.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000010632D5EC76B050000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000010632D5EC76B050000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000E+6131"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6131"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6131"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000000E+6131"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000010632d5ec76b050000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000000E+6131"}} -{"d":{"$numberDecimal":"1.00000000000000000000E+6131"}} -{"d":{"$numberDecimal":"1.00000000000000000000E+6131"}} 18000000136400000010632d5ec76b050000000000fe5f00 18000000136400000010632d5ec76b050000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-049.phpt b/tests/bson-corpus/decimal128-5-valid-049.phpt index 305713f83..71052f303 100644 --- a/tests/bson-corpus/decimal128-5-valid-049.phpt +++ b/tests/bson-corpus/decimal128-5-valid-049.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000E8890423C78A000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000E8890423C78A000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000E+6130"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6130"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6130"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000000000E+6130"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000e8890423c78a000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000000E+6130"}} -{"d":{"$numberDecimal":"1.0000000000000000000E+6130"}} -{"d":{"$numberDecimal":"1.0000000000000000000E+6130"}} 180000001364000000e8890423c78a000000000000fe5f00 180000001364000000e8890423c78a000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-050.phpt b/tests/bson-corpus/decimal128-5-valid-050.phpt index 3ffd82090..18fcb1305 100644 --- a/tests/bson-corpus/decimal128-5-valid-050.phpt +++ b/tests/bson-corpus/decimal128-5-valid-050.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400000064A7B3B6E00D000000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400000064A7B3B6E00D000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000000E+6129"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6129"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6129"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000000E+6129"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400000064a7b3b6e00d000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000000E+6129"}} -{"d":{"$numberDecimal":"1.000000000000000000E+6129"}} -{"d":{"$numberDecimal":"1.000000000000000000E+6129"}} 18000000136400000064a7b3b6e00d000000000000fe5f00 18000000136400000064a7b3b6e00d000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-051.phpt b/tests/bson-corpus/decimal128-5-valid-051.phpt index 35a1a5168..eb87064c5 100644 --- a/tests/bson-corpus/decimal128-5-valid-051.phpt +++ b/tests/bson-corpus/decimal128-5-valid-051.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000008A5D78456301000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000008A5D78456301000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000000E+6128"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6128"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6128"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000000E+6128"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000008a5d78456301000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000000E+6128"}} -{"d":{"$numberDecimal":"1.00000000000000000E+6128"}} -{"d":{"$numberDecimal":"1.00000000000000000E+6128"}} 1800000013640000008a5d78456301000000000000fe5f00 1800000013640000008a5d78456301000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-052.phpt b/tests/bson-corpus/decimal128-5-valid-052.phpt index 5a5c43359..38a5c9b75 100644 --- a/tests/bson-corpus/decimal128-5-valid-052.phpt +++ b/tests/bson-corpus/decimal128-5-valid-052.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000000C16FF2862300000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000000C16FF2862300000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000000E+6127"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6127"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6127"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000000E+6127"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000000c16ff2862300000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000000E+6127"}} -{"d":{"$numberDecimal":"1.0000000000000000E+6127"}} -{"d":{"$numberDecimal":"1.0000000000000000E+6127"}} 180000001364000000c16ff2862300000000000000fe5f00 180000001364000000c16ff2862300000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-053.phpt b/tests/bson-corpus/decimal128-5-valid-053.phpt index 44b11e4d4..b54282b14 100644 --- a/tests/bson-corpus/decimal128-5-valid-053.phpt +++ b/tests/bson-corpus/decimal128-5-valid-053.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000080C6A47E8D0300000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000080C6A47E8D0300000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000000E+6126"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6126"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6126"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000000E+6126"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000080c6a47e8d0300000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000000E+6126"}} -{"d":{"$numberDecimal":"1.000000000000000E+6126"}} -{"d":{"$numberDecimal":"1.000000000000000E+6126"}} 180000001364000080c6a47e8d0300000000000000fe5f00 180000001364000080c6a47e8d0300000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-054.phpt b/tests/bson-corpus/decimal128-5-valid-054.phpt index 90a8ef992..8fc7f1c24 100644 --- a/tests/bson-corpus/decimal128-5-valid-054.phpt +++ b/tests/bson-corpus/decimal128-5-valid-054.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000407A10F35A0000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000407A10F35A0000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000000E+6125"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6125"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6125"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000000E+6125"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000407a10f35a0000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000000E+6125"}} -{"d":{"$numberDecimal":"1.00000000000000E+6125"}} -{"d":{"$numberDecimal":"1.00000000000000E+6125"}} 1800000013640000407a10f35a0000000000000000fe5f00 1800000013640000407a10f35a0000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-055.phpt b/tests/bson-corpus/decimal128-5-valid-055.phpt index 3af1ab8a5..a46580389 100644 --- a/tests/bson-corpus/decimal128-5-valid-055.phpt +++ b/tests/bson-corpus/decimal128-5-valid-055.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000A0724E18090000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000A0724E18090000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000000E+6124"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6124"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6124"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000000E+6124"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000a0724e18090000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000000E+6124"}} -{"d":{"$numberDecimal":"1.0000000000000E+6124"}} -{"d":{"$numberDecimal":"1.0000000000000E+6124"}} 1800000013640000a0724e18090000000000000000fe5f00 1800000013640000a0724e18090000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-056.phpt b/tests/bson-corpus/decimal128-5-valid-056.phpt index 1667f1e70..556d7811b 100644 --- a/tests/bson-corpus/decimal128-5-valid-056.phpt +++ b/tests/bson-corpus/decimal128-5-valid-056.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000010A5D4E8000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000010A5D4E8000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000000E+6123"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6123"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6123"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000000E+6123"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000010a5d4e8000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000000E+6123"}} -{"d":{"$numberDecimal":"1.000000000000E+6123"}} -{"d":{"$numberDecimal":"1.000000000000E+6123"}} 180000001364000010a5d4e8000000000000000000fe5f00 180000001364000010a5d4e8000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-057.phpt b/tests/bson-corpus/decimal128-5-valid-057.phpt index 7127edf52..443d74f1a 100644 --- a/tests/bson-corpus/decimal128-5-valid-057.phpt +++ b/tests/bson-corpus/decimal128-5-valid-057.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000E8764817000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000E8764817000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000000E+6122"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6122"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6122"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000000E+6122"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000e8764817000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000000E+6122"}} -{"d":{"$numberDecimal":"1.00000000000E+6122"}} -{"d":{"$numberDecimal":"1.00000000000E+6122"}} 1800000013640000e8764817000000000000000000fe5f00 1800000013640000e8764817000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-058.phpt b/tests/bson-corpus/decimal128-5-valid-058.phpt index d7ee410f3..d7e89825f 100644 --- a/tests/bson-corpus/decimal128-5-valid-058.phpt +++ b/tests/bson-corpus/decimal128-5-valid-058.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000E40B5402000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000E40B5402000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000000E+6121"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6121"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6121"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000000E+6121"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000e40b5402000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000000E+6121"}} -{"d":{"$numberDecimal":"1.0000000000E+6121"}} -{"d":{"$numberDecimal":"1.0000000000E+6121"}} 1800000013640000e40b5402000000000000000000fe5f00 1800000013640000e40b5402000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-059.phpt b/tests/bson-corpus/decimal128-5-valid-059.phpt index 3be8d219f..1115a9937 100644 --- a/tests/bson-corpus/decimal128-5-valid-059.phpt +++ b/tests/bson-corpus/decimal128-5-valid-059.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000CA9A3B00000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000CA9A3B00000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000000E+6120"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6120"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6120"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000000E+6120"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000ca9a3b00000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000000000E+6120"}} -{"d":{"$numberDecimal":"1.000000000E+6120"}} -{"d":{"$numberDecimal":"1.000000000E+6120"}} 1800000013640000ca9a3b00000000000000000000fe5f00 1800000013640000ca9a3b00000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-060.phpt b/tests/bson-corpus/decimal128-5-valid-060.phpt index 276334550..fea56ca6b 100644 --- a/tests/bson-corpus/decimal128-5-valid-060.phpt +++ b/tests/bson-corpus/decimal128-5-valid-060.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640000E1F50500000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640000E1F50500000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000000E+6119"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6119"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6119"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000000E+6119"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640000e1f50500000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000000E+6119"}} -{"d":{"$numberDecimal":"1.00000000E+6119"}} -{"d":{"$numberDecimal":"1.00000000E+6119"}} 1800000013640000e1f50500000000000000000000fe5f00 1800000013640000e1f50500000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-061.phpt b/tests/bson-corpus/decimal128-5-valid-061.phpt index c1810c5ec..13a3adc77 100644 --- a/tests/bson-corpus/decimal128-5-valid-061.phpt +++ b/tests/bson-corpus/decimal128-5-valid-061.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364008096980000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364008096980000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000000E+6118"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6118"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6118"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000000E+6118"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364008096980000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000000E+6118"}} -{"d":{"$numberDecimal":"1.0000000E+6118"}} -{"d":{"$numberDecimal":"1.0000000E+6118"}} 180000001364008096980000000000000000000000fe5f00 180000001364008096980000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-062.phpt b/tests/bson-corpus/decimal128-5-valid-062.phpt index 75bcbd511..bab5d09ed 100644 --- a/tests/bson-corpus/decimal128-5-valid-062.phpt +++ b/tests/bson-corpus/decimal128-5-valid-062.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1800000013640040420F0000000000000000000000FE5F00'); +$canonicalBson = hex2bin('1800000013640040420F0000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000000E+6117"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6117"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6117"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000000E+6117"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 1800000013640040420f0000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000000E+6117"}} -{"d":{"$numberDecimal":"1.000000E+6117"}} -{"d":{"$numberDecimal":"1.000000E+6117"}} 1800000013640040420f0000000000000000000000fe5f00 1800000013640040420f0000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-063.phpt b/tests/bson-corpus/decimal128-5-valid-063.phpt index 33b08a20c..9668ce76c 100644 --- a/tests/bson-corpus/decimal128-5-valid-063.phpt +++ b/tests/bson-corpus/decimal128-5-valid-063.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400A086010000000000000000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400A086010000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00000E+6116"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6116"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6116"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00000E+6116"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400a086010000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00000E+6116"}} -{"d":{"$numberDecimal":"1.00000E+6116"}} -{"d":{"$numberDecimal":"1.00000E+6116"}} 18000000136400a086010000000000000000000000fe5f00 18000000136400a086010000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-064.phpt b/tests/bson-corpus/decimal128-5-valid-064.phpt index 35f6f4526..6b4e060a6 100644 --- a/tests/bson-corpus/decimal128-5-valid-064.phpt +++ b/tests/bson-corpus/decimal128-5-valid-064.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364001027000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364001027000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0000E+6115"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6115"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6115"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0000E+6115"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364001027000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0000E+6115"}} -{"d":{"$numberDecimal":"1.0000E+6115"}} -{"d":{"$numberDecimal":"1.0000E+6115"}} 180000001364001027000000000000000000000000fe5f00 180000001364001027000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-065.phpt b/tests/bson-corpus/decimal128-5-valid-065.phpt index 6fc78b8ac..abbbc30bc 100644 --- a/tests/bson-corpus/decimal128-5-valid-065.phpt +++ b/tests/bson-corpus/decimal128-5-valid-065.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('18000000136400E803000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('18000000136400E803000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.000E+6114"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6114"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6114"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.000E+6114"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 18000000136400e803000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.000E+6114"}} -{"d":{"$numberDecimal":"1.000E+6114"}} -{"d":{"$numberDecimal":"1.000E+6114"}} 18000000136400e803000000000000000000000000fe5f00 18000000136400e803000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-066.phpt b/tests/bson-corpus/decimal128-5-valid-066.phpt index 25b04711a..68fbb2f0c 100644 --- a/tests/bson-corpus/decimal128-5-valid-066.phpt +++ b/tests/bson-corpus/decimal128-5-valid-066.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364006400000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364006400000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.00E+6113"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6113"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6113"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.00E+6113"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364006400000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.00E+6113"}} -{"d":{"$numberDecimal":"1.00E+6113"}} -{"d":{"$numberDecimal":"1.00E+6113"}} 180000001364006400000000000000000000000000fe5f00 180000001364006400000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/decimal128-5-valid-067.phpt b/tests/bson-corpus/decimal128-5-valid-067.phpt index 6c941162f..7f3e4a13f 100644 --- a/tests/bson-corpus/decimal128-5-valid-067.phpt +++ b/tests/bson-corpus/decimal128-5-valid-067.phpt @@ -9,29 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('180000001364000A00000000000000000000000000FE5F00'); +$canonicalBson = hex2bin('180000001364000A00000000000000000000000000FE5F00'); +$canonicalExtJson = '{"d" : {"$numberDecimal" : "1.0E+6112"}}'; +$degenerateExtJson = '{"d" : {"$numberDecimal" : "1E+6112"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDecimal" : "1E+6112"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -$canonicalJson = '{"d" : {"$numberDecimal" : "1.0E+6112"}}'; - -// Canonical extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($canonicalJson))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; - -// Canonical extJSON to Canonical BSON -echo bin2hex(fromJSON($canonicalJson)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== @@ -39,8 +31,6 @@ echo bin2hex(fromJSON($canonicalJson)), "\n"; --EXPECT-- 180000001364000a00000000000000000000000000fe5f00 {"d":{"$numberDecimal":"1.0E+6112"}} -{"d":{"$numberDecimal":"1.0E+6112"}} -{"d":{"$numberDecimal":"1.0E+6112"}} 180000001364000a00000000000000000000000000fe5f00 180000001364000a00000000000000000000000000fe5f00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/document-valid-001.phpt b/tests/bson-corpus/document-valid-001.phpt index a33db97f0..d8edcbf87 100644 --- a/tests/bson-corpus/document-valid-001.phpt +++ b/tests/bson-corpus/document-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0D000000037800050000000000'); +$canonicalBson = hex2bin('0D000000037800050000000000'); +$canonicalExtJson = '{"x" : {}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0d000000037800050000000000 {"x":{}} -{"x":{}} 0d000000037800050000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/document-valid-002.phpt b/tests/bson-corpus/document-valid-002.phpt index a27eef343..3b1eb77c6 100644 --- a/tests/bson-corpus/document-valid-002.phpt +++ b/tests/bson-corpus/document-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('150000000378000D00000002000200000062000000'); +$canonicalBson = hex2bin('150000000378000D00000002000200000062000000'); +$canonicalExtJson = '{"x" : {"" : "b"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"" : "b"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 150000000378000d00000002000200000062000000 {"x":{"":"b"}} -{"x":{"":"b"}} 150000000378000d00000002000200000062000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/document-valid-003.phpt b/tests/bson-corpus/document-valid-003.phpt index 6a4023e1a..7afebaac8 100644 --- a/tests/bson-corpus/document-valid-003.phpt +++ b/tests/bson-corpus/document-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('160000000378000E0000000261000200000062000000'); +$canonicalBson = hex2bin('160000000378000E0000000261000200000062000000'); +$canonicalExtJson = '{"x" : {"a" : "b"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"x" : {"a" : "b"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 160000000378000e0000000261000200000062000000 {"x":{"a":"b"}} -{"x":{"a":"b"}} 160000000378000e0000000261000200000062000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-001.phpt b/tests/bson-corpus/double-valid-001.phpt index 5fa867b44..f8587606a 100644 --- a/tests/bson-corpus/double-valid-001.phpt +++ b/tests/bson-corpus/double-valid-001.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000F03F00'); +$canonicalBson = hex2bin('10000000016400000000000000F03F00'); +$canonicalExtJson = '{"d" : {"$numberDouble": "1.0"}}'; +$relaxedExtJson = '{"d" : 1.0}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "1.0"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000016400000000000000f03f00 {"d":{"$numberDouble":"1.0"}} -{"d":{"$numberDouble":"1.0"}} +{"d":1} 10000000016400000000000000f03f00 +{"d":1} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-002.phpt b/tests/bson-corpus/double-valid-002.phpt index c8dfb3922..e6a0d8f4b 100644 --- a/tests/bson-corpus/double-valid-002.phpt +++ b/tests/bson-corpus/double-valid-002.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000F0BF00'); +$canonicalBson = hex2bin('10000000016400000000000000F0BF00'); +$canonicalExtJson = '{"d" : {"$numberDouble": "-1.0"}}'; +$relaxedExtJson = '{"d" : -1.0}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "-1.0"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000016400000000000000f0bf00 {"d":{"$numberDouble":"-1.0"}} -{"d":{"$numberDouble":"-1.0"}} +{"d":-1} 10000000016400000000000000f0bf00 +{"d":-1} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-003.phpt b/tests/bson-corpus/double-valid-003.phpt index 78a62cedd..82f7fbe78 100644 --- a/tests/bson-corpus/double-valid-003.phpt +++ b/tests/bson-corpus/double-valid-003.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000008000F03F00'); +$canonicalBson = hex2bin('10000000016400000000008000F03F00'); +$canonicalExtJson = '{"d" : {"$numberDouble": "1.0001220703125"}}'; +$relaxedExtJson = '{"d" : 1.0001220703125}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "1.0001220703125"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000016400000000008000f03f00 {"d":{"$numberDouble":"1.0001220703125"}} -{"d":{"$numberDouble":"1.0001220703125"}} +{"d":1.0001220703125} 10000000016400000000008000f03f00 +{"d":1.0001220703125} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-004.phpt b/tests/bson-corpus/double-valid-004.phpt index 12091b91e..c4f8d71fc 100644 --- a/tests/bson-corpus/double-valid-004.phpt +++ b/tests/bson-corpus/double-valid-004.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000008000F0BF00'); +$canonicalBson = hex2bin('10000000016400000000008000F0BF00'); +$canonicalExtJson = '{"d" : {"$numberDouble": "-1.0001220703125"}}'; +$relaxedExtJson = '{"d" : -1.0001220703125}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "-1.0001220703125"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000016400000000008000f0bf00 {"d":{"$numberDouble":"-1.0001220703125"}} -{"d":{"$numberDouble":"-1.0001220703125"}} +{"d":-1.0001220703125} 10000000016400000000008000f0bf00 +{"d":-1.0001220703125} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-005.phpt b/tests/bson-corpus/double-valid-005.phpt index 9f7d84a9e..95cc012f3 100644 --- a/tests/bson-corpus/double-valid-005.phpt +++ b/tests/bson-corpus/double-valid-005.phpt @@ -1,5 +1,5 @@ --TEST-- -Double type: +2.0001220703125e10 +Double type: 1.23456789012345677E+18 --XFAIL-- Variation in double's string representation (SPEC-850) --DESCRIPTION-- @@ -11,28 +11,32 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1000000001640000807ca1a9a0124200'); +$canonicalBson = hex2bin('1000000001640081E97DF41022B14300'); +$canonicalExtJson = '{"d" : {"$numberDouble": "1.23456789012345677E+18"}}'; +$relaxedExtJson = '{"d" : 1.23456789012345677E+18}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "2.0001220703125e10"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== --EXPECT-- -1000000001640000807ca1a9a0124200 -{"d":{"$numberDouble":"2.0001220703125e10"}} -{"d":{"$numberDouble":"2.0001220703125e10"}} -1000000001640000807ca1a9a0124200 +1000000001640081e97df41022b14300 +{"d":{"$numberDouble":"1.23456789012345677E+18"}} +{"d":1.2345678901235e+18} +1000000001640081e97df41022b14300 +{"d":1.2345678901235e+18} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-006.phpt b/tests/bson-corpus/double-valid-006.phpt index 23a66b12c..fea160d34 100644 --- a/tests/bson-corpus/double-valid-006.phpt +++ b/tests/bson-corpus/double-valid-006.phpt @@ -1,5 +1,5 @@ --TEST-- -Double type: -2.0001220703125e10 +Double type: -1.23456789012345677E+18 --XFAIL-- Variation in double's string representation (SPEC-850) --DESCRIPTION-- @@ -11,28 +11,32 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1000000001640000807ca1a9a012c200'); +$canonicalBson = hex2bin('1000000001640081E97DF41022B1C300'); +$canonicalExtJson = '{"d" : {"$numberDouble": "-1.23456789012345677E+18"}}'; +$relaxedExtJson = '{"d" : -1.23456789012345677E+18}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "-2.0001220703125e10"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== --EXPECT-- -1000000001640000807ca1a9a012c200 -{"d":{"$numberDouble":"-2.0001220703125e10"}} -{"d":{"$numberDouble":"-2.0001220703125e10"}} -1000000001640000807ca1a9a012c200 +1000000001640081e97df41022b1c300 +{"d":{"$numberDouble":"-1.23456789012345677E+18"}} +{"d":-1.2345678901235e+18} +1000000001640081e97df41022b1c300 +{"d":-1.2345678901235e+18} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-007.phpt b/tests/bson-corpus/double-valid-007.phpt index 54568e3f5..786b46b1b 100644 --- a/tests/bson-corpus/double-valid-007.phpt +++ b/tests/bson-corpus/double-valid-007.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000000000'); +$canonicalBson = hex2bin('10000000016400000000000000000000'); +$canonicalExtJson = '{"d" : {"$numberDouble": "0.0"}}'; +$relaxedExtJson = '{"d" : 0.0}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "0.0"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000016400000000000000000000 {"d":{"$numberDouble":"0.0"}} -{"d":{"$numberDouble":"0.0"}} +{"d":0} 10000000016400000000000000000000 +{"d":0} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-008.phpt b/tests/bson-corpus/double-valid-008.phpt index 2af3d2aa6..bfa0ea872 100644 --- a/tests/bson-corpus/double-valid-008.phpt +++ b/tests/bson-corpus/double-valid-008.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000008000'); +$canonicalBson = hex2bin('10000000016400000000000000008000'); +$canonicalExtJson = '{"d" : {"$numberDouble": "-0.0"}}'; +$relaxedExtJson = '{"d" : -0.0}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d" : {"$numberDouble": "-0.0"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000016400000000000000008000 {"d":{"$numberDouble":"-0.0"}} -{"d":{"$numberDouble":"-0.0"}} +{"d":-0} 10000000016400000000000000008000 +{"d":-0} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-009.phpt b/tests/bson-corpus/double-valid-009.phpt index 083a4551b..c896e1a74 100644 --- a/tests/bson-corpus/double-valid-009.phpt +++ b/tests/bson-corpus/double-valid-009.phpt @@ -9,18 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000F87F00'); +$canonicalBson = hex2bin('10000000016400000000000000F87F00'); +$canonicalExtJson = '{"d": {"$numberDouble": "NaN"}}'; +$relaxedExtJson = '{"d": {"$numberDouble": "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d": {"$numberDouble": "NaN"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -29,4 +32,5 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; 10000000016400000000000000f87f00 {"d":{"$numberDouble":"NaN"}} {"d":{"$numberDouble":"NaN"}} +{"d":{"$numberDouble":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-010.phpt b/tests/bson-corpus/double-valid-010.phpt index 941fe63b7..3ad5155ba 100644 --- a/tests/bson-corpus/double-valid-010.phpt +++ b/tests/bson-corpus/double-valid-010.phpt @@ -9,18 +9,21 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400120000000000F87F00'); +$canonicalBson = hex2bin('10000000016400120000000000F87F00'); +$canonicalExtJson = '{"d": {"$numberDouble": "NaN"}}'; +$relaxedExtJson = '{"d": {"$numberDouble": "NaN"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d": {"$numberDouble": "NaN"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -29,4 +32,5 @@ echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; 10000000016400120000000000f87f00 {"d":{"$numberDouble":"NaN"}} {"d":{"$numberDouble":"NaN"}} +{"d":{"$numberDouble":"NaN"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-011.phpt b/tests/bson-corpus/double-valid-011.phpt index b50406571..59c759e2f 100644 --- a/tests/bson-corpus/double-valid-011.phpt +++ b/tests/bson-corpus/double-valid-011.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000F07F00'); +$canonicalBson = hex2bin('10000000016400000000000000F07F00'); +$canonicalExtJson = '{"d": {"$numberDouble": "Infinity"}}'; +$relaxedExtJson = '{"d": {"$numberDouble": "Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d": {"$numberDouble": "Infinity"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -33,4 +36,5 @@ echo bin2hex(fromJSON($json)), "\n"; {"d":{"$numberDouble":"Infinity"}} {"d":{"$numberDouble":"Infinity"}} 10000000016400000000000000f07f00 +{"d":{"$numberDouble":"Infinity"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/double-valid-012.phpt b/tests/bson-corpus/double-valid-012.phpt index 89f60f511..035a4c597 100644 --- a/tests/bson-corpus/double-valid-012.phpt +++ b/tests/bson-corpus/double-valid-012.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000016400000000000000F0FF00'); +$canonicalBson = hex2bin('10000000016400000000000000F0FF00'); +$canonicalExtJson = '{"d": {"$numberDouble": "-Infinity"}}'; +$relaxedExtJson = '{"d": {"$numberDouble": "-Infinity"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"d": {"$numberDouble": "-Infinity"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -33,4 +36,5 @@ echo bin2hex(fromJSON($json)), "\n"; {"d":{"$numberDouble":"-Infinity"}} {"d":{"$numberDouble":"-Infinity"}} 10000000016400000000000000f0ff00 +{"d":{"$numberDouble":"-Infinity"}} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int32-valid-001.phpt b/tests/bson-corpus/int32-valid-001.phpt index 1537f99df..962cb460a 100644 --- a/tests/bson-corpus/int32-valid-001.phpt +++ b/tests/bson-corpus/int32-valid-001.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0C0000001069000000008000'); +$canonicalBson = hex2bin('0C0000001069000000008000'); +$canonicalExtJson = '{"i" : {"$numberInt": "-2147483648"}}'; +$relaxedExtJson = '{"i" : -2147483648}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"i" : {"$numberInt": "-2147483648"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0c0000001069000000008000 {"i":{"$numberInt":"-2147483648"}} -{"i":{"$numberInt":"-2147483648"}} +{"i":-2147483648} 0c0000001069000000008000 +{"i":-2147483648} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int32-valid-002.phpt b/tests/bson-corpus/int32-valid-002.phpt index 310ee5837..153c0dde8 100644 --- a/tests/bson-corpus/int32-valid-002.phpt +++ b/tests/bson-corpus/int32-valid-002.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0C000000106900FFFFFF7F00'); +$canonicalBson = hex2bin('0C000000106900FFFFFF7F00'); +$canonicalExtJson = '{"i" : {"$numberInt": "2147483647"}}'; +$relaxedExtJson = '{"i" : 2147483647}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"i" : {"$numberInt": "2147483647"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0c000000106900ffffff7f00 {"i":{"$numberInt":"2147483647"}} -{"i":{"$numberInt":"2147483647"}} +{"i":2147483647} 0c000000106900ffffff7f00 +{"i":2147483647} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int32-valid-003.phpt b/tests/bson-corpus/int32-valid-003.phpt index 52cb172ed..42632086c 100644 --- a/tests/bson-corpus/int32-valid-003.phpt +++ b/tests/bson-corpus/int32-valid-003.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0C000000106900FFFFFFFF00'); +$canonicalBson = hex2bin('0C000000106900FFFFFFFF00'); +$canonicalExtJson = '{"i" : {"$numberInt": "-1"}}'; +$relaxedExtJson = '{"i" : -1}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"i" : {"$numberInt": "-1"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0c000000106900ffffffff00 {"i":{"$numberInt":"-1"}} -{"i":{"$numberInt":"-1"}} +{"i":-1} 0c000000106900ffffffff00 +{"i":-1} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int32-valid-004.phpt b/tests/bson-corpus/int32-valid-004.phpt index 6bf521dfc..5f92c2bbf 100644 --- a/tests/bson-corpus/int32-valid-004.phpt +++ b/tests/bson-corpus/int32-valid-004.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0C0000001069000000000000'); +$canonicalBson = hex2bin('0C0000001069000000000000'); +$canonicalExtJson = '{"i" : {"$numberInt": "0"}}'; +$relaxedExtJson = '{"i" : 0}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"i" : {"$numberInt": "0"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0c0000001069000000000000 {"i":{"$numberInt":"0"}} -{"i":{"$numberInt":"0"}} +{"i":0} 0c0000001069000000000000 +{"i":0} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int32-valid-005.phpt b/tests/bson-corpus/int32-valid-005.phpt index 948a12289..dbe1187ba 100644 --- a/tests/bson-corpus/int32-valid-005.phpt +++ b/tests/bson-corpus/int32-valid-005.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0C0000001069000100000000'); +$canonicalBson = hex2bin('0C0000001069000100000000'); +$canonicalExtJson = '{"i" : {"$numberInt": "1"}}'; +$relaxedExtJson = '{"i" : 1}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"i" : {"$numberInt": "1"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0c0000001069000100000000 {"i":{"$numberInt":"1"}} -{"i":{"$numberInt":"1"}} +{"i":1} 0c0000001069000100000000 +{"i":1} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int64-valid-001.phpt b/tests/bson-corpus/int64-valid-001.phpt index 14bea8bd0..b50c95d8e 100644 --- a/tests/bson-corpus/int64-valid-001.phpt +++ b/tests/bson-corpus/int64-valid-001.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000126100000000000000008000'); +$canonicalBson = hex2bin('10000000126100000000000000008000'); +$canonicalExtJson = '{"a" : {"$numberLong" : "-9223372036854775808"}}'; +$relaxedExtJson = '{"a" : -9223372036854775808}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$numberLong" : "-9223372036854775808"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000126100000000000000008000 {"a":{"$numberLong":"-9223372036854775808"}} -{"a":{"$numberLong":"-9223372036854775808"}} +{"a":-9223372036854775808} 10000000126100000000000000008000 +{"a":-9223372036854775808} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int64-valid-002.phpt b/tests/bson-corpus/int64-valid-002.phpt index 36911a9de..ca222274c 100644 --- a/tests/bson-corpus/int64-valid-002.phpt +++ b/tests/bson-corpus/int64-valid-002.phpt @@ -9,21 +9,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000126100FFFFFFFFFFFFFF7F00'); +$canonicalBson = hex2bin('10000000126100FFFFFFFFFFFFFF7F00'); +$canonicalExtJson = '{"a" : {"$numberLong" : "9223372036854775807"}}'; +$relaxedExtJson = '{"a" : 9223372036854775807}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$numberLong" : "9223372036854775807"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -31,6 +34,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000126100ffffffffffffff7f00 {"a":{"$numberLong":"9223372036854775807"}} -{"a":{"$numberLong":"9223372036854775807"}} +{"a":9223372036854775807} 10000000126100ffffffffffffff7f00 +{"a":9223372036854775807} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int64-valid-003.phpt b/tests/bson-corpus/int64-valid-003.phpt index 022c4eebe..af3c93a87 100644 --- a/tests/bson-corpus/int64-valid-003.phpt +++ b/tests/bson-corpus/int64-valid-003.phpt @@ -11,21 +11,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000126100FFFFFFFFFFFFFFFF00'); +$canonicalBson = hex2bin('10000000126100FFFFFFFFFFFFFFFF00'); +$canonicalExtJson = '{"a" : {"$numberLong" : "-1"}}'; +$relaxedExtJson = '{"a" : -1}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$numberLong" : "-1"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -33,6 +36,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000126100ffffffffffffffff00 {"a":{"$numberLong":"-1"}} -{"a":{"$numberLong":"-1"}} +{"a":-1} 10000000126100ffffffffffffffff00 +{"a":-1} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int64-valid-004.phpt b/tests/bson-corpus/int64-valid-004.phpt index 045b80ac3..7802d145f 100644 --- a/tests/bson-corpus/int64-valid-004.phpt +++ b/tests/bson-corpus/int64-valid-004.phpt @@ -11,21 +11,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000126100000000000000000000'); +$canonicalBson = hex2bin('10000000126100000000000000000000'); +$canonicalExtJson = '{"a" : {"$numberLong" : "0"}}'; +$relaxedExtJson = '{"a" : 0}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$numberLong" : "0"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -33,6 +36,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000126100000000000000000000 {"a":{"$numberLong":"0"}} -{"a":{"$numberLong":"0"}} +{"a":0} 10000000126100000000000000000000 +{"a":0} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/int64-valid-005.phpt b/tests/bson-corpus/int64-valid-005.phpt index a0d86e894..e2e31d699 100644 --- a/tests/bson-corpus/int64-valid-005.phpt +++ b/tests/bson-corpus/int64-valid-005.phpt @@ -11,21 +11,24 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('10000000126100010000000000000000'); +$canonicalBson = hex2bin('10000000126100010000000000000000'); +$canonicalExtJson = '{"a" : {"$numberLong" : "1"}}'; +$relaxedExtJson = '{"a" : 1}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$numberLong" : "1"}}'; +// Canonical BSON -> Relaxed extJSON +echo json_canonicalize(toJSON($canonicalBson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Relaxed extJSON -> BSON -> Relaxed extJSON +echo json_canonicalize(toJSON(fromJSON($relaxedExtJson))), "\n"; ?> ===DONE=== @@ -33,6 +36,7 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 10000000126100010000000000000000 {"a":{"$numberLong":"1"}} -{"a":{"$numberLong":"1"}} +{"a":1} 10000000126100010000000000000000 +{"a":1} ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/maxkey-valid-001.phpt b/tests/bson-corpus/maxkey-valid-001.phpt index b81c4e081..f3c098151 100644 --- a/tests/bson-corpus/maxkey-valid-001.phpt +++ b/tests/bson-corpus/maxkey-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('080000007F610000'); +$canonicalBson = hex2bin('080000007F610000'); +$canonicalExtJson = '{"a" : {"$maxKey" : 1}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$maxKey" : 1}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 080000007f610000 {"a":{"$maxKey":1}} -{"a":{"$maxKey":1}} 080000007f610000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/minkey-valid-001.phpt b/tests/bson-corpus/minkey-valid-001.phpt index cc28d80ce..33d47126b 100644 --- a/tests/bson-corpus/minkey-valid-001.phpt +++ b/tests/bson-corpus/minkey-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('08000000FF610000'); +$canonicalBson = hex2bin('08000000FF610000'); +$canonicalExtJson = '{"a" : {"$minKey" : 1}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$minKey" : 1}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 08000000ff610000 {"a":{"$minKey":1}} -{"a":{"$minKey":1}} 08000000ff610000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/multi-type-valid-001.phpt b/tests/bson-corpus/multi-type-valid-001.phpt index d218d0af2..40883d728 100644 --- a/tests/bson-corpus/multi-type-valid-001.phpt +++ b/tests/bson-corpus/multi-type-valid-001.phpt @@ -1,7 +1,7 @@ --TEST-- Multiple types within the same document: All BSON types --XFAIL-- -Test contains deprecated BSON types (Symbol, DBPointer, Undefined) +PHP encodes integers as 32-bit if range allows --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -11,28 +11,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('3b020000075f69640057e193d7a9cc81b4027498b50e53796d626f6c000700000073796d626f6c0002537472696e670007000000737472696e670010496e743332002a00000012496e743634002a0000000000000001446f75626c6500f6285c8fc23545400542696e617279001000000003a34c38f7c3abedc8a37814a992ab8db60542696e61727955736572446566696e656400050000008001020304050d436f6465000e00000066756e6374696f6e2829207b7d000f436f64655769746853636f7065001b0000000e00000066756e6374696f6e2829207b7d00050000000003537562646f63756d656e74001200000002666f6f0004000000626172000004417272617900280000001030000100000010310002000000103200030000001033000400000010340005000000001154696d657374616d7000010000002a0000000b5265676578007061747465726e0000094461746574696d6545706f6368000000000000000000094461746574696d65506f73697469766500ffffff7f00000000094461746574696d654e656761746976650000000080ffffffff085472756500010846616c736500000c4442506f696e746572000e00000064622e636f6c6c656374696f6e0057e193d7a9cc81b4027498b1034442526566003d0000000224726566000b000000636f6c6c656374696f6e00072469640057fd71e96e32ab4225b723fb02246462000900000064617461626173650000ff4d696e6b6579007f4d61786b6579000a4e756c6c0006556e646566696e65640000'); +$canonicalBson = hex2bin('F4010000075F69640057E193D7A9CC81B4027498B502537472696E670007000000737472696E670010496E743332002A00000012496E743634002A0000000000000001446F75626C6500000000000000F0BF0542696E617279001000000003A34C38F7C3ABEDC8A37814A992AB8DB60542696E61727955736572446566696E656400050000008001020304050D436F6465000E00000066756E6374696F6E2829207B7D000F436F64655769746853636F7065001B0000000E00000066756E6374696F6E2829207B7D00050000000003537562646F63756D656E74001200000002666F6F0004000000626172000004417272617900280000001030000100000010310002000000103200030000001033000400000010340005000000001154696D657374616D7000010000002A0000000B5265676578007061747465726E0000094461746574696D6545706F6368000000000000000000094461746574696D65506F73697469766500FFFFFF7F00000000094461746574696D654E656761746976650000000080FFFFFFFF085472756500010846616C73650000034442526566003D0000000224726566000B000000636F6C6C656374696F6E00072469640057FD71E96E32AB4225B723FB02246462000900000064617461626173650000FF4D696E6B6579007F4D61786B6579000A4E756C6C0000'); +$canonicalExtJson = '{"_id": {"$oid": "57e193d7a9cc81b4027498b5"}, "String": "string", "Int32": {"$numberInt": "42"}, "Int64": {"$numberLong": "42"}, "Double": {"$numberDouble": "-1.0"}, "Binary": { "$binary" : {"base64": "o0w498Or7cijeBSpkquNtg==", "subType": "03"}}, "BinaryUserDefined": { "$binary" : {"base64": "AQIDBAU=", "subType": "80"}}, "Code": {"$code": "function() {}"}, "CodeWithScope": {"$code": "function() {}", "$scope": {}}, "Subdocument": {"foo": "bar"}, "Array": [{"$numberInt": "1"}, {"$numberInt": "2"}, {"$numberInt": "3"}, {"$numberInt": "4"}, {"$numberInt": "5"}], "Timestamp": {"$timestamp": {"t": 42, "i": 1}}, "Regex": {"$regularExpression": {"pattern": "pattern", "options": ""}}, "DatetimeEpoch": {"$date": {"$numberLong": "0"}}, "DatetimePositive": {"$date": {"$numberLong": "2147483647"}}, "DatetimeNegative": {"$date": {"$numberLong": "-2147483648"}}, "True": true, "False": false, "DBRef": {"$ref": "collection", "$id": {"$oid": "57fd71e96e32ab4225b723fb"}, "$db": "database"}, "Minkey": {"$minKey": 1}, "Maxkey": {"$maxKey": 1}, "Null": null}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"_id": {"$oid": "57e193d7a9cc81b4027498b5"}, "Symbol": {"$symbol": "symbol"}, "String": "string", "Int32": {"$numberInt": "42"}, "Int64": {"$numberLong": "42"}, "Double": {"$numberDouble": "42.42"}, "Binary": {"$binary": "o0w498Or7cijeBSpkquNtg==", "$type": "03"}, "BinaryUserDefined": {"$binary": "AQIDBAU=", "$type": "80"}, "Code": {"$code": "function() {}"}, "CodeWithScope": {"$code": "function() {}", "$scope": {}}, "Subdocument": {"foo": "bar"}, "Array": [{"$numberInt": "1"}, {"$numberInt": "2"}, {"$numberInt": "3"}, {"$numberInt": "4"}, {"$numberInt": "5"}], "Timestamp": {"$timestamp": "180388626433"}, "Regex": {"$regex": "pattern", "$options": ""}, "DatetimeEpoch": {"$date": {"$numberLong": "0"}}, "DatetimePositive": {"$date": {"$numberLong": "2147483647"}}, "DatetimeNegative": {"$date": {"$numberLong": "-2147483648"}}, "True": true, "False": false, "DBPointer": {"$dbPointer": {"$ref": "db.collection", "$id": {"$oid": "57e193d7a9cc81b4027498b1"}}}, "DBRef": {"$ref": "collection", "$id": {"$oid": "57fd71e96e32ab4225b723fb"}, "$db": "database"}, "Minkey": {"$minKey": 1}, "Maxkey": {"$maxKey": 1}, "Null": null, "Undefined": {"$undefined": true}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -3b020000075f69640057e193d7a9cc81b4027498b50e53796d626f6c000700000073796d626f6c0002537472696e670007000000737472696e670010496e743332002a00000012496e743634002a0000000000000001446f75626c6500f6285c8fc23545400542696e617279001000000003a34c38f7c3abedc8a37814a992ab8db60542696e61727955736572446566696e656400050000008001020304050d436f6465000e00000066756e6374696f6e2829207b7d000f436f64655769746853636f7065001b0000000e00000066756e6374696f6e2829207b7d00050000000003537562646f63756d656e74001200000002666f6f0004000000626172000004417272617900280000001030000100000010310002000000103200030000001033000400000010340005000000001154696d657374616d7000010000002a0000000b5265676578007061747465726e0000094461746574696d6545706f6368000000000000000000094461746574696d65506f73697469766500ffffff7f00000000094461746574696d654e656761746976650000000080ffffffff085472756500010846616c736500000c4442506f696e746572000e00000064622e636f6c6c656374696f6e0057e193d7a9cc81b4027498b1034442526566003d0000000224726566000b000000636f6c6c656374696f6e00072469640057fd71e96e32ab4225b723fb02246462000900000064617461626173650000ff4d696e6b6579007f4d61786b6579000a4e756c6c0006556e646566696e65640000 -{"_id":{"$oid":"57e193d7a9cc81b4027498b5"},"Symbol":{"$symbol":"symbol"},"String":"string","Int32":{"$numberInt":"42"},"Int64":{"$numberLong":"42"},"Double":{"$numberDouble":"42.42"},"Binary":{"$binary":"o0w498Or7cijeBSpkquNtg==","$type":"03"},"BinaryUserDefined":{"$binary":"AQIDBAU=","$type":"80"},"Code":{"$code":"function() {}"},"CodeWithScope":{"$code":"function() {}","$scope":{}},"Subdocument":{"foo":"bar"},"Array":[{"$numberInt":"1"},{"$numberInt":"2"},{"$numberInt":"3"},{"$numberInt":"4"},{"$numberInt":"5"}],"Timestamp":{"$timestamp":"180388626433"},"Regex":{"$regex":"pattern","$options":""},"DatetimeEpoch":{"$date":{"$numberLong":"0"}},"DatetimePositive":{"$date":{"$numberLong":"2147483647"}},"DatetimeNegative":{"$date":{"$numberLong":"-2147483648"}},"True":true,"False":false,"DBPointer":{"$dbPointer":{"$ref":"db.collection","$id":{"$oid":"57e193d7a9cc81b4027498b1"}}},"DBRef":{"$ref":"collection","$id":{"$oid":"57fd71e96e32ab4225b723fb"},"$db":"database"},"Minkey":{"$minKey":1},"Maxkey":{"$maxKey":1},"Null":null,"Undefined":{"$undefined":true}} -{"_id":{"$oid":"57e193d7a9cc81b4027498b5"},"Symbol":{"$symbol":"symbol"},"String":"string","Int32":{"$numberInt":"42"},"Int64":{"$numberLong":"42"},"Double":{"$numberDouble":"42.42"},"Binary":{"$binary":"o0w498Or7cijeBSpkquNtg==","$type":"03"},"BinaryUserDefined":{"$binary":"AQIDBAU=","$type":"80"},"Code":{"$code":"function() {}"},"CodeWithScope":{"$code":"function() {}","$scope":{}},"Subdocument":{"foo":"bar"},"Array":[{"$numberInt":"1"},{"$numberInt":"2"},{"$numberInt":"3"},{"$numberInt":"4"},{"$numberInt":"5"}],"Timestamp":{"$timestamp":"180388626433"},"Regex":{"$regex":"pattern","$options":""},"DatetimeEpoch":{"$date":{"$numberLong":"0"}},"DatetimePositive":{"$date":{"$numberLong":"2147483647"}},"DatetimeNegative":{"$date":{"$numberLong":"-2147483648"}},"True":true,"False":false,"DBPointer":{"$dbPointer":{"$ref":"db.collection","$id":{"$oid":"57e193d7a9cc81b4027498b1"}}},"DBRef":{"$ref":"collection","$id":{"$oid":"57fd71e96e32ab4225b723fb"},"$db":"database"},"Minkey":{"$minKey":1},"Maxkey":{"$maxKey":1},"Null":null,"Undefined":{"$undefined":true}} -3b020000075f69640057e193d7a9cc81b4027498b50e53796d626f6c000700000073796d626f6c0002537472696e670007000000737472696e670010496e743332002a00000012496e743634002a0000000000000001446f75626c6500f6285c8fc23545400542696e617279001000000003a34c38f7c3abedc8a37814a992ab8db60542696e61727955736572446566696e656400050000008001020304050d436f6465000e00000066756e6374696f6e2829207b7d000f436f64655769746853636f7065001b0000000e00000066756e6374696f6e2829207b7d00050000000003537562646f63756d656e74001200000002666f6f0004000000626172000004417272617900280000001030000100000010310002000000103200030000001033000400000010340005000000001154696d657374616d7000010000002a0000000b5265676578007061747465726e0000094461746574696d6545706f6368000000000000000000094461746574696d65506f73697469766500ffffff7f00000000094461746574696d654e656761746976650000000080ffffffff085472756500010846616c736500000c4442506f696e746572000e00000064622e636f6c6c656374696f6e0057e193d7a9cc81b4027498b1034442526566003d0000000224726566000b000000636f6c6c656374696f6e00072469640057fd71e96e32ab4225b723fb02246462000900000064617461626173650000ff4d696e6b6579007f4d61786b6579000a4e756c6c0006556e646566696e65640000 +f4010000075f69640057e193d7a9cc81b4027498b502537472696e670007000000737472696e670010496e743332002a00000012496e743634002a0000000000000001446f75626c6500000000000000f0bf0542696e617279001000000003a34c38f7c3abedc8a37814a992ab8db60542696e61727955736572446566696e656400050000008001020304050d436f6465000e00000066756e6374696f6e2829207b7d000f436f64655769746853636f7065001b0000000e00000066756e6374696f6e2829207b7d00050000000003537562646f63756d656e74001200000002666f6f0004000000626172000004417272617900280000001030000100000010310002000000103200030000001033000400000010340005000000001154696d657374616d7000010000002a0000000b5265676578007061747465726e0000094461746574696d6545706f6368000000000000000000094461746574696d65506f73697469766500ffffff7f00000000094461746574696d654e656761746976650000000080ffffffff085472756500010846616c73650000034442526566003d0000000224726566000b000000636f6c6c656374696f6e00072469640057fd71e96e32ab4225b723fb02246462000900000064617461626173650000ff4d696e6b6579007f4d61786b6579000a4e756c6c0000 +{"_id":{"$oid":"57e193d7a9cc81b4027498b5"},"String":"string","Int32":{"$numberInt":"42"},"Int64":{"$numberLong":"42"},"Double":{"$numberDouble":"-1.0"},"Binary":{"$binary":{"base64":"o0w498Or7cijeBSpkquNtg==","subType":"03"}},"BinaryUserDefined":{"$binary":{"base64":"AQIDBAU=","subType":"80"}},"Code":{"$code":"function() {}"},"CodeWithScope":{"$code":"function() {}","$scope":{}},"Subdocument":{"foo":"bar"},"Array":[{"$numberInt":"1"},{"$numberInt":"2"},{"$numberInt":"3"},{"$numberInt":"4"},{"$numberInt":"5"}],"Timestamp":{"$timestamp":{"t":42,"i":1}},"Regex":{"$regularExpression":{"pattern":"pattern","options":""}},"DatetimeEpoch":{"$date":{"$numberLong":"0"}},"DatetimePositive":{"$date":{"$numberLong":"2147483647"}},"DatetimeNegative":{"$date":{"$numberLong":"-2147483648"}},"True":true,"False":false,"DBRef":{"$ref":"collection","$id":{"$oid":"57fd71e96e32ab4225b723fb"},"$db":"database"},"Minkey":{"$minKey":1},"Maxkey":{"$maxKey":1},"Null":null} +f4010000075f69640057e193d7a9cc81b4027498b502537472696e670007000000737472696e670010496e743332002a00000012496e743634002a0000000000000001446f75626c6500000000000000f0bf0542696e617279001000000003a34c38f7c3abedc8a37814a992ab8db60542696e61727955736572446566696e656400050000008001020304050d436f6465000e00000066756e6374696f6e2829207b7d000f436f64655769746853636f7065001b0000000e00000066756e6374696f6e2829207b7d00050000000003537562646f63756d656e74001200000002666f6f0004000000626172000004417272617900280000001030000100000010310002000000103200030000001033000400000010340005000000001154696d657374616d7000010000002a0000000b5265676578007061747465726e0000094461746574696d6545706f6368000000000000000000094461746574696d65506f73697469766500ffffff7f00000000094461746574696d654e656761746976650000000080ffffffff085472756500010846616c73650000034442526566003d0000000224726566000b000000636f6c6c656374696f6e00072469640057fd71e96e32ab4225b723fb02246462000900000064617461626173650000ff4d696e6b6579007f4d61786b6579000a4e756c6c0000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/null-valid-001.phpt b/tests/bson-corpus/null-valid-001.phpt index e2cdbc9e7..ff62239c4 100644 --- a/tests/bson-corpus/null-valid-001.phpt +++ b/tests/bson-corpus/null-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('080000000A610000'); +$canonicalBson = hex2bin('080000000A610000'); +$canonicalExtJson = '{"a" : null}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : null}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 080000000a610000 {"a":null} -{"a":null} 080000000a610000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/oid-valid-001.phpt b/tests/bson-corpus/oid-valid-001.phpt index 8dda96e0a..a0b4832fe 100644 --- a/tests/bson-corpus/oid-valid-001.phpt +++ b/tests/bson-corpus/oid-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1400000007610000000000000000000000000000'); +$canonicalBson = hex2bin('1400000007610000000000000000000000000000'); +$canonicalExtJson = '{"a" : {"$oid" : "000000000000000000000000"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$oid" : "000000000000000000000000"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1400000007610000000000000000000000000000 {"a":{"$oid":"000000000000000000000000"}} -{"a":{"$oid":"000000000000000000000000"}} 1400000007610000000000000000000000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/oid-valid-002.phpt b/tests/bson-corpus/oid-valid-002.phpt index 265831b7d..24420c6cc 100644 --- a/tests/bson-corpus/oid-valid-002.phpt +++ b/tests/bson-corpus/oid-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('14000000076100FFFFFFFFFFFFFFFFFFFFFFFF00'); +$canonicalBson = hex2bin('14000000076100FFFFFFFFFFFFFFFFFFFFFFFF00'); +$canonicalExtJson = '{"a" : {"$oid" : "ffffffffffffffffffffffff"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$oid" : "ffffffffffffffffffffffff"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 14000000076100ffffffffffffffffffffffff00 {"a":{"$oid":"ffffffffffffffffffffffff"}} -{"a":{"$oid":"ffffffffffffffffffffffff"}} 14000000076100ffffffffffffffffffffffff00 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/oid-valid-003.phpt b/tests/bson-corpus/oid-valid-003.phpt index 5248bc8cf..46a40ae9e 100644 --- a/tests/bson-corpus/oid-valid-003.phpt +++ b/tests/bson-corpus/oid-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('1400000007610056E1FC72E0C917E9C471416100'); +$canonicalBson = hex2bin('1400000007610056E1FC72E0C917E9C471416100'); +$canonicalExtJson = '{"a" : {"$oid" : "56e1fc72e0c917e9c4714161"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$oid" : "56e1fc72e0c917e9c4714161"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 1400000007610056e1fc72e0c917e9c471416100 {"a":{"$oid":"56e1fc72e0c917e9c4714161"}} -{"a":{"$oid":"56e1fc72e0c917e9c4714161"}} 1400000007610056e1fc72e0c917e9c471416100 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-001.phpt b/tests/bson-corpus/regex-valid-001.phpt index c2edced06..2c28e06db 100644 --- a/tests/bson-corpus/regex-valid-001.phpt +++ b/tests/bson-corpus/regex-valid-001.phpt @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0A0000000B6100000000'); +$canonicalBson = hex2bin('0A0000000B6100000000'); +$canonicalExtJson = '{"a" : {"$regularExpression" : { "pattern": "", "options" : ""}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$regex" : "", "$options" : ""}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- 0a0000000b6100000000 -{"a":{"$regex":"","$options":""}} -{"a":{"$regex":"","$options":""}} +{"a":{"$regularExpression":{"pattern":"","options":""}}} 0a0000000b6100000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-002.phpt b/tests/bson-corpus/regex-valid-002.phpt index 4edc0e9e1..f635e8ff2 100644 --- a/tests/bson-corpus/regex-valid-002.phpt +++ b/tests/bson-corpus/regex-valid-002.phpt @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0D0000000B6100616263000000'); +$canonicalBson = hex2bin('0D0000000B6100616263000000'); +$canonicalExtJson = '{"a" : {"$regularExpression" : { "pattern": "abc", "options" : ""}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$regex" : "abc", "$options" : ""}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- 0d0000000b6100616263000000 -{"a":{"$regex":"abc","$options":""}} -{"a":{"$regex":"abc","$options":""}} +{"a":{"$regularExpression":{"pattern":"abc","options":""}}} 0d0000000b6100616263000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-003.phpt b/tests/bson-corpus/regex-valid-003.phpt index ca312e6f8..d98d097ae 100644 --- a/tests/bson-corpus/regex-valid-003.phpt +++ b/tests/bson-corpus/regex-valid-003.phpt @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0F0000000B610061626300696D0000'); +$canonicalBson = hex2bin('0F0000000B610061626300696D0000'); +$canonicalExtJson = '{"a" : {"$regularExpression" : { "pattern": "abc", "options" : "im"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$regex" : "abc", "$options" : "im"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- 0f0000000b610061626300696d0000 -{"a":{"$regex":"abc","$options":"im"}} -{"a":{"$regex":"abc","$options":"im"}} +{"a":{"$regularExpression":{"pattern":"abc","options":"im"}}} 0f0000000b610061626300696d0000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-004.phpt b/tests/bson-corpus/regex-valid-004.phpt index cef0d7dd8..556305036 100644 --- a/tests/bson-corpus/regex-valid-004.phpt +++ b/tests/bson-corpus/regex-valid-004.phpt @@ -1,5 +1,5 @@ --TEST-- -Regular Expression type: regex with slash +Regular Expression type: regex with options (keys reversed) --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,28 +9,28 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('110000000B610061622F636400696D0000'); +$canonicalBson = hex2bin('0F0000000B610061626300696D0000'); +$canonicalExtJson = '{"a" : {"$regularExpression" : { "pattern": "abc", "options" : "im"}}}'; +$degenerateExtJson = '{"a" : {"$regularExpression" : {"options" : "im", "pattern": "abc"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$regex" : "ab/cd", "$options" : "im"}}'; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -110000000b610061622f636400696d0000 -{"a":{"$regex":"ab\/cd","$options":"im"}} -{"a":{"$regex":"ab\/cd","$options":"im"}} -110000000b610061622f636400696d0000 +0f0000000b610061626300696d0000 +{"a":{"$regularExpression":{"pattern":"abc","options":"im"}}} +0f0000000b610061626300696d0000 +0f0000000b610061626300696d0000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-005.phpt b/tests/bson-corpus/regex-valid-005.phpt index 9a71c0998..84a584df2 100644 --- a/tests/bson-corpus/regex-valid-005.phpt +++ b/tests/bson-corpus/regex-valid-005.phpt @@ -1,5 +1,5 @@ --TEST-- -Regular Expression type: flags not alphabetized +Regular Expression type: regex with slash --DESCRIPTION-- Generated by scripts/convert-bson-corpus-tests.php @@ -9,38 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('100000000B6100616263006D69780000'); +$canonicalBson = hex2bin('110000000B610061622F636400696D0000'); +$canonicalExtJson = '{"a" : {"$regularExpression" : { "pattern": "ab/cd", "options" : "im"}}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; - -$canonicalBson = hex2bin('100000000B610061626300696D780000'); - -// Canonical BSON to Canonical BSON +// Canonical BSON -> Native -> Canonical BSON echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; - -$json = '{"a" : {"$regex" : "abc", "$options" : "imx"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// Canonical BSON to Canonical extJSON +// Canonical BSON -> Canonical extJSON echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- -100000000b610061626300696d780000 -100000000b610061626300696d780000 -{"a":{"$regex":"abc","$options":"imx"}} -{"a":{"$regex":"abc","$options":"imx"}} -{"a":{"$regex":"abc","$options":"imx"}} -100000000b610061626300696d780000 +110000000b610061622f636400696d0000 +{"a":{"$regularExpression":{"pattern":"ab\/cd","options":"im"}}} +110000000b610061622f636400696d0000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-006.phpt b/tests/bson-corpus/regex-valid-006.phpt new file mode 100644 index 000000000..61035dc00 --- /dev/null +++ b/tests/bson-corpus/regex-valid-006.phpt @@ -0,0 +1,47 @@ +--TEST-- +Regular Expression type: flags not alphabetized +--XFAIL-- +libbson does not alphabetize regex flags when reading extended JSON (CDRIVER-2128) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +// Degenerate BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($degenerateBson))), "\n"; + +// Degenerate BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($degenerateBson)), "\n"; + +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +100000000b610061626300696d780000 +{"a":{"$regularExpression":{"pattern":"abc","options":"imx"}}} +100000000b610061626300696d780000 +100000000b610061626300696d780000 +{"a":{"$regularExpression":{"pattern":"abc","options":"imx"}}} +100000000b610061626300696d780000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-007.phpt b/tests/bson-corpus/regex-valid-007.phpt new file mode 100644 index 000000000..dcd8ce529 --- /dev/null +++ b/tests/bson-corpus/regex-valid-007.phpt @@ -0,0 +1,31 @@ +--TEST-- +Regular Expression type: Required escapes +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +100000000b610061625c226162000000 +{"a":{"$regularExpression":{"pattern":"ab\\\"ab","options":""}}} +100000000b610061625c226162000000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-008.phpt b/tests/bson-corpus/regex-valid-008.phpt new file mode 100644 index 000000000..bb539cbef --- /dev/null +++ b/tests/bson-corpus/regex-valid-008.phpt @@ -0,0 +1,31 @@ +--TEST-- +Regular Expression type: Regular expression as value of $regex query operator +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +180000000b247265676578007061747465726e0069780000 +{"$regex":{"$regularExpression":{"pattern":"pattern","options":"ix"}}} +180000000b247265676578007061747465726e0069780000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/regex-valid-009.phpt b/tests/bson-corpus/regex-valid-009.phpt new file mode 100644 index 000000000..2f8b44105 --- /dev/null +++ b/tests/bson-corpus/regex-valid-009.phpt @@ -0,0 +1,31 @@ +--TEST-- +Regular Expression type: Regular expression as value of $regex query operator with $options +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +270000000b247265676578007061747465726e000002246f7074696f6e73000300000069780000 +{"$regex":{"$regularExpression":{"pattern":"pattern","options":""}},"$options":"ix"} +270000000b247265676578007061747465726e000002246f7074696f6e73000300000069780000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-001.phpt b/tests/bson-corpus/string-valid-001.phpt index b6f64ed5b..c3a49ba1b 100644 --- a/tests/bson-corpus/string-valid-001.phpt +++ b/tests/bson-corpus/string-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0D000000026100010000000000'); +$canonicalBson = hex2bin('0D000000026100010000000000'); +$canonicalExtJson = '{"a" : ""}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : ""}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0d000000026100010000000000 {"a":""} -{"a":""} 0d000000026100010000000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-002.phpt b/tests/bson-corpus/string-valid-002.phpt index 5807491a0..6e72d2f22 100644 --- a/tests/bson-corpus/string-valid-002.phpt +++ b/tests/bson-corpus/string-valid-002.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0E00000002610002000000620000'); +$canonicalBson = hex2bin('0E00000002610002000000620000'); +$canonicalExtJson = '{"a" : "b"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "b"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0e00000002610002000000620000 {"a":"b"} -{"a":"b"} 0e00000002610002000000620000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-003.phpt b/tests/bson-corpus/string-valid-003.phpt index aeb98fdf9..9735ce1f0 100644 --- a/tests/bson-corpus/string-valid-003.phpt +++ b/tests/bson-corpus/string-valid-003.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D0000006162616261626162616261620000'); +$canonicalBson = hex2bin('190000000261000D0000006162616261626162616261620000'); +$canonicalExtJson = '{"a" : "abababababab"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "abababababab"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d0000006162616261626162616261620000 {"a":"abababababab"} -{"a":"abababababab"} 190000000261000d0000006162616261626162616261620000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-004.phpt b/tests/bson-corpus/string-valid-004.phpt index 0bac301c1..75ec5658b 100644 --- a/tests/bson-corpus/string-valid-004.phpt +++ b/tests/bson-corpus/string-valid-004.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D000000C3A9C3A9C3A9C3A9C3A9C3A90000'); +$canonicalBson = hex2bin('190000000261000D000000C3A9C3A9C3A9C3A9C3A9C3A90000'); +$canonicalExtJson = '{"a" : "\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9\\u00e9"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d000000c3a9c3a9c3a9c3a9c3a9c3a90000 {"a":"\u00e9\u00e9\u00e9\u00e9\u00e9\u00e9"} -{"a":"\u00e9\u00e9\u00e9\u00e9\u00e9\u00e9"} 190000000261000d000000c3a9c3a9c3a9c3a9c3a9c3a90000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-005.phpt b/tests/bson-corpus/string-valid-005.phpt index 3f68b8301..dc44c5200 100644 --- a/tests/bson-corpus/string-valid-005.phpt +++ b/tests/bson-corpus/string-valid-005.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D000000E29886E29886E29886E298860000'); +$canonicalBson = hex2bin('190000000261000D000000E29886E29886E29886E298860000'); +$canonicalExtJson = '{"a" : "\\u2606\\u2606\\u2606\\u2606"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "\\u2606\\u2606\\u2606\\u2606"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d000000e29886e29886e29886e298860000 {"a":"\u2606\u2606\u2606\u2606"} -{"a":"\u2606\u2606\u2606\u2606"} 190000000261000d000000e29886e29886e29886e298860000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-006.phpt b/tests/bson-corpus/string-valid-006.phpt index a9980be9c..be1453c84 100644 --- a/tests/bson-corpus/string-valid-006.phpt +++ b/tests/bson-corpus/string-valid-006.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('190000000261000D0000006162006261620062616261620000'); +$canonicalBson = hex2bin('190000000261000D0000006162006261620062616261620000'); +$canonicalExtJson = '{"a" : "ab\\u0000bab\\u0000babab"}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : "ab\\u0000bab\\u0000babab"}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 190000000261000d0000006162006261620062616261620000 {"a":"ab\u0000bab\u0000babab"} -{"a":"ab\u0000bab\u0000babab"} 190000000261000d0000006162006261620062616261620000 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/string-valid-007.phpt b/tests/bson-corpus/string-valid-007.phpt new file mode 100644 index 000000000..873dc57e5 --- /dev/null +++ b/tests/bson-corpus/string-valid-007.phpt @@ -0,0 +1,31 @@ +--TEST-- +String: Required escapes +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +320000000261002600000061625c220102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f61620000 +{"a":"ab\\\"\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001fab"} +320000000261002600000061625c220102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f61620000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/timestamp-valid-001.phpt b/tests/bson-corpus/timestamp-valid-001.phpt index 20316d3b5..1b5ea3498 100644 --- a/tests/bson-corpus/timestamp-valid-001.phpt +++ b/tests/bson-corpus/timestamp-valid-001.phpt @@ -9,28 +9,23 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('100000001161002A00000015CD5B0700'); +$canonicalBson = hex2bin('100000001161002A00000015CD5B0700'); +$canonicalExtJson = '{"a" : {"$timestamp" : {"t" : 123456789, "i" : 42} } }'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"a" : {"$timestamp" : "530242871224172586"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== --EXPECT-- 100000001161002a00000015cd5b0700 -{"a":{"$timestamp":"530242871224172586"}} -{"a":{"$timestamp":"530242871224172586"}} +{"a":{"$timestamp":{"t":123456789,"i":42}}} 100000001161002a00000015cd5b0700 ===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/timestamp-valid-002.phpt b/tests/bson-corpus/timestamp-valid-002.phpt new file mode 100644 index 000000000..f008fc7fc --- /dev/null +++ b/tests/bson-corpus/timestamp-valid-002.phpt @@ -0,0 +1,36 @@ +--TEST-- +Timestamp type: Timestamp: (123456789, 42) (keys reversed) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +// Degenerate extJSON -> Canonical BSON +echo bin2hex(fromJSON($degenerateExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +100000001161002a00000015cd5b0700 +{"a":{"$timestamp":{"t":123456789,"i":42}}} +100000001161002a00000015cd5b0700 +100000001161002a00000015cd5b0700 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/timestamp-valid-003.phpt b/tests/bson-corpus/timestamp-valid-003.phpt new file mode 100644 index 000000000..92d8009e1 --- /dev/null +++ b/tests/bson-corpus/timestamp-valid-003.phpt @@ -0,0 +1,31 @@ +--TEST-- +Timestamp type: Timestamp with high-order bit set on both seconds and increment +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; + +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; + +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +10000000116100ffffffffffffffff00 +{"a":{"$timestamp":{"t":4294967295,"i":4294967295}}} +10000000116100ffffffffffffffff00 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-001.phpt b/tests/bson-corpus/top-parseError-001.phpt new file mode 100644 index 000000000..8c95efa82 --- /dev/null +++ b/tests/bson-corpus/top-parseError-001.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $regularExpression (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-002.phpt b/tests/bson-corpus/top-parseError-002.phpt new file mode 100644 index 000000000..f764b092e --- /dev/null +++ b/tests/bson-corpus/top-parseError-002.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $regularExpression (missing options field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-003.phpt b/tests/bson-corpus/top-parseError-003.phpt new file mode 100644 index 000000000..3f8dd9771 --- /dev/null +++ b/tests/bson-corpus/top-parseError-003.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $regularExpression (pattern is number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-004.phpt b/tests/bson-corpus/top-parseError-004.phpt new file mode 100644 index 000000000..eecd8393d --- /dev/null +++ b/tests/bson-corpus/top-parseError-004.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $regularExpression (options are number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-005.phpt b/tests/bson-corpus/top-parseError-005.phpt new file mode 100644 index 000000000..f931cc4b5 --- /dev/null +++ b/tests/bson-corpus/top-parseError-005.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $regularExpression (missing pattern field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-006.phpt b/tests/bson-corpus/top-parseError-006.phpt new file mode 100644 index 000000000..6395d030c --- /dev/null +++ b/tests/bson-corpus/top-parseError-006.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $oid (number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-007.phpt b/tests/bson-corpus/top-parseError-007.phpt new file mode 100644 index 000000000..c2252e3e3 --- /dev/null +++ b/tests/bson-corpus/top-parseError-007.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $oid (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-008.phpt b/tests/bson-corpus/top-parseError-008.phpt new file mode 100644 index 000000000..f50110a8d --- /dev/null +++ b/tests/bson-corpus/top-parseError-008.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberInt (number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-009.phpt b/tests/bson-corpus/top-parseError-009.phpt new file mode 100644 index 000000000..6218aa795 --- /dev/null +++ b/tests/bson-corpus/top-parseError-009.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberInt (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-010.phpt b/tests/bson-corpus/top-parseError-010.phpt new file mode 100644 index 000000000..3c3f9b203 --- /dev/null +++ b/tests/bson-corpus/top-parseError-010.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberLong (number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-011.phpt b/tests/bson-corpus/top-parseError-011.phpt new file mode 100644 index 000000000..213a3e64f --- /dev/null +++ b/tests/bson-corpus/top-parseError-011.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberLong (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-012.phpt b/tests/bson-corpus/top-parseError-012.phpt new file mode 100644 index 000000000..c65e1726f --- /dev/null +++ b/tests/bson-corpus/top-parseError-012.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberDouble (number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-013.phpt b/tests/bson-corpus/top-parseError-013.phpt new file mode 100644 index 000000000..60cb3f46a --- /dev/null +++ b/tests/bson-corpus/top-parseError-013.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberDouble (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-014.phpt b/tests/bson-corpus/top-parseError-014.phpt new file mode 100644 index 000000000..fd13e66a8 --- /dev/null +++ b/tests/bson-corpus/top-parseError-014.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberDecimal (number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-015.phpt b/tests/bson-corpus/top-parseError-015.phpt new file mode 100644 index 000000000..22f6787c6 --- /dev/null +++ b/tests/bson-corpus/top-parseError-015.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $numberDecimal (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-016.phpt b/tests/bson-corpus/top-parseError-016.phpt new file mode 100644 index 000000000..058865a7d --- /dev/null +++ b/tests/bson-corpus/top-parseError-016.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $binary (binary is number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-017.phpt b/tests/bson-corpus/top-parseError-017.phpt new file mode 100644 index 000000000..0dd1da2be --- /dev/null +++ b/tests/bson-corpus/top-parseError-017.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $binary (type is number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-018.phpt b/tests/bson-corpus/top-parseError-018.phpt new file mode 100644 index 000000000..e853fa3a6 --- /dev/null +++ b/tests/bson-corpus/top-parseError-018.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $binary (missing $type) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-019.phpt b/tests/bson-corpus/top-parseError-019.phpt new file mode 100644 index 000000000..d4f17d4bc --- /dev/null +++ b/tests/bson-corpus/top-parseError-019.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $binary (missing $binary) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-020.phpt b/tests/bson-corpus/top-parseError-020.phpt new file mode 100644 index 000000000..db051efc5 --- /dev/null +++ b/tests/bson-corpus/top-parseError-020.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $binary (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-021.phpt b/tests/bson-corpus/top-parseError-021.phpt new file mode 100644 index 000000000..2238a2c14 --- /dev/null +++ b/tests/bson-corpus/top-parseError-021.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $code (type is number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-022.phpt b/tests/bson-corpus/top-parseError-022.phpt new file mode 100644 index 000000000..b89ceb596 --- /dev/null +++ b/tests/bson-corpus/top-parseError-022.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $code (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-023.phpt b/tests/bson-corpus/top-parseError-023.phpt new file mode 100644 index 000000000..8e3657071 --- /dev/null +++ b/tests/bson-corpus/top-parseError-023.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $code with $scope (scope is number, not doc) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-024.phpt b/tests/bson-corpus/top-parseError-024.phpt new file mode 100644 index 000000000..80a4cfbf8 --- /dev/null +++ b/tests/bson-corpus/top-parseError-024.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp (type is number, not doc) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-025.phpt b/tests/bson-corpus/top-parseError-025.phpt new file mode 100644 index 000000000..00a0d2785 --- /dev/null +++ b/tests/bson-corpus/top-parseError-025.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp ('t' type is string, not number) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-026.phpt b/tests/bson-corpus/top-parseError-026.phpt new file mode 100644 index 000000000..1dd37d2bb --- /dev/null +++ b/tests/bson-corpus/top-parseError-026.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp ('i' type is string, not number) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-027.phpt b/tests/bson-corpus/top-parseError-027.phpt new file mode 100644 index 000000000..ad2e684e2 --- /dev/null +++ b/tests/bson-corpus/top-parseError-027.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp (extra field at same level as $timestamp) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-028.phpt b/tests/bson-corpus/top-parseError-028.phpt new file mode 100644 index 000000000..6049d0a7c --- /dev/null +++ b/tests/bson-corpus/top-parseError-028.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp (extra field at same level as t and i) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-029.phpt b/tests/bson-corpus/top-parseError-029.phpt new file mode 100644 index 000000000..e11f94776 --- /dev/null +++ b/tests/bson-corpus/top-parseError-029.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp (missing t) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-030.phpt b/tests/bson-corpus/top-parseError-030.phpt new file mode 100644 index 000000000..2f0d56eea --- /dev/null +++ b/tests/bson-corpus/top-parseError-030.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $timestamp (missing i) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-031.phpt b/tests/bson-corpus/top-parseError-031.phpt new file mode 100644 index 000000000..60fc0b477 --- /dev/null +++ b/tests/bson-corpus/top-parseError-031.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $date (number, not string or hash) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-032.phpt b/tests/bson-corpus/top-parseError-032.phpt new file mode 100644 index 000000000..b3c6c76ab --- /dev/null +++ b/tests/bson-corpus/top-parseError-032.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $date (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-033.phpt b/tests/bson-corpus/top-parseError-033.phpt new file mode 100644 index 000000000..6ef3269eb --- /dev/null +++ b/tests/bson-corpus/top-parseError-033.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad DBRef (ref is number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-034.phpt b/tests/bson-corpus/top-parseError-034.phpt new file mode 100644 index 000000000..f696c781e --- /dev/null +++ b/tests/bson-corpus/top-parseError-034.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad DBRef (db is number, not string) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-035.phpt b/tests/bson-corpus/top-parseError-035.phpt new file mode 100644 index 000000000..6886f40ec --- /dev/null +++ b/tests/bson-corpus/top-parseError-035.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $minKey (boolean, not integer) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-036.phpt b/tests/bson-corpus/top-parseError-036.phpt new file mode 100644 index 000000000..11b73fa4b --- /dev/null +++ b/tests/bson-corpus/top-parseError-036.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $minKey (wrong integer) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-037.phpt b/tests/bson-corpus/top-parseError-037.phpt new file mode 100644 index 000000000..4bc4e9fb2 --- /dev/null +++ b/tests/bson-corpus/top-parseError-037.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $minKey (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-038.phpt b/tests/bson-corpus/top-parseError-038.phpt new file mode 100644 index 000000000..dc9e39b80 --- /dev/null +++ b/tests/bson-corpus/top-parseError-038.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $maxKey (boolean, not integer) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-039.phpt b/tests/bson-corpus/top-parseError-039.phpt new file mode 100644 index 000000000..8e9084bf7 --- /dev/null +++ b/tests/bson-corpus/top-parseError-039.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $maxKey (wrong integer) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-040.phpt b/tests/bson-corpus/top-parseError-040.phpt new file mode 100644 index 000000000..6d594e220 --- /dev/null +++ b/tests/bson-corpus/top-parseError-040.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad $maxKey (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-parseError-041.phpt b/tests/bson-corpus/top-parseError-041.phpt new file mode 100644 index 000000000..3cff97223 --- /dev/null +++ b/tests/bson-corpus/top-parseError-041.phpt @@ -0,0 +1,21 @@ +--TEST-- +Top-level document validity: Bad DBpointer (extra field) +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\UnexpectedValueException +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/top-valid-001.phpt b/tests/bson-corpus/top-valid-001.phpt index 2b0680101..04c41f154 100644 --- a/tests/bson-corpus/top-valid-001.phpt +++ b/tests/bson-corpus/top-valid-001.phpt @@ -9,21 +9,17 @@ DO NOT EDIT THIS FILE require_once __DIR__ . '/../utils/tools.php'; -$bson = hex2bin('0f00000010246b6579002a00000000'); +$canonicalBson = hex2bin('0F00000010246B6579002A00000000'); +$canonicalExtJson = '{"$key": {"$numberInt": "42"}}'; -// BSON to Canonical BSON -echo bin2hex(fromPHP(toPHP($bson))), "\n"; +// Canonical BSON -> Native -> Canonical BSON +echo bin2hex(fromPHP(toPHP($canonicalBson))), "\n"; -// BSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON($bson)), "\n"; +// Canonical BSON -> Canonical extJSON +echo json_canonicalize(toExtendedJSON($canonicalBson)), "\n"; -$json = '{"$key": {"$numberInt": "42"}}'; - -// extJSON to Canonical extJSON -echo json_canonicalize(toExtendedJSON(fromJSON($json))), "\n"; - -// extJSON to Canonical BSON -echo bin2hex(fromJSON($json)), "\n"; +// Canonical extJSON -> Canonical BSON +echo bin2hex(fromJSON($canonicalExtJson)), "\n"; ?> ===DONE=== @@ -31,6 +27,5 @@ echo bin2hex(fromJSON($json)), "\n"; --EXPECT-- 0f00000010246b6579002a00000000 {"$key":{"$numberInt":"42"}} -{"$key":{"$numberInt":"42"}} 0f00000010246b6579002a00000000 ===DONE=== \ No newline at end of file diff --git a/tests/bson/bson-binary-001.phpt b/tests/bson/bson-binary-001.phpt index a886bcea8..4789f8648 100644 --- a/tests/bson/bson-binary-001.phpt +++ b/tests/bson/bson-binary-001.phpt @@ -35,7 +35,7 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(true) bool(true) @@ -52,36 +52,36 @@ bool(true) bool(true) bool(true) bool(true) -Test#0 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "00" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "00" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "00" } }" +Test#0 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "00" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "00" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "00" } } }" bool(true) -Test#1 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "01" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "01" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "01" } }" +Test#1 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "01" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "01" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "01" } } }" bool(true) -Test#2 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "02" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "02" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "02" } }" +Test#2 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "02" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "02" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "02" } } }" bool(true) -Test#3 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "03" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "03" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "03" } }" +Test#3 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "03" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "03" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "03" } } }" bool(true) -Test#4 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "04" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "04" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "04" } }" +Test#4 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "04" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "04" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "04" } } }" bool(true) -Test#5 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "05" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "05" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "05" } }" +Test#5 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "05" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "05" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "05" } } }" bool(true) -Test#6 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "80" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "80" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "80" } }" +Test#6 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "80" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "80" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "80" } } }" bool(true) -Test#7 { "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "85" } } -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "85" } }" -string(73) "{ "binary" : { "$binary" : "cmFuZG9tQmluYXJ5RGF0YQ==", "$type" : "85" } }" +Test#7 { "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "85" } } } +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "85" } } }" +string(89) "{ "binary" : { "$binary" : { "base64": "cmFuZG9tQmluYXJ5RGF0YQ==", "subType" : "85" } } }" bool(true) ===DONE=== diff --git a/tests/bson/bson-binary-compare-001.phpt b/tests/bson/bson-binary-compare-001.phpt index ff6aeb66b..074c6261b 100644 --- a/tests/bson/bson-binary-compare-001.phpt +++ b/tests/bson/bson-binary-compare-001.phpt @@ -22,7 +22,7 @@ var_dump(new MongoDB\BSON\Binary('foobar', 1) > new MongoDB\BSON\Binary('foobap' ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-binary-compare-002.phpt b/tests/bson/bson-binary-compare-002.phpt index f3ed152c2..2f43a7f8b 100644 --- a/tests/bson/bson-binary-compare-002.phpt +++ b/tests/bson/bson-binary-compare-002.phpt @@ -22,7 +22,7 @@ var_dump(new MongoDB\BSON\Binary("foo\x00bar", 1) > new MongoDB\BSON\Binary("foo ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-binary-jsonserialize-002.phpt b/tests/bson/bson-binary-jsonserialize-002.phpt index 8c7309ff9..e3dff1202 100644 --- a/tests/bson/bson-binary-jsonserialize-002.phpt +++ b/tests/bson/bson-binary-jsonserialize-002.phpt @@ -16,7 +16,7 @@ var_dump(toPHP(fromJSON($json))); ===DONE=== --EXPECTF-- -{ "foo" : { "$binary" : "Z2FyZ2xlYmxhc3Rlcg==", "$type" : "18" } } +{ "foo" : { "$binary" : { "base64": "Z2FyZ2xlYmxhc3Rlcg==", "subType" : "18" } } } {"foo":{"$binary":"Z2FyZ2xlYmxhc3Rlcg==","$type":"18"}} object(stdClass)#%d (%d) { ["foo"]=> diff --git a/tests/bson/bson-binary-tostring-001.phpt b/tests/bson/bson-binary-tostring-001.phpt index c2c4e4fff..1488bfc93 100644 --- a/tests/bson/bson-binary-tostring-001.phpt +++ b/tests/bson/bson-binary-tostring-001.phpt @@ -9,6 +9,6 @@ var_dump((string) $binary); ?> ===DONE=== ---EXPECTF-- +--EXPECT-- string(6) "foobar" ===DONE=== diff --git a/tests/bson/bson-binary_error-003.phpt b/tests/bson/bson-binary_error-003.phpt index 7f26ce996..e0f0e30b9 100644 --- a/tests/bson/bson-binary_error-003.phpt +++ b/tests/bson/bson-binary_error-003.phpt @@ -16,7 +16,7 @@ echo throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException Expected type to be an unsigned 8-bit integer, -1 given OK: Got MongoDB\Driver\Exception\InvalidArgumentException diff --git a/tests/bson/bson-binary_error-004.phpt b/tests/bson/bson-binary_error-004.phpt index cd528867d..96bdc77af 100644 --- a/tests/bson/bson-binary_error-004.phpt +++ b/tests/bson/bson-binary_error-004.phpt @@ -24,7 +24,7 @@ echo throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException Expected UUID length to be 16 bytes, 15 given OK: Got MongoDB\Driver\Exception\InvalidArgumentException diff --git a/tests/bson/bson-encode-003.phpt b/tests/bson/bson-encode-003.phpt index bc7f0ee4b..0d8c51dfd 100644 --- a/tests/bson/bson-encode-003.phpt +++ b/tests/bson/bson-encode-003.phpt @@ -46,7 +46,7 @@ foreach($tests as $n => $test) { ===DONE=== --EXPECTF-- -Test#0 { "stuff" : { "__pclass" : { "$binary" : "TXlDbGFzcw==", "$type" : "80" }, "random" : "class", "0" : "data" } } +Test#0 { "stuff" : { "__pclass" : { "$binary" : { "base64": "TXlDbGFzcw==", "subType" : "80" } }, "random" : "class", "0" : "data" } } 0 : 45 00 00 00 03 73 74 75 66 66 00 39 00 00 00 05 [E....stuff.9....] 10 : 5f 5f 70 63 6c 61 73 73 00 07 00 00 00 80 4d 79 [__pclass......My] 20 : 43 6c 61 73 73 02 72 61 6e 64 6f 6d 00 06 00 00 [Class.random....] @@ -71,7 +71,7 @@ object(stdClass)#%d (1) { } } } -Test#1 { "stuff" : { "__pclass" : { "$binary" : "TXlDbGFzczI=", "$type" : "80" }, "0" : 1, "1" : 2, "2" : 3 } } +Test#1 { "stuff" : { "__pclass" : { "$binary" : { "base64": "TXlDbGFzczI=", "subType" : "80" } }, "0" : 1, "1" : 2, "2" : 3 } } 0 : 3d 00 00 00 03 73 74 75 66 66 00 31 00 00 00 05 [=....stuff.1....] 10 : 5f 5f 70 63 6c 61 73 73 00 08 00 00 00 80 4d 79 [__pclass......My] 20 : 43 6c 61 73 73 32 10 30 00 01 00 00 00 10 31 00 [Class2.0......1.] @@ -97,7 +97,7 @@ object(stdClass)#%d (1) { } } } -Test#2 { "stuff" : [ { "__pclass" : { "$binary" : "TXlDbGFzcw==", "$type" : "80" }, "random" : "class", "0" : "data" }, { "__pclass" : { "$binary" : "TXlDbGFzczI=", "$type" : "80" }, "0" : 1, "1" : 2, "2" : 3 } ] } +Test#2 { "stuff" : [ { "__pclass" : { "$binary" : { "base64": "TXlDbGFzcw==", "subType" : "80" } }, "random" : "class", "0" : "data" }, { "__pclass" : { "$binary" : { "base64": "TXlDbGFzczI=", "subType" : "80" } }, "0" : 1, "1" : 2, "2" : 3 } ] } 0 : 81 00 00 00 04 73 74 75 66 66 00 75 00 00 00 03 [.....stuff.u....] 10 : 30 00 39 00 00 00 05 5f 5f 70 63 6c 61 73 73 00 [0.9....__pclass.] 20 : 07 00 00 00 80 4d 79 43 6c 61 73 73 02 72 61 6e [.....MyClass.ran] diff --git a/tests/bson/bson-encode-004.phpt b/tests/bson/bson-encode-004.phpt index cddd9f076..0adcff20e 100644 --- a/tests/bson/bson-encode-004.phpt +++ b/tests/bson/bson-encode-004.phpt @@ -73,7 +73,7 @@ object(Person)#%d (5) { ["secret":protected]=> string(24) "Hannes confidential info" } -Test { "0" : { "__pclass" : { "$binary" : "UGVyc29u", "$type" : "80" }, "name" : "Hannes", "age" : 42, "addresses" : [ { "__pclass" : { "$binary" : "QWRkcmVzcw==", "$type" : "80" }, "zip" : 94086, "country" : "USA" }, { "__pclass" : { "$binary" : "QWRkcmVzcw==", "$type" : "80" }, "zip" : 200, "country" : "Iceland" } ], "friends" : [ { "__pclass" : { "$binary" : "UGVyc29u", "$type" : "80" }, "name" : "Jeremy", "age" : 21, "addresses" : [ ], "friends" : [ ] } ] } } +Test { "0" : { "__pclass" : { "$binary" : { "base64": "UGVyc29u", "subType" : "80" } }, "name" : "Hannes", "age" : 42, "addresses" : [ { "__pclass" : { "$binary" : { "base64": "QWRkcmVzcw==", "subType" : "80" } }, "zip" : 94086, "country" : "USA" }, { "__pclass" : { "$binary" : { "base64": "QWRkcmVzcw==", "subType" : "80" } }, "zip" : 200, "country" : "Iceland" } ], "friends" : [ { "__pclass" : { "$binary" : { "base64": "UGVyc29u", "subType" : "80" } }, "name" : "Jeremy", "age" : 21, "addresses" : [ ], "friends" : [ ] } ] } } 0 : 23 01 00 00 03 30 00 1b 01 00 00 05 5f 5f 70 63 [#....0......__pc] 10 : 6c 61 73 73 00 06 00 00 00 80 50 65 72 73 6f 6e [lass......Person] 20 : 02 6e 61 6d 65 00 07 00 00 00 48 61 6e 6e 65 73 [.name.....Hannes] diff --git a/tests/bson/bson-fromPHP-001.phpt b/tests/bson/bson-fromPHP-001.phpt index 88a038f66..bf135b590 100644 --- a/tests/bson/bson-fromPHP-001.phpt +++ b/tests/bson/bson-fromPHP-001.phpt @@ -50,7 +50,7 @@ foreach ($tests as $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Testing top-level objects { "0" : 1, "1" : 2, "2" : 3 } { "foo" : "bar" } diff --git a/tests/bson/bson-fromPHP-003.phpt b/tests/bson/bson-fromPHP-003.phpt index 112293d87..ddf5aa7ea 100644 --- a/tests/bson/bson-fromPHP-003.phpt +++ b/tests/bson/bson-fromPHP-003.phpt @@ -30,9 +30,9 @@ foreach ($tests as $document) { ===DONE=== --EXPECT-- -Test { "0" : { "$date" : 1416445411987 } } +Test { "0" : { "$date" : "2014-11-20T01:03:31.987Z" } } 0 : 10 00 00 00 09 30 00 93 c2 b9 ca 49 01 00 00 00 [.....0.....I....] -Test { "x" : { "$date" : 1416445411987 } } +Test { "x" : { "$date" : "2014-11-20T01:03:31.987Z" } } 0 : 10 00 00 00 09 78 00 93 c2 b9 ca 49 01 00 00 00 [.....x.....I....] Test { "0" : { "baz" : 3 } } 0 : 16 00 00 00 03 30 00 0e 00 00 00 10 62 61 7a 00 [.....0......baz.] diff --git a/tests/bson/bson-fromPHP_error-002.phpt b/tests/bson/bson-fromPHP_error-002.phpt index ee64895eb..09faa2878 100644 --- a/tests/bson/bson-fromPHP_error-002.phpt +++ b/tests/bson/bson-fromPHP_error-002.phpt @@ -21,7 +21,7 @@ foreach ($tests as $document) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Unexpected MongoDB\BSON\Type instance: UnknownType OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-fromPHP_error-003.phpt b/tests/bson/bson-fromPHP_error-003.phpt index c8d2285c0..ee0d9d120 100644 --- a/tests/bson/bson-fromPHP_error-003.phpt +++ b/tests/bson/bson-fromPHP_error-003.phpt @@ -29,23 +29,23 @@ foreach ($tests as $document) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance UnknownType cannot be serialized as a root element +MongoDB\BSON\Type instance UnknownType cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\Binary cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\Binary cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\Javascript cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\Javascript cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\MinKey cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\MinKey cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\MaxKey cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\MaxKey cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\ObjectID cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\ObjectID cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\Regex cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\Regex cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\Timestamp cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\Timestamp cannot be serialized as a root element OK: Got MongoDB\Driver\Exception\UnexpectedValueException -%S\BSON\Type instance %S\BSON\UTCDateTime cannot be serialized as a root element +MongoDB\BSON\Type instance MongoDB\BSON\UTCDateTime cannot be serialized as a root element ===DONE=== diff --git a/tests/bson/bson-fromPHP_error-004.phpt b/tests/bson/bson-fromPHP_error-004.phpt index 9b9850e0c..23d7140fb 100644 --- a/tests/bson/bson-fromPHP_error-004.phpt +++ b/tests/bson/bson-fromPHP_error-004.phpt @@ -32,7 +32,7 @@ echo throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Testing packed array with circular reference OK: Got MongoDB\Driver\Exception\UnexpectedValueException Detected recursion for fieldname "0" diff --git a/tests/bson/bson-javascript-001.phpt b/tests/bson/bson-javascript-001.phpt index 7304fa3c9..ada4f5101 100644 --- a/tests/bson/bson-javascript-001.phpt +++ b/tests/bson/bson-javascript-001.phpt @@ -23,7 +23,7 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Test#0 bool(true) bool(true) diff --git a/tests/bson/bson-javascript-compare-001.phpt b/tests/bson/bson-javascript-compare-001.phpt index 22df1371c..554c0fd2b 100644 --- a/tests/bson/bson-javascript-compare-001.phpt +++ b/tests/bson/bson-javascript-compare-001.phpt @@ -10,7 +10,7 @@ var_dump(new MongoDB\BSON\Javascript('function() { return 1; }') > new MongoDB\B ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(true) bool(true) diff --git a/tests/bson/bson-javascript-compare-002.phpt b/tests/bson/bson-javascript-compare-002.phpt index 5a4ff42d6..93c76fb16 100644 --- a/tests/bson/bson-javascript-compare-002.phpt +++ b/tests/bson/bson-javascript-compare-002.phpt @@ -11,7 +11,7 @@ var_dump(new MongoDB\BSON\Javascript('function() { return 1; }', ['x' => 1]) == ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(true) bool(true) diff --git a/tests/bson/bson-javascript-tostring-001.phpt b/tests/bson/bson-javascript-tostring-001.phpt index 85d401eb2..83c1194f7 100644 --- a/tests/bson/bson-javascript-tostring-001.phpt +++ b/tests/bson/bson-javascript-tostring-001.phpt @@ -12,7 +12,7 @@ var_dump((string) $js); ?> ===DONE=== ---EXPECTF-- +--EXPECT-- string(28) "function foo() { return 1; }" string(30) "function foo() { return bar; }" ===DONE=== diff --git a/tests/bson/bson-javascript_error-001.phpt b/tests/bson/bson-javascript_error-001.phpt index 5d18107cc..76c64ed77 100644 --- a/tests/bson/bson-javascript_error-001.phpt +++ b/tests/bson/bson-javascript_error-001.phpt @@ -14,6 +14,6 @@ throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException ===DONE=== diff --git a/tests/bson/bson-maxkey-001.phpt b/tests/bson/bson-maxkey-001.phpt index 0ce76fab9..26e77e4f6 100644 --- a/tests/bson/bson-maxkey-001.phpt +++ b/tests/bson/bson-maxkey-001.phpt @@ -21,7 +21,7 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Test#0 { "max" : { "$maxKey" : 1 } } string(29) "{ "max" : { "$maxKey" : 1 } }" string(29) "{ "max" : { "$maxKey" : 1 } }" diff --git a/tests/bson/bson-maxkey-compare-001.phpt b/tests/bson/bson-maxkey-compare-001.phpt index e5a7f63a4..69854c706 100644 --- a/tests/bson/bson-maxkey-compare-001.phpt +++ b/tests/bson/bson-maxkey-compare-001.phpt @@ -10,7 +10,7 @@ var_dump(new MongoDB\BSON\MaxKey > new MongoDB\BSON\MaxKey); ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-minkey-001.phpt b/tests/bson/bson-minkey-001.phpt index dc7d41e55..fde437d63 100644 --- a/tests/bson/bson-minkey-001.phpt +++ b/tests/bson/bson-minkey-001.phpt @@ -21,7 +21,7 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Test#0 { "min" : { "$minKey" : 1 } } string(29) "{ "min" : { "$minKey" : 1 } }" string(29) "{ "min" : { "$minKey" : 1 } }" diff --git a/tests/bson/bson-objectid-compare-001.phpt b/tests/bson/bson-objectid-compare-001.phpt index d4aaa0fa3..fc6c1d0a8 100644 --- a/tests/bson/bson-objectid-compare-001.phpt +++ b/tests/bson/bson-objectid-compare-001.phpt @@ -13,7 +13,7 @@ var_dump(new MongoDB\BSON\ObjectID('53e2a1c40640fd72175d4603') > new MongoDB\BSO ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-objectid-compare-002.phpt b/tests/bson/bson-objectid-compare-002.phpt index ed3bfe5c3..ae34e260f 100644 --- a/tests/bson/bson-objectid-compare-002.phpt +++ b/tests/bson/bson-objectid-compare-002.phpt @@ -13,7 +13,7 @@ var_dump(new MongoDB\BSON\ObjectID('00e2a1c40640fd72175d4603') > new MongoDB\BSO ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-objectid-getTimestamp-001.phpt b/tests/bson/bson-objectid-getTimestamp-001.phpt index da97006e5..24d32a35d 100644 --- a/tests/bson/bson-objectid-getTimestamp-001.phpt +++ b/tests/bson/bson-objectid-getTimestamp-001.phpt @@ -9,6 +9,6 @@ $ts = $objectid->getTimestamp(); echo $ts, "\n"; echo date_create( "@{$ts}" )->format( "Y-m-d H:i:s" ), "\n"; ?> ---EXPECTF-- +--EXPECT-- 1447757782 2015-11-17 10:56:22 diff --git a/tests/bson/bson-objectid_error-001.phpt b/tests/bson/bson-objectid_error-001.phpt index bb887abe5..4f0f12ef7 100644 --- a/tests/bson/bson-objectid_error-001.phpt +++ b/tests/bson/bson-objectid_error-001.phpt @@ -14,7 +14,7 @@ throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException ===DONE=== diff --git a/tests/bson/bson-regex-001.phpt b/tests/bson/bson-regex-001.phpt index 6a8fd5f1c..6e53c82a5 100644 --- a/tests/bson/bson-regex-001.phpt +++ b/tests/bson/bson-regex-001.phpt @@ -25,12 +25,12 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Pattern: regexp Flags: i String representation: /regexp/i -Test#0 { "regex" : { "$regex" : "regexp", "$options" : "i" } } -string(55) "{ "regex" : { "$regex" : "regexp", "$options" : "i" } }" -string(55) "{ "regex" : { "$regex" : "regexp", "$options" : "i" } }" +Test#0 { "regex" : { "$regularExpression" : { "pattern" : "regexp", "options" : "i" } } } +string(82) "{ "regex" : { "$regularExpression" : { "pattern" : "regexp", "options" : "i" } } }" +string(82) "{ "regex" : { "$regularExpression" : { "pattern" : "regexp", "options" : "i" } } }" bool(true) ===DONE=== diff --git a/tests/bson/bson-regex-003.phpt b/tests/bson/bson-regex-003.phpt index 9de943e02..00909cb47 100644 --- a/tests/bson/bson-regex-003.phpt +++ b/tests/bson/bson-regex-003.phpt @@ -25,12 +25,12 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Pattern: regexp Flags: String representation: /regexp/ -Test#0 { "regex" : { "$regex" : "regexp", "$options" : "" } } -string(54) "{ "regex" : { "$regex" : "regexp", "$options" : "" } }" -string(54) "{ "regex" : { "$regex" : "regexp", "$options" : "" } }" +Test#0 { "regex" : { "$regularExpression" : { "pattern" : "regexp", "options" : "" } } } +string(81) "{ "regex" : { "$regularExpression" : { "pattern" : "regexp", "options" : "" } } }" +string(81) "{ "regex" : { "$regularExpression" : { "pattern" : "regexp", "options" : "" } } }" bool(true) ===DONE=== diff --git a/tests/bson/bson-regex-compare-001.phpt b/tests/bson/bson-regex-compare-001.phpt index b4330d847..ede207d54 100644 --- a/tests/bson/bson-regex-compare-001.phpt +++ b/tests/bson/bson-regex-compare-001.phpt @@ -13,7 +13,7 @@ var_dump(new MongoDB\BSON\Regex('regexp') > new MongoDB\BSON\Regex('regexo')); ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-regex-compare-002.phpt b/tests/bson/bson-regex-compare-002.phpt index bbc544561..3cd5da625 100644 --- a/tests/bson/bson-regex-compare-002.phpt +++ b/tests/bson/bson-regex-compare-002.phpt @@ -14,7 +14,7 @@ var_dump(new MongoDB\BSON\Regex('regexp', 'm') > new MongoDB\BSON\Regex('regexp' ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-regex-jsonserialize-003.phpt b/tests/bson/bson-regex-jsonserialize-003.phpt index 281e7cbd2..2cf56df6f 100644 --- a/tests/bson/bson-regex-jsonserialize-003.phpt +++ b/tests/bson/bson-regex-jsonserialize-003.phpt @@ -16,7 +16,7 @@ var_dump(toPHP(fromJSON($json))); ===DONE=== --EXPECTF-- -{ "foo" : { "$regex" : "pattern", "$options" : "" } } +{ "foo" : { "$regularExpression" : { "pattern" : "pattern", "options" : "" } } } {"foo":{"$regex":"pattern","$options":""}} object(stdClass)#%d (%d) { ["foo"]=> diff --git a/tests/bson/bson-regex-jsonserialize-004.phpt b/tests/bson/bson-regex-jsonserialize-004.phpt index 988d58004..0f2c28453 100644 --- a/tests/bson/bson-regex-jsonserialize-004.phpt +++ b/tests/bson/bson-regex-jsonserialize-004.phpt @@ -16,7 +16,7 @@ var_dump(toPHP(fromJSON($json))); ===DONE=== --EXPECTF-- -{ "foo" : { "$regex" : "pattern", "$options" : "i" } } +{ "foo" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } } {"foo":{"$regex":"pattern","$options":"i"}} object(stdClass)#%d (%d) { ["foo"]=> diff --git a/tests/bson/bson-timestamp-001.phpt b/tests/bson/bson-timestamp-001.phpt index 1dc85154f..ff089f4e8 100644 --- a/tests/bson/bson-timestamp-001.phpt +++ b/tests/bson/bson-timestamp-001.phpt @@ -24,7 +24,7 @@ foreach($tests as $n => $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- [1234:5678] Test#0 { "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } } string(63) "{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }" diff --git a/tests/bson/bson-timestamp-compare-001.phpt b/tests/bson/bson-timestamp-compare-001.phpt index cbf5378eb..1a0e2bfe7 100644 --- a/tests/bson/bson-timestamp-compare-001.phpt +++ b/tests/bson/bson-timestamp-compare-001.phpt @@ -18,7 +18,7 @@ var_dump(new MongoDB\BSON\Timestamp(1234, 5678) > new MongoDB\BSON\Timestamp(123 ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-timestamp_error-001.phpt b/tests/bson/bson-timestamp_error-001.phpt index 238507439..f5531cd7a 100644 --- a/tests/bson/bson-timestamp_error-001.phpt +++ b/tests/bson/bson-timestamp_error-001.phpt @@ -14,7 +14,7 @@ throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException ===DONE=== diff --git a/tests/bson/bson-toExtendedJSON-002.phpt b/tests/bson/bson-toExtendedJSON-002.phpt index 7af4580a9..0fc77247d 100644 --- a/tests/bson/bson-toExtendedJSON-002.phpt +++ b/tests/bson/bson-toExtendedJSON-002.phpt @@ -26,10 +26,10 @@ foreach ($tests as $value) { --EXPECT-- { "_id" : { "$oid" : "56315a7c6118fd1b920270b1" } } -{ "binary" : { "$binary" : "Zm9v", "$type" : "00" } } +{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } } { "date" : { "$date" : { "$numberLong" : "1445990400000" } } } -{ "timestamp" : { "$timestamp" : "6210886145853620224" } } -{ "regex" : { "$regex" : "pattern", "$options" : "i" } } +{ "timestamp" : { "$timestamp" : { "t" : 1446084619, "i" : 0 } } } +{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } } { "minkey" : { "$minKey" : 1 } } { "maxkey" : { "$maxKey" : 1 } } { "long" : { "$numberInt" : "1234" } } diff --git a/tests/bson/bson-toExtendedJSON_error-001.phpt b/tests/bson/bson-toExtendedJSON_error-001.phpt index 9d5f7e6b4..a9a65e48d 100644 --- a/tests/bson/bson-toExtendedJSON_error-001.phpt +++ b/tests/bson/bson-toExtendedJSON_error-001.phpt @@ -22,7 +22,7 @@ foreach ($invalidBson as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Could not read document from BSON reader OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toExtendedJSON_error-002.phpt b/tests/bson/bson-toExtendedJSON_error-002.phpt index f48aa1e0d..9a64da0d9 100644 --- a/tests/bson/bson-toExtendedJSON_error-002.phpt +++ b/tests/bson/bson-toExtendedJSON_error-002.phpt @@ -19,7 +19,7 @@ foreach ($tests as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Could not read document from BSON reader OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toExtendedJSON_error-003.phpt b/tests/bson/bson-toExtendedJSON_error-003.phpt index 971f2dc44..91da492fa 100644 --- a/tests/bson/bson-toExtendedJSON_error-003.phpt +++ b/tests/bson/bson-toExtendedJSON_error-003.phpt @@ -28,7 +28,7 @@ foreach ($tests as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Could not convert BSON document to a JSON string OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toJSON-002.phpt b/tests/bson/bson-toJSON-002.phpt index fa618e26c..76fb49739 100644 --- a/tests/bson/bson-toJSON-002.phpt +++ b/tests/bson/bson-toJSON-002.phpt @@ -26,10 +26,10 @@ foreach ($tests as $value) { --EXPECT-- { "_id" : { "$oid" : "56315a7c6118fd1b920270b1" } } -{ "binary" : { "$binary" : "Zm9v", "$type" : "00" } } -{ "date" : { "$date" : 1445990400000 } } +{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } } +{ "date" : { "$date" : "2015-10-28T00:00:00Z" } } { "timestamp" : { "$timestamp" : { "t" : 1446084619, "i" : 0 } } } -{ "regex" : { "$regex" : "pattern", "$options" : "i" } } +{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } } { "minkey" : { "$minKey" : 1 } } { "maxkey" : { "$maxKey" : 1 } } { "long" : 1234 } diff --git a/tests/bson/bson-toJSON_error-001.phpt b/tests/bson/bson-toJSON_error-001.phpt index 0dc7ad61d..0a071d59e 100644 --- a/tests/bson/bson-toJSON_error-001.phpt +++ b/tests/bson/bson-toJSON_error-001.phpt @@ -22,7 +22,7 @@ foreach ($invalidBson as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Could not read document from BSON reader OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toJSON_error-002.phpt b/tests/bson/bson-toJSON_error-002.phpt index 525a8735c..bf2830185 100644 --- a/tests/bson/bson-toJSON_error-002.phpt +++ b/tests/bson/bson-toJSON_error-002.phpt @@ -19,7 +19,7 @@ foreach ($tests as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Could not read document from BSON reader OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toJSON_error-003.phpt b/tests/bson/bson-toJSON_error-003.phpt index 5db339e8b..8b677b600 100644 --- a/tests/bson/bson-toJSON_error-003.phpt +++ b/tests/bson/bson-toJSON_error-003.phpt @@ -28,7 +28,7 @@ foreach ($tests as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Could not convert BSON document to a JSON string OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toPHP-002.phpt b/tests/bson/bson-toPHP-002.phpt index c0417a7a3..519ce5d4a 100644 --- a/tests/bson/bson-toPHP-002.phpt +++ b/tests/bson/bson-toPHP-002.phpt @@ -50,7 +50,7 @@ var_dump(toPHP($bson, $typeMap)); ===DONE=== --EXPECTF-- -Test { "__pclass" : { "$binary" : "TXlEb2N1bWVudA==", "$type" : "80" }, "list" : [ 1, 2, 3 ], "map" : { "foo" : "bar" } } +Test { "__pclass" : { "$binary" : { "base64": "TXlEb2N1bWVudA==", "subType" : "80" } }, "list" : [ 1, 2, 3 ], "map" : { "foo" : "bar" } } 0 : 55 00 00 00 05 5f 5f 70 63 6c 61 73 73 00 0a 00 [U....__pclass...] 10 : 00 00 80 4d 79 44 6f 63 75 6d 65 6e 74 04 6c 69 [...MyDocument.li] 20 : 73 74 00 1a 00 00 00 10 30 00 01 00 00 00 10 31 [st......0......1] diff --git a/tests/bson/bson-toPHP_error-002.phpt b/tests/bson/bson-toPHP_error-002.phpt index 7e5eaf8cc..91848d779 100644 --- a/tests/bson/bson-toPHP_error-002.phpt +++ b/tests/bson/bson-toPHP_error-002.phpt @@ -24,7 +24,7 @@ foreach ($invalidBson as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Could not read document from BSON reader Reading document did not exhaust input buffer ===DONE=== diff --git a/tests/bson/bson-toPHP_error-005.phpt b/tests/bson/bson-toPHP_error-005.phpt index 982e65dfa..0a1d32e1a 100644 --- a/tests/bson/bson-toPHP_error-005.phpt +++ b/tests/bson/bson-toPHP_error-005.phpt @@ -20,7 +20,7 @@ foreach ($tests as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Detected unsupported BSON type 0x06 (undefined) for fieldname "foo" OK: Got MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-toPHP_error-006.phpt b/tests/bson/bson-toPHP_error-006.phpt index b704bf558..e94bc5283 100644 --- a/tests/bson/bson-toPHP_error-006.phpt +++ b/tests/bson/bson-toPHP_error-006.phpt @@ -33,7 +33,7 @@ foreach ($tests as $bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: MongoDB\Driver\Exception\UnexpectedValueException Detected unsupported BSON type 0x06 (undefined) for fieldname "u2" OK: MongoDB\Driver\Exception\UnexpectedValueException diff --git a/tests/bson/bson-unknown-001.phpt b/tests/bson/bson-unknown-001.phpt index a8f11a371..b6f94986d 100644 --- a/tests/bson/bson-unknown-001.phpt +++ b/tests/bson/bson-unknown-001.phpt @@ -21,7 +21,7 @@ throws(function() { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException OK: Got MongoDB\Driver\Exception\UnexpectedValueException ===DONE=== diff --git a/tests/bson/bson-utcdatetime-001.phpt b/tests/bson/bson-utcdatetime-001.phpt index 223629c7a..dc508badf 100644 --- a/tests/bson/bson-utcdatetime-001.phpt +++ b/tests/bson/bson-utcdatetime-001.phpt @@ -39,12 +39,12 @@ foreach($tests as $n => $test) { ===DONE=== --EXPECT-- -Test#0 { "0" : { "$date" : 1416445411987 } } -string(37) "{ "0" : { "$date" : 1416445411987 } }" -string(37) "{ "0" : { "$date" : 1416445411987 } }" +Test#0 { "0" : { "$date" : "2014-11-20T01:03:31.987Z" } } +string(50) "{ "0" : { "$date" : "2014-11-20T01:03:31.987Z" } }" +string(50) "{ "0" : { "$date" : "2014-11-20T01:03:31.987Z" } }" bool(true) -Test#1 { "0" : { "$date" : 1416445411987 } } -string(37) "{ "0" : { "$date" : 1416445411987 } }" -string(37) "{ "0" : { "$date" : 1416445411987 } }" +Test#1 { "0" : { "$date" : "2014-11-20T01:03:31.987Z" } } +string(50) "{ "0" : { "$date" : "2014-11-20T01:03:31.987Z" } }" +string(50) "{ "0" : { "$date" : "2014-11-20T01:03:31.987Z" } }" bool(true) ===DONE=== diff --git a/tests/bson/bson-utcdatetime-compare-001.phpt b/tests/bson/bson-utcdatetime-compare-001.phpt index e93334ec4..e9862a8e3 100644 --- a/tests/bson/bson-utcdatetime-compare-001.phpt +++ b/tests/bson/bson-utcdatetime-compare-001.phpt @@ -13,7 +13,7 @@ var_dump(new MongoDB\BSON\UTCDateTime(1234) > new MongoDB\BSON\UTCDateTime(1233) ?> ===DONE=== ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/tests/bson/bson-utcdatetime-jsonserialize-002.phpt b/tests/bson/bson-utcdatetime-jsonserialize-002.phpt index d8fc7fff7..2350d4ec3 100644 --- a/tests/bson/bson-utcdatetime-jsonserialize-002.phpt +++ b/tests/bson/bson-utcdatetime-jsonserialize-002.phpt @@ -16,7 +16,7 @@ var_dump(toPHP(fromJSON($json))); ===DONE=== --EXPECTF-- -{ "foo" : { "$date" : 1476192866817 } } +{ "foo" : { "$date" : "2016-10-11T13:34:26.817Z" } } {"foo":{"$date":{"$numberLong":"1476192866817"}}} object(stdClass)#%d (%d) { ["foo"]=> diff --git a/tests/bson/bson-utcdatetime-todatetime-001.phpt b/tests/bson/bson-utcdatetime-todatetime-001.phpt index b76e3d87d..a0fdf878b 100644 --- a/tests/bson/bson-utcdatetime-todatetime-001.phpt +++ b/tests/bson/bson-utcdatetime-todatetime-001.phpt @@ -12,6 +12,6 @@ var_dump($datetime->format(DATE_RSS)); ?> ===DONE=== ---EXPECTF-- +--EXPECT-- string(31) "Thu, 20 Nov 2014 01:03:31 +0000" ===DONE=== diff --git a/tests/bson/bson-utcdatetime-tostring-001.phpt b/tests/bson/bson-utcdatetime-tostring-001.phpt index c80c33110..8f449aebd 100644 --- a/tests/bson/bson-utcdatetime-tostring-001.phpt +++ b/tests/bson/bson-utcdatetime-tostring-001.phpt @@ -11,6 +11,6 @@ var_dump((string) $utcdatetime); ?> ===DONE=== ---EXPECTF-- +--EXPECT-- string(13) "1416445411987" ===DONE=== diff --git a/tests/bson/bson-utcdatetime_error-004.phpt b/tests/bson/bson-utcdatetime_error-004.phpt index 6509ed6b9..2fb6a62dd 100644 --- a/tests/bson/bson-utcdatetime_error-004.phpt +++ b/tests/bson/bson-utcdatetime_error-004.phpt @@ -19,7 +19,7 @@ foreach ($invalidValues as $invalidValue) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException Expected integer or string, boolean given OK: Got MongoDB\Driver\Exception\InvalidArgumentException diff --git a/tests/bson/bug0325.phpt b/tests/bson/bug0325.phpt index afd1b0841..c8d9ccde5 100644 --- a/tests/bson/bug0325.phpt +++ b/tests/bson/bug0325.phpt @@ -16,6 +16,6 @@ try { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Reading document did not exhaust input buffer ===DONE=== diff --git a/tests/bson/bug0347.phpt b/tests/bson/bug0347.phpt index 3de4910e7..8d01a545e 100644 --- a/tests/bson/bug0347.phpt +++ b/tests/bson/bug0347.phpt @@ -14,6 +14,6 @@ try { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Could not read document from BSON reader ===DONE=== diff --git a/tests/bson/bug0531.phpt b/tests/bson/bug0531.phpt index 3c17be3d4..54079f708 100644 --- a/tests/bson/bug0531.phpt +++ b/tests/bson/bug0531.phpt @@ -15,7 +15,7 @@ echo throws(function() use ($bson) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- OK: Got MongoDB\Driver\Exception\UnexpectedValueException Detected unknown BSON type 0x31 for fieldname "hello". Are you using the latest driver? ===DONE=== diff --git a/tests/bson/bug0623.phpt b/tests/bson/bug0623.phpt index 54396e879..94ea73102 100644 --- a/tests/bson/bug0623.phpt +++ b/tests/bson/bug0623.phpt @@ -30,7 +30,7 @@ foreach ($tests as $test) { ?> ===DONE=== ---EXPECTF-- +--EXPECT-- Test {"9781449410247":"a","X9781449410247":"b","9781449410248":"c"} 0 : 45 00 00 00 02 39 37 38 31 34 34 39 34 31 30 32 [E....97814494102] 10 : 34 37 00 02 00 00 00 61 00 02 58 39 37 38 31 34 [47.....a..X97814] diff --git a/tests/bulk/bulkwrite-insert_error-001.phpt b/tests/bulk/bulkwrite-insert_error-001.phpt index 547b6245b..efb6ff61a 100644 --- a/tests/bulk/bulkwrite-insert_error-001.phpt +++ b/tests/bulk/bulkwrite-insert_error-001.phpt @@ -28,14 +28,14 @@ echo throws(function() use ($bulk) { --EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException -document to insert contains invalid keys +document to insert contains invalid key: empty key OK: Got MongoDB\Driver\Exception\InvalidArgumentException -document to insert contains invalid keys +document to insert contains invalid key: keys cannot contain ".": "x.y" OK: Got MongoDB\Driver\Exception\InvalidArgumentException -document to insert contains invalid keys +document to insert contains invalid key: keys cannot begin with "$": "$x" OK: Got MongoDB\Driver\Exception\InvalidArgumentException -document to insert contains invalid keys +document to insert contains invalid key: corrupt BSON ===DONE=== diff --git a/tests/bulk/bulkwrite-insert_error-004.phpt b/tests/bulk/bulkwrite-insert_error-004.phpt index b6764156a..445afd34d 100644 --- a/tests/bulk/bulkwrite-insert_error-004.phpt +++ b/tests/bulk/bulkwrite-insert_error-004.phpt @@ -24,11 +24,11 @@ echo throws(function() use ($bulk) { --EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException -legacy index document contains invalid keys +legacy index document contains invalid key: empty key OK: Got MongoDB\Driver\Exception\InvalidArgumentException -legacy index document contains invalid keys +legacy index document contains invalid key: keys cannot begin with "$": "$x" OK: Got MongoDB\Driver\Exception\InvalidArgumentException -legacy index document contains invalid keys +legacy index document contains invalid key: corrupt BSON ===DONE=== diff --git a/tests/bulk/bulkwrite-update_error-001.phpt b/tests/bulk/bulkwrite-update_error-001.phpt index 331fa4346..8e0e99ae5 100644 --- a/tests/bulk/bulkwrite-update_error-001.phpt +++ b/tests/bulk/bulkwrite-update_error-001.phpt @@ -28,14 +28,14 @@ echo throws(function() use ($bulk) { --EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException -replacement document contains invalid keys +replacement document contains invalid key: empty key OK: Got MongoDB\Driver\Exception\InvalidArgumentException -replacement document contains invalid keys +replacement document contains invalid key: keys cannot contain ".": "x.y" OK: Got MongoDB\Driver\Exception\InvalidArgumentException -replacement document contains invalid keys +replacement document contains invalid key: keys cannot begin with "$": "$x" OK: Got MongoDB\Driver\Exception\InvalidArgumentException -replacement document contains invalid keys +replacement document contains invalid key: corrupt BSON ===DONE=== \ No newline at end of file diff --git a/tests/bulk/bulkwrite-update_error-002.phpt b/tests/bulk/bulkwrite-update_error-002.phpt index dddfff967..6c949d835 100644 --- a/tests/bulk/bulkwrite-update_error-002.phpt +++ b/tests/bulk/bulkwrite-update_error-002.phpt @@ -28,10 +28,10 @@ echo throws(function() use ($bulk) { --EXPECT-- OK: Got MongoDB\Driver\Exception\InvalidArgumentException -update document contains invalid keys +update document contains invalid key: empty key OK: Got MongoDB\Driver\Exception\InvalidArgumentException -update document contains invalid keys +update document contains invalid key: corrupt BSON OK: Got MongoDB\Driver\Exception\InvalidArgumentException Invalid key 'z': update only works with $ operators