test: add test case for incorrect continue (PR #611)

This commit is contained in:
Ahmed Ashour
2019-04-20 19:37:12 +03:00
committed by skylot
parent c134329ce9
commit 87ca14afea
2 changed files with 47 additions and 1 deletions
@@ -16,7 +16,7 @@ public class TestNestedLoops4 extends IntegrationTest {
for (int j = 0; j < 54; j += 4) {
if (i < j) {
for (int k = j; k < j + 4; k++) {
if (tmp> k) {
if (tmp > k) {
return 0;
}
}
@@ -0,0 +1,46 @@
package jadx.tests.integration.loops;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
import jadx.NotYetImplemented;
import jadx.core.dex.nodes.ClassNode;
import jadx.tests.api.IntegrationTest;
public class TestNestedLoops5 extends IntegrationTest {
public static class TestCls {
public int testFor() {
int tmp = 1;
for (int i = 5; i > -1; i--) {
if (i > tmp) {
for (int j = 1; j < 5; j++) {
if (tmp > j * 100) {
return 0;
}
}
}
tmp++;
}
return tmp;
}
public void check() {
assertEquals(7, testFor());
}
}
@Test
@NotYetImplemented
public void test() {
ClassNode cls = getClassNode(TestCls.class);
String code = cls.getCode().toString();
assertThat(code, not(containsString("continue;")));
}
}