aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2023-06-16 21:49:22 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-06-16 21:49:22 +0000
commit59d662524cda7a32b1943ee513e6d7300c3086af (patch)
treeccfaede8e3252fcb9ca4426d907f3d0791ad1b90
parente4635b3e04b8f2b8248adc4efb16e4cd99259391 (diff)
parentaf81e20653acdead85ba407bd1dbf7df6c984e73 (diff)
downloadbuild-59d662524cda7a32b1943ee513e6d7300c3086af.tar.gz
Merge "aconfig: change java flag method name to camelCase"
-rw-r--r--tools/aconfig/src/codegen_java.rs58
-rw-r--r--tools/aconfig/tests/AconfigTest.java20
2 files changed, 51 insertions, 27 deletions
diff --git a/tools/aconfig/src/codegen_java.rs b/tools/aconfig/src/codegen_java.rs
index 54fa0dce33..4f82220809 100644
--- a/tools/aconfig/src/codegen_java.rs
+++ b/tools/aconfig/src/codegen_java.rs
@@ -86,10 +86,26 @@ fn create_class_element(package: &str, item: &Item) -> ClassElement {
device_config_flag,
flag_name_constant_suffix: item.name.to_ascii_uppercase(),
is_read_write: item.permission == Permission::ReadWrite,
- method_name: item.name.clone(),
+ method_name: format_java_method_name(&item.name),
}
}
+fn format_java_method_name(flag_name: &str) -> String {
+ flag_name
+ .split('_')
+ .filter(|&word| !word.is_empty())
+ .enumerate()
+ .map(|(index, word)| {
+ if index == 0 {
+ word.to_ascii_lowercase()
+ } else {
+ word[0..1].to_ascii_uppercase() + &word[1..].to_ascii_lowercase()
+ }
+ })
+ .collect::<Vec<String>>()
+ .join("")
+}
+
#[cfg(test)]
mod tests {
use super::*;
@@ -102,17 +118,17 @@ mod tests {
let expect_flags_content = r#"
package com.android.aconfig.test;
public final class Flags {
- public static boolean disabled_ro() {
- return FEATURE_FLAGS.disabled_ro();
+ public static boolean disabledRo() {
+ return FEATURE_FLAGS.disabledRo();
}
- public static boolean disabled_rw() {
- return FEATURE_FLAGS.disabled_rw();
+ public static boolean disabledRw() {
+ return FEATURE_FLAGS.disabledRw();
}
- public static boolean enabled_ro() {
- return FEATURE_FLAGS.enabled_ro();
+ public static boolean enabledRo() {
+ return FEATURE_FLAGS.enabledRo();
}
- public static boolean enabled_rw() {
- return FEATURE_FLAGS.enabled_rw();
+ public static boolean enabledRw() {
+ return FEATURE_FLAGS.enabledRw();
}
private static FeatureFlags FEATURE_FLAGS = new FeatureFlagsImpl();
@@ -123,11 +139,11 @@ mod tests {
import android.provider.DeviceConfig;
public final class FeatureFlagsImpl implements FeatureFlags {
@Override
- public boolean disabled_ro() {
+ public boolean disabledRo() {
return false;
}
@Override
- public boolean disabled_rw() {
+ public boolean disabledRw() {
return DeviceConfig.getBoolean(
"aconfig_test",
"com.android.aconfig.test.disabled_rw",
@@ -135,11 +151,11 @@ mod tests {
);
}
@Override
- public boolean enabled_ro() {
+ public boolean enabledRo() {
return true;
}
@Override
- public boolean enabled_rw() {
+ public boolean enabledRw() {
return DeviceConfig.getBoolean(
"aconfig_test",
"com.android.aconfig.test.enabled_rw",
@@ -151,10 +167,10 @@ mod tests {
let expected_featureflags_content = r#"
package com.android.aconfig.test;
public interface FeatureFlags {
- boolean disabled_ro();
- boolean disabled_rw();
- boolean enabled_ro();
- boolean enabled_rw();
+ boolean disabledRo();
+ boolean disabledRw();
+ boolean enabledRo();
+ boolean enabledRw();
}
"#;
let mut file_set = HashMap::from([
@@ -180,4 +196,12 @@ mod tests {
assert!(file_set.is_empty());
}
+
+ #[test]
+ fn test_format_java_method_name() {
+ let input = "____some_snake___name____";
+ let expected = "someSnakeName";
+ let formatted_name = format_java_method_name(input);
+ assert_eq!(expected, formatted_name);
+ }
}
diff --git a/tools/aconfig/tests/AconfigTest.java b/tools/aconfig/tests/AconfigTest.java
index 5db490b61c..778a4c6860 100644
--- a/tools/aconfig/tests/AconfigTest.java
+++ b/tools/aconfig/tests/AconfigTest.java
@@ -1,7 +1,7 @@
-import static com.android.aconfig.test.Flags.disabled_ro;
-import static com.android.aconfig.test.Flags.disabled_rw;
-import static com.android.aconfig.test.Flags.enabled_ro;
-import static com.android.aconfig.test.Flags.enabled_rw;
+import static com.android.aconfig.test.Flags.disabledRo;
+import static com.android.aconfig.test.Flags.disabledRw;
+import static com.android.aconfig.test.Flags.enabledRo;
+import static com.android.aconfig.test.Flags.enabledRw;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -13,25 +13,25 @@ import org.junit.runners.JUnit4;
public final class AconfigTest {
@Test
public void testDisabledReadOnlyFlag() {
- assertFalse(disabled_ro());
+ assertFalse(disabledRo());
}
@Test
public void testEnabledReadOnlyFlag() {
- // TODO: change to assertTrue(enabled_ro()) when the build supports reading tests/*.values
+ // TODO: change to assertTrue(enabledRo()) when the build supports reading tests/*.values
// (currently all flags are assigned the default READ_ONLY + DISABLED)
- assertFalse(enabled_ro());
+ assertFalse(enabledRo());
}
@Test
public void testDisabledReadWriteFlag() {
- assertFalse(disabled_rw());
+ assertFalse(disabledRw());
}
@Test
public void testEnabledReadWriteFlag() {
- // TODO: change to assertTrue(enabled_rw()) when the build supports reading tests/*.values
+ // TODO: change to assertTrue(enabledRw()) when the build supports reading tests/*.values
// (currently all flags are assigned the default READ_ONLY + DISABLED)
- assertFalse(enabled_rw());
+ assertFalse(enabledRw());
}
}