aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shakehand-test/locale/sub/sub.toml5
-rw-r--r--shakehand-test/src/lib.rs16
-rw-r--r--shakehand/src/shakehand.rs1
3 files changed, 21 insertions, 1 deletions
diff --git a/shakehand-test/locale/sub/sub.toml b/shakehand-test/locale/sub/sub.toml
new file mode 100644
index 0000000..3fcdb2f
--- /dev/null
+++ b/shakehand-test/locale/sub/sub.toml
@@ -0,0 +1,5 @@
+[en]
+test = "test submod"
+
+[zh_CN]
+test = "测试子模块"
diff --git a/shakehand-test/src/lib.rs b/shakehand-test/src/lib.rs
index a59d993..7162f75 100644
--- a/shakehand-test/src/lib.rs
+++ b/shakehand-test/src/lib.rs
@@ -1,6 +1,6 @@
#[cfg(test)]
mod test {
- use crate::locale::{Global, Languages, set_lang};
+ use crate::locale::{Global, Languages, set_lang, sub::Sub};
use std::sync::{Mutex, MutexGuard};
/// Global lock to serialize tests that mutate `__SHAKE_HAND_LANG`.
@@ -244,6 +244,20 @@ mod test {
fn test_from_str_unknown() {
let _ = Languages::from("klingon");
}
+
+ #[test]
+ fn test_sub_module_english() {
+ let _lock = lock_lang();
+ set_lang(Languages::en);
+ assert_eq!(Sub::test(), "test submod");
+ }
+
+ #[test]
+ fn test_sub_module_chinese() {
+ let _lock = lock_lang();
+ set_lang(Languages::zh_CN);
+ assert_eq!(Sub::test(), "测试子模块");
+ }
}
mod locale {
diff --git a/shakehand/src/shakehand.rs b/shakehand/src/shakehand.rs
index 8f614cc..83678b4 100644
--- a/shakehand/src/shakehand.rs
+++ b/shakehand/src/shakehand.rs
@@ -726,6 +726,7 @@ pub fn generate_module(
quote! {
pub mod #mod_ident {
+ use super::*;
#(#sub_structs)*
}
}