Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a114c493 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "aconfig: reject consecutive underscores in identifiers" am: c01b9a28...

Merge "aconfig: reject consecutive underscores in identifiers" am: c01b9a28 am: e6d79549 am: 71b0098f

Original change: https://android-review.googlesource.com/c/platform/build/+/2624469



Change-Id: Iaed8a96cf23e18133ec091accb75eb7026c938af
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 3d024c61 71b0098f
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -17,7 +17,10 @@
use anyhow::{ensure, Result};

pub fn is_valid_name_ident(s: &str) -> bool {
    // Identifiers must match [a-z][a-z0-9_]*
    // Identifiers must match [a-z][a-z0-9_]*, except consecutive underscores are not allowed
    if s.contains("__") {
        return false;
    }
    let mut chars = s.chars();
    let Some(first) = chars.next() else {
        return false;
@@ -46,11 +49,14 @@ mod tests {
    fn test_is_valid_name_ident() {
        assert!(is_valid_name_ident("foo"));
        assert!(is_valid_name_ident("foo_bar_123"));
        assert!(is_valid_name_ident("foo_"));

        assert!(!is_valid_name_ident(""));
        assert!(!is_valid_name_ident("123_foo"));
        assert!(!is_valid_name_ident("foo-bar"));
        assert!(!is_valid_name_ident("foo-b\u{00e5}r"));
        assert!(!is_valid_name_ident("foo__bar"));
        assert!(!is_valid_name_ident("_foo"));
    }

    #[test]
@@ -59,6 +65,7 @@ mod tests {
        assert!(is_valid_package_ident("foo_bar_123"));
        assert!(is_valid_package_ident("foo.bar"));
        assert!(is_valid_package_ident("foo.bar.a123"));
        assert!(!is_valid_package_ident("foo._bar"));

        assert!(!is_valid_package_ident(""));
        assert!(!is_valid_package_ident("123_foo"));
@@ -69,6 +76,7 @@ mod tests {
        assert!(!is_valid_package_ident("foo.bar."));
        assert!(!is_valid_package_ident("."));
        assert!(!is_valid_package_ident("foo..bar"));
        assert!(!is_valid_package_ident("foo.__bar"));
    }

    #[test]