package jadx.tests.integration.enums; import jadx.core.dex.nodes.ClassNode; import jadx.tests.api.IntegrationTest; import org.junit.Test; import static jadx.tests.api.utils.JadxMatchers.containsOne; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; public class TestEnums4 extends IntegrationTest { public static class TestCls { public enum ResType { CODE(".dex", ".class"), MANIFEST("AndroidManifest.xml"), XML(".xml"), ARSC(".arsc"), FONT(".ttf"), IMG(".png", ".gif", ".jpg"), LIB(".so"), UNKNOWN; private final String[] exts; private ResType(String... exts) { this.exts = exts; } public String[] getExts() { return exts; } } public void check() { assertThat(ResType.CODE.getExts(), is(new String[]{".dex", ".class"})); } } @Test public void test() { ClassNode cls = getClassNode(TestCls.class); String code = cls.getCode().toString(); assertThat(code, containsOne("CODE(\".dex\", \".class\"),")); assertThat(code, containsOne("ResType(String... exts) {")); // assertThat(code, not(containsString("private ResType"))); } }