aconfig: package fields must contain at least one dot char

Introduce a new requirement on package fields: a package must contain at
least one dot character.

Bug: 289336036
Test: atest aconfig.test
Change-Id: Idadcd2a76783a484cc5c6d6e94778c0248fa475f
This commit is contained in:
Mårten Kongstad
2023-06-29 10:38:02 +02:00
parent c0d618c3a4
commit 19776d19e6
2 changed files with 10 additions and 5 deletions

View File

@@ -32,6 +32,9 @@ pub fn is_valid_name_ident(s: &str) -> bool {
}
pub fn is_valid_package_ident(s: &str) -> bool {
if !s.contains('.') {
return false;
}
s.split('.').all(is_valid_name_ident)
}
@@ -61,11 +64,12 @@ mod tests {
#[test]
fn test_is_valid_package_ident() {
assert!(is_valid_package_ident("foo"));
assert!(is_valid_package_ident("foo_bar_123"));
assert!(is_valid_package_ident("foo.bar"));
assert!(is_valid_package_ident("foo.bar_baz"));
assert!(is_valid_package_ident("foo.bar.a123"));
assert!(!is_valid_package_ident("foo_bar_123"));
assert!(!is_valid_package_ident("foo"));
assert!(!is_valid_package_ident("foo._bar"));
assert!(!is_valid_package_ident(""));
assert!(!is_valid_package_ident("123_foo"));
@@ -75,6 +79,7 @@ mod tests {
assert!(!is_valid_package_ident(".foo.bar"));
assert!(!is_valid_package_ident("foo.bar."));
assert!(!is_valid_package_ident("."));
assert!(!is_valid_package_ident(".."));
assert!(!is_valid_package_ident("foo..bar"));
assert!(!is_valid_package_ident("foo.__bar"));
}