aboutsummaryrefslogtreecommitdiff
path: root/tests/password_generation.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/password_generation.rs')
-rw-r--r--tests/password_generation.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/password_generation.rs b/tests/password_generation.rs
index e559ea5..41874fa 100644
--- a/tests/password_generation.rs
+++ b/tests/password_generation.rs
@@ -421,4 +421,23 @@ fn test_suffix_with_insufficient_length_with_post_leet(){
".0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789öä@€Whatever".to_owned(),
"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".to_owned()).unwrap();
assert_eq!(result, "suffi");
+}
+
+/// This test exists primarily to test base conversion manual max power search. If certain features are enabled, some values are hard-coded for shorter charsets.
+#[test]
+fn test_very_large_character_set(){
+ let pwm = Pwm::new(
+ HashAlgorithm::Md5,
+ passwordmaker_rs::UseLeetWhenGenerating::NotAtAll,
+ r#"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!§$%&/()=?`+*~#'öäüÖÄÜ-_.:,;|<>@€[]}{¬½¼³²¹¡⅛£¤⅜⅝⅞™±°¿˛¯˘—÷×″^°ſ¶®ŧŦ←¥↓↑→ıøØþÞæÆſẞðÐđªŋŊħĦĸłŁ¢©„‚“‘”’µº"#,
+ "max_mustermann",
+ "modification",
+ 64,
+ "pre",
+ "suf"
+ ).unwrap();
+ let result = pwm.generate(
+ ".0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789öä@€Whatever".to_owned(),
+ "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".to_owned()).unwrap();
+ assert_eq!(result, r#"preF.º„ĸsj®³5⅜±←|ö←U1Fh~`€ſµ½ẞ5öi6:¯—#öŁ#Oö—ſkª“/[§Ŋ↓½`'Bu:″¯suf"#);
} \ No newline at end of file