Skip to content

Commit 10e6b6d

Browse files
committed
test(android_strings, placeholder): add tests for non-ASCII strings
- Added a test case in `placeholder.rs` to validate the signature extraction for a Chinese string. - Updated `android_strings.rs` to include a non-ASCII string in the XML format and adjusted the expected string count and assertions accordingly.
1 parent 89451dd commit 10e6b6d

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

langcodec/src/formats/android_strings.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,10 +429,11 @@ mod tests {
429429
<string name="multiple_lines">Hello\n\n
430430
World
431431
</string>
432+
<string name="some_non_ascii">你好</string>
432433
</resources>
433434
"#;
434435
let format = Format::from_str(xml).unwrap();
435-
assert_eq!(format.strings.len(), 4);
436+
assert_eq!(format.strings.len(), 5);
436437
let hello = &format.strings[0];
437438
assert_eq!(hello.name, "hello");
438439
assert_eq!(hello.value, "Hello");
@@ -449,6 +450,10 @@ World
449450
assert_eq!(multiple_lines.name, "multiple_lines");
450451
assert_eq!(multiple_lines.value, r#"Hello\n\n\nWorld\n "#);
451452
assert_eq!(multiple_lines.translatable, None);
453+
let some_non_ascii = &format.strings[4];
454+
assert_eq!(some_non_ascii.name, "some_non_ascii");
455+
assert_eq!(some_non_ascii.value, "你好");
456+
assert_eq!(some_non_ascii.translatable, None);
452457
}
453458

454459
#[test]

langcodec/src/placeholder.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,9 @@ mod tests {
228228
let s = "Hello %1$@, you have %2$d items and %s extra";
229229
let sig = signature(s);
230230
assert_eq!(sig, vec!["1$s", "2$d", "s"]);
231+
let s = "你好,%s";
232+
let sig = signature(s);
233+
assert_eq!(sig, vec!["s"]);
231234
}
232235

233236
#[test]

0 commit comments

Comments
 (0)