package jadx.tests.integration.inline;
import jadx.core.dex.nodes.ClassNode;
import jadx.tests.api.IntegrationTest;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import static jadx.tests.api.utils.JadxMatchers.containsOne;
import static org.junit.Assert.assertThat;
public class TestIssue86 extends IntegrationTest {
public static class TestCls {
private static final String SERVER_ERR = "server-err";
private static final String NOT_FOUND = "not-found";
private static final String LIST_TAG = "list-tag";
private static final String TEMP_TAG = "temp-tag";
private static final String MIN_TAG = "min-tag";
private static final String MAX_TAG = "max-tag";
private static final String MILLIS_TAG = "millis-tag";
private static final String WEATHER_TAG = "weather-tag";
private static final String DESC_TAG = "desc-tag";
private List<Day> test(String response) {
List<Day> reportList = new ArrayList<Day>();
try {
System.out.println(response);
if (response != null
&& (response.startsWith(SERVER_ERR)
|| response.startsWith(NOT_FOUND))) {
return reportList;
}
JSONObject jsonObj = new JSONObject(response);
JSONArray days = jsonObj.getJSONArray(LIST_TAG);
for (int i = 0; i < days.length(); i++) {
JSONObject c = days.getJSONObject(i);
long millis = c.getLong(MILLIS_TAG);
JSONObject temp = c.getJSONObject(TEMP_TAG);
String max = temp.getString(MAX_TAG);
String min = temp.getString(MIN_TAG);
JSONArray weather = c.getJSONArray(WEATHER_TAG);
String weatherDesc = weather.getJSONObject(0).getString(DESC_TAG);
Day d = new Day();
d.setMilis(millis);
d.setMinTmp(min);
d.setMaxTmp(max);
d.setWeatherDesc(weatherDesc);
reportList.add(d);
}
} catch (JSONException e) {
e.printStackTrace();
}
return reportList;
}
private static class Day {
public void setMilis(long milis) {
}
public void setMinTmp(String min) {
}
public void setMaxTmp(String max) {
}
public void setWeatherDesc(String weatherDesc) {
}
}
private static class JSONObject {
public JSONObject(String response) {
}
public JSONArray getJSONArray(String tag) throws JSONException {
return null;
}
public JSONObject getJSONObject(String tag) throws JSONException {
return null;
}
public String getString(String tag) throws JSONException {
return null;
}
public long getLong(String tag) throws JSONException {
return 0;
}
}
private class JSONArray {
public JSONObject getJSONObject(int i) throws JSONException {
return null;
}
public int length() {
return 0;
}
}
private class JSONException extends Exception {
private static final long serialVersionUID = -4358405506584551910L;
}
}
@Test
public void test() {
ClassNode cls = getClassNode(TestCls.class);
String code = cls.getCode().toString();
assertThat(code, containsOne("response.startsWith(NOT_FOUND)"));
}
}