{ "version": "1.4", "category": "decode", "description": "Primitive value decoding - strings, numbers, booleans, null, unescaping", "tests": [ { "name": "parses safe unquoted string", "input": "hello", "expected": "hello", "specSection": "7.4" }, { "name": "parses unquoted string with underscore and numbers", "input": "Ada_99", "expected": "Ada_99", "specSection": "7.4" }, { "name": "parses empty quoted string", "input": "\"\"", "expected": "", "specSection": "7.4" }, { "name": "parses quoted string with newline escape", "input": "\"line1\\nline2\"", "expected": "line1\nline2", "specSection": "7.1" }, { "name": "parses quoted string with tab escape", "input": "\"tab\\there\"", "expected": "tab\there", "specSection": "7.1" }, { "name": "parses quoted string with carriage return escape", "input": "\"return\\rcarriage\"", "expected": "return\rcarriage", "specSection": "7.1" }, { "name": "parses quoted string with backslash escape", "input": "\"C:\\\\Users\\\\path\"", "expected": "C:\\Users\\path", "specSection": "7.1" }, { "name": "parses quoted string with escaped quotes", "input": "\"say \\\"hello\\\"\"", "expected": "say \"hello\"", "specSection": "7.1" }, { "name": "parses Unicode string", "input": "café", "expected": "café", "specSection": "7.4" }, { "name": "parses Chinese characters", "input": "你好", "expected": "你好", "specSection": "7.4" }, { "name": "parses emoji", "input": "🚀", "expected": "🚀", "specSection": "7.4" }, { "name": "parses string with emoji and spaces", "input": "hello 👋 world", "expected": "hello 👋 world", "specSection": "7.4" }, { "name": "parses positive integer", "input": "42", "expected": 42, "specSection": "4" }, { "name": "parses decimal number", "input": "3.14", "expected": 3.14, "specSection": "4" }, { "name": "parses negative integer", "input": "-7", "expected": -7, "specSection": "4" }, { "name": "parses true", "input": "true", "expected": true, "specSection": "4" }, { "name": "parses false", "input": "false", "expected": false, "specSection": "4" }, { "name": "parses null", "input": "null", "expected": null, "specSection": "4" }, { "name": "respects ambiguity quoting for true", "input": "\"true\"", "expected": "true", "specSection": "7.4", "note": "Quoted primitive remains string" }, { "name": "respects ambiguity quoting for false", "input": "\"false\"", "expected": "false", "specSection": "7.4" }, { "name": "respects ambiguity quoting for null", "input": "\"null\"", "expected": "null", "specSection": "7.4" }, { "name": "respects ambiguity quoting for integer", "input": "\"42\"", "expected": "42", "specSection": "7.4" }, { "name": "respects ambiguity quoting for negative decimal", "input": "\"-3.14\"", "expected": "-3.14", "specSection": "7.4" }, { "name": "respects ambiguity quoting for scientific notation", "input": "\"1e-6\"", "expected": "1e-6", "specSection": "7.4" }, { "name": "respects ambiguity quoting for leading-zero", "input": "\"05\"", "expected": "05", "specSection": "7.4" } ] }