Download crates/forge_json_repair/tests/comments_unicode.rs from SaylorTwift/forgecode: direct link, hf CLI and curl.
- Browser
- Download file 1.98 kB
-
https://huggingface.co/SaylorTwift/forgecode/resolve/main/crates/forge_json_repair/tests/comments_unicode.rs
- Command line
-
hf download hf://SaylorTwift/forgecode/crates/forge_json_repair/tests/comments_unicode.rs
-
curl -L -o comments_unicode.rs https://huggingface.co/SaylorTwift/forgecode/resolve/main/crates/forge_json_repair/tests/comments_unicode.rs
1.98 kB
| use forge_json_repair::json_repair; | |
| use pretty_assertions::assert_eq; | |
| fn test_remove_comments() { | |
| let fixture = r#"/* foo */ {}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{} /* foo */"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{"a":"foo",/*hello*/"b":"bar"}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"a": "foo", "b": "bar"}); | |
| assert_eq!(actual, expected); | |
| let fixture = r#"{} // comment"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({}); | |
| assert_eq!(actual, expected); | |
| // Should not remove comments inside strings | |
| let fixture = r#""/* foo */""#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!("/* foo */"); | |
| assert_eq!(actual, expected); | |
| } | |
| fn test_unicode_support() { | |
| // Unicode characters in strings | |
| let fixture = r#""β ""#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!("β "); | |
| assert_eq!(actual, expected); | |
| let fixture = r#""π""#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!("π"); | |
| assert_eq!(actual, expected); | |
| // Escaped unicode | |
| let fixture = r#""\\u2605""#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!("\\u2605"); | |
| assert_eq!(actual, expected); | |
| // Unicode in keys | |
| let fixture = r#"{"β ":true}"#; | |
| let actual = json_repair::<serde_json::Value>(fixture).unwrap(); | |
| let expected = serde_json::json!({"β ": true}); | |
| assert_eq!(actual, expected); | |
| } | |