diff --git a/tests/bson-corpus/binary-valid-015.phpt b/tests/bson-corpus/binary-valid-015.phpt new file mode 100644 index 000000000..31e4e37a4 --- /dev/null +++ b/tests/bson-corpus/binary-valid-015.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x09 Vector FLOAT32 +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; + +// Canonical BSON -> BSON object -> Canonical extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; + +// Canonical extJSON -> BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +170000000578000a0000000927000000fe420000e04000 +{"x":{"$binary":{"base64":"JwAAAP5CAADgQA==","subType":"09"}}} +170000000578000a0000000927000000fe420000e04000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-016.phpt b/tests/bson-corpus/binary-valid-016.phpt new file mode 100644 index 000000000..d4474aec8 --- /dev/null +++ b/tests/bson-corpus/binary-valid-016.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x09 Vector INT8 +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; + +// Canonical BSON -> BSON object -> Canonical extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; + +// Canonical extJSON -> BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +11000000057800040000000903007f0700 +{"x":{"$binary":{"base64":"AwB\/Bw==","subType":"09"}}} +11000000057800040000000903007f0700 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-017.phpt b/tests/bson-corpus/binary-valid-017.phpt new file mode 100644 index 000000000..a6d5a67c2 --- /dev/null +++ b/tests/bson-corpus/binary-valid-017.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x09 Vector PACKED_BIT +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; + +// Canonical BSON -> BSON object -> Canonical extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; + +// Canonical extJSON -> BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +11000000057800040000000910007f0700 +{"x":{"$binary":{"base64":"EAB\/Bw==","subType":"09"}}} +11000000057800040000000910007f0700 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-018.phpt b/tests/bson-corpus/binary-valid-018.phpt new file mode 100644 index 000000000..e0ac520f2 --- /dev/null +++ b/tests/bson-corpus/binary-valid-018.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x09 Vector (Zero-length) FLOAT32 +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; + +// Canonical BSON -> BSON object -> Canonical extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; + +// Canonical extJSON -> BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +0f0000000578000200000009270000 +{"x":{"$binary":{"base64":"JwA=","subType":"09"}}} +0f0000000578000200000009270000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-019.phpt b/tests/bson-corpus/binary-valid-019.phpt new file mode 100644 index 000000000..49cef53c7 --- /dev/null +++ b/tests/bson-corpus/binary-valid-019.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x09 Vector (Zero-length) INT8 +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; + +// Canonical BSON -> BSON object -> Canonical extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; + +// Canonical extJSON -> BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +0f0000000578000200000009030000 +{"x":{"$binary":{"base64":"AwA=","subType":"09"}}} +0f0000000578000200000009030000 +===DONE=== \ No newline at end of file diff --git a/tests/bson-corpus/binary-valid-020.phpt b/tests/bson-corpus/binary-valid-020.phpt new file mode 100644 index 000000000..2480e0341 --- /dev/null +++ b/tests/bson-corpus/binary-valid-020.phpt @@ -0,0 +1,31 @@ +--TEST-- +Binary type: subtype 0x09 Vector (Zero-length) PACKED_BIT +--DESCRIPTION-- +Generated by scripts/convert-bson-corpus-tests.php + +DO NOT EDIT THIS FILE +--FILE-- + BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; + +// Canonical BSON -> BSON object -> Canonical extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; + +// Canonical extJSON -> BSON object -> Canonical BSON +echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; + +?> +===DONE=== + +--EXPECT-- +0f0000000578000200000009100000 +{"x":{"$binary":{"base64":"EAA=","subType":"09"}}} +0f0000000578000200000009100000 +===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 index c2ab19107..b9b467c9a 100644 --- a/tests/bson-corpus/datetime-valid-004.phpt +++ b/tests/bson-corpus/datetime-valid-004.phpt @@ -11,6 +11,7 @@ require_once __DIR__ . '/../utils/basic.inc'; $canonicalBson = hex2bin('1000000009610000DC1FD277E6000000'); $canonicalExtJson = '{"a":{"$date":{"$numberLong":"253402300800000"}}}'; +$relaxedExtJson = '{"a":{"$date":{"$numberLong":"253402300800000"}}}'; // Canonical BSON -> BSON object -> Canonical BSON echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; @@ -18,14 +19,22 @@ echo bin2hex((string) MongoDB\BSON\Document::fromBSON($canonicalBson)), "\n"; // Canonical BSON -> BSON object -> Canonical extJSON echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toCanonicalExtendedJSON()), "\n"; +// Canonical BSON -> BSON object -> Relaxed extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromBSON($canonicalBson)->toRelaxedExtendedJSON()), "\n"; + // Canonical extJSON -> BSON object -> Canonical BSON echo bin2hex((string) MongoDB\BSON\Document::fromJSON($canonicalExtJson)), "\n"; +// Relaxed extJSON -> BSON object -> Relaxed extJSON +echo json_canonicalize(MongoDB\BSON\Document::fromJSON($relaxedExtJson)->toRelaxedExtendedJSON()), "\n"; + ?> ===DONE=== --EXPECT-- 1000000009610000dc1fd277e6000000 {"a":{"$date":{"$numberLong":"253402300800000"}}} +{"a":{"$date":{"$numberLong":"253402300800000"}}} 1000000009610000dc1fd277e6000000 +{"a":{"$date":{"$numberLong":"253402300800000"}}} ===DONE=== \ No newline at end of file