The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
{
    "description": "Symbol",
    "bson_type": "0x0E",
    "deprecated": true,
    "test_key": "a",
    "valid": [
        {
            "description": "Empty string",
            "bson": "0D0000000E6100010000000000",
            "canonical_bson": "0D000000026100010000000000"
        },
        {
            "description": "Single character",
            "bson": "0E0000000E610002000000620000",
            "canonical_bson": "0E00000002610002000000620000"
        },
        {
            "description": "Multi-character",
            "bson": "190000000E61000D0000006162616261626162616261620000",
            "canonical_bson": "190000000261000D0000006162616261626162616261620000"
        },
        {
            "description": "two-byte UTF-8 (\u00e9)",
            "bson": "190000000E61000D000000C3A9C3A9C3A9C3A9C3A9C3A90000",
            "canonical_bson": "190000000261000D000000C3A9C3A9C3A9C3A9C3A9C3A90000"
        },
        {
            "description": "three-byte UTF-8 (\u2606)",
            "bson": "190000000E61000D000000E29886E29886E29886E298860000",
            "canonical_bson": "190000000261000D000000E29886E29886E29886E298860000"
        },
        {
            "description": "Embedded nulls",
            "bson": "190000000E61000D000000E29886E29886E29886E298860000",
            "canonical_bson": "190000000261000D000000E29886E29886E29886E298860000"
        }
    ],
    "decodeErrors": [
        {
            "description": "bad symbol length: 0 (but no 0x00 either)",
            "bson": "0C0000000261000000000000"
        },
        {
            "description": "bad symbol length: -1",
            "bson": "0C000000026100FFFFFFFF00"
        },
        {
            "description": "bad symbol length: eats terminator",
            "bson": "10000000026100050000006200620000"
        },
        {
            "description": "bad symbol length: longer than rest of document",
            "bson": "120000000200FFFFFF00666F6F6261720000"
        },
        {
            "description": "symbol is not null-terminated",
            "bson": "1000000002610004000000616263FF00"
        },
        {
            "description": "empty symbol, but extra null",
            "bson": "0E00000002610001000000000000"
        },
        {
            "description": "invalid UTF-8",
            "bson": "0E00000002610002000000E90000"
        }
    ]
}