add unit test for GameVars::normalize_varname()
This commit is contained in:
parent
7ec52b3503
commit
8636b08b5f
21
src/var.rs
21
src/var.rs
|
@ -555,15 +555,7 @@ impl GameVars {
|
||||||
// and if a scope is missing, it prefixes the fallback scope.
|
// and if a scope is missing, it prefixes the fallback scope.
|
||||||
// Should NOT be used on non-variable values, like plain strings.
|
// Should NOT be used on non-variable values, like plain strings.
|
||||||
//
|
//
|
||||||
// Some examples, assuming fallback_scope="Clippy", SCOPE_SEPARATOR="$":
|
// See test_normalize_varname() for examples.
|
||||||
//
|
|
||||||
// "" -> "clippy$"
|
|
||||||
// "foo" -> "clippy$foo"
|
|
||||||
// "FOO" -> "clippy$foo"
|
|
||||||
// "$foo" -> "clippy$foo"
|
|
||||||
// "$$foo" -> "$$foo"
|
|
||||||
// "PizzaClippy$foo" -> "pizzaclippy$foo" (unchanged)
|
|
||||||
// "$foo$foo$foo$foo" -> "$foo$foo$foo$foo" (unchanged)
|
|
||||||
pub fn normalize_varname(fallback_scope: &str, key: &str) -> String {
|
pub fn normalize_varname(fallback_scope: &str, key: &str) -> String {
|
||||||
let parts: Vec<&str> = key.split(SCOPE_SEPARATOR).collect();
|
let parts: Vec<&str> = key.split(SCOPE_SEPARATOR).collect();
|
||||||
let key: String = if parts.len() == 1 {
|
let key: String = if parts.len() == 1 {
|
||||||
|
@ -695,6 +687,17 @@ impl GameVars {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_normalize_varname() {
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", ""), "clippy$");
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", "foo"), "clippy$foo");
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", "FOO"), "clippy$foo");
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", "$foo"), "clippy$foo");
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", "$$foo"), "$$foo");
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", "PizzaClippy$foo"), "pizzaclippy$foo");
|
||||||
|
assert_eq!(GameVars::normalize_varname("Clippy", "$foo$foo$foo$foo"), "$foo$foo$foo$foo");
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Resource, Default)]
|
#[derive(Resource, Default)]
|
||||||
pub struct CommandLineOptions {
|
pub struct CommandLineOptions {
|
||||||
pub window_mode_fullscreen: WindowMode,
|
pub window_mode_fullscreen: WindowMode,
|
||||||
|
|
Loading…
Reference in a new issue