From 7186a4a2d7ccc5ec53d85503c4e832bd3d81e0ab Mon Sep 17 00:00:00 2001 From: Ahmed Ashour Date: Tue, 9 Apr 2019 17:04:16 +0200 Subject: [PATCH] test: add two cases for switch-try-break combination (PR #575) --- .../conditions/TestSwitchTryBreak.java | 41 +++++++++++++++++++ .../conditions/TestSwitchTryBreak2.java | 41 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak.java create mode 100644 jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak2.java diff --git a/jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak.java b/jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak.java new file mode 100644 index 000000000..7da8b4912 --- /dev/null +++ b/jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak.java @@ -0,0 +1,41 @@ +package jadx.tests.integration.conditions; + +import org.junit.jupiter.api.Test; + +import jadx.NotYetImplemented; +import jadx.tests.api.IntegrationTest; + +public class TestSwitchTryBreak extends IntegrationTest { + + public static class TestCls { + + public void test(int x) { + switch(x) { + case 0: + return; + case 1: + String res; + if ("android".equals(toString())) { + res = "hello"; + } else { + try { + if (String.CASE_INSENSITIVE_ORDER != null) { + break; + } + res = "hi"; + } catch (Exception e) { + break; + } + } + System.out.println(res); + } + System.out.println("returning"); + } + } + + @Test + @NotYetImplemented + public void test() { + getClassNode(TestCls.class); + } +} diff --git a/jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak2.java b/jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak2.java new file mode 100644 index 000000000..5c55396c4 --- /dev/null +++ b/jadx-core/src/test/java/jadx/tests/integration/conditions/TestSwitchTryBreak2.java @@ -0,0 +1,41 @@ +package jadx.tests.integration.conditions; + +import org.junit.jupiter.api.Test; + +import jadx.NotYetImplemented; +import jadx.tests.api.IntegrationTest; + +public class TestSwitchTryBreak2 extends IntegrationTest { + + public static class TestCls { + + public void test(int x) { + switch(x) { + case 0: + return; + case 1: + String res; + if ("android".equals(toString())) { + res = "hello"; + } else { + try { + if (x == 5) { + break; + } + res = "hi"; + } catch (Exception e) { + break; + } + } + System.out.println(res); + } + System.out.println("returning"); + } + } + + @Test + @NotYetImplemented + public void test() { + getClassNode(TestCls.class); + } +}