diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2023-06-16 21:49:22 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-06-16 21:49:22 +0000 |
commit | 59d662524cda7a32b1943ee513e6d7300c3086af (patch) | |
tree | ccfaede8e3252fcb9ca4426d907f3d0791ad1b90 | |
parent | e4635b3e04b8f2b8248adc4efb16e4cd99259391 (diff) | |
parent | af81e20653acdead85ba407bd1dbf7df6c984e73 (diff) | |
download | build-59d662524cda7a32b1943ee513e6d7300c3086af.tar.gz |
Merge "aconfig: change java flag method name to camelCase"
-rw-r--r-- | tools/aconfig/src/codegen_java.rs | 58 | ||||
-rw-r--r-- | tools/aconfig/tests/AconfigTest.java | 20 |
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()); } } |