diff options
Diffstat (limited to 'android')
| -rw-r--r-- | android/translations-converter/src/gettext/msg_string.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/android/translations-converter/src/gettext/msg_string.rs b/android/translations-converter/src/gettext/msg_string.rs index 216bd2fa4e..83bcd90c30 100644 --- a/android/translations-converter/src/gettext/msg_string.rs +++ b/android/translations-converter/src/gettext/msg_string.rs @@ -124,4 +124,40 @@ mod tests { assert_eq!(input.to_string(), original); } + + #[test] + fn appending() { + let mut target = MsgString::from_unescaped(r#""Initial""#); + let extra = MsgString::from_escaped(r#"\"Extra\""#); + + target += extra; + + let expected = concat!(r#"\"Initial\"#, r#""\"Extra\""#); + + assert_eq!(target.to_string(), expected); + } + + #[test] + fn concatenating_by_moving() { + let start = MsgString::from_unescaped(r#""Start""#); + let end = MsgString::from_escaped(r#"\"End\""#); + + let result = start + end; + + let expected = concat!(r#"\"Start\"#, r#""\"End\""#); + + assert_eq!(result.to_string(), expected); + } + + #[test] + fn concatenating_by_borrowing() { + let start = MsgString::from_escaped(r#"\"Start\""#); + let end = MsgString::from_unescaped(r#""End""#); + + let result = &start + &end; + + let expected = concat!(r#"\"Start\"#, r#""\"End\""#); + + assert_eq!(result.to_string(), expected); + } } |
