Download crates/forge_json_repair/tests/punctuation.rs from SaylorTwift/forgecode: direct link, hf CLI and curl.
- Browser
- Download file 2.74 kB
-
https://huggingface.co/SaylorTwift/forgecode/resolve/main/crates/forge_json_repair/tests/punctuation.rs
- Command line
-
hf download hf://SaylorTwift/forgecode/crates/forge_json_repair/tests/punctuation.rs
-
curl -L -o punctuation.rs https://huggingface.co/SaylorTwift/forgecode/resolve/main/crates/forge_json_repair/tests/punctuation.rs
2.74 kB
| use forge_json_repair::json_repair; | |
| use pretty_assertions::assert_eq; | |
| fn test_repair_missing_commas() { | |
| // Array items | |
| let fixture = r#"{"array": [{}{}]}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"array": [{}, {}]}); | |
| assert_eq!(actual, expected); | |
| // Object properties | |
| let fixture = r#"{"a":2"b":3}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": 2, "b": 3}); | |
| assert_eq!(actual, expected); | |
| } | |
| fn test_repair_missing_colons() { | |
| let fixture = r#"{"a" "b"}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": "b"}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a" 2}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": 2}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a" true}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": true}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a" false}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": false}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a" null}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": null}); | |
| assert_eq!(actual, expected); | |
| } | |
| fn test_strip_leading_commas() { | |
| let fixture = "[,1,2,3]"; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!([1, 2, 3]); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{,"message": "hi"}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"message": "hi"}); | |
| assert_eq!(actual, expected); | |
| } | |
| fn test_strip_trailing_commas() { | |
| let fixture = "[1,2,3,]"; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!([1, 2, 3]); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a":2,}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": 2}); | |
| assert_eq!(actual, expected); | |
| let fixture = "4,"; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!(4); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a":2},"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": 2}); | |
| assert_eq!(actual, expected); | |
| } | |