package triaina.test.webview;
import org.json.JSONObject;
import android.os.Parcel;
import triaina.test.mock.MockResult;
import triaina.webview.Callback;
import triaina.webview.CallbackHelper;
import triaina.webview.WebViewBridge;
import triaina.webview.entity.Result;
import junit.framework.TestCase;
public class CallbackHelperTest extends TestCase {
@SuppressWarnings("unchecked")
public void testInvokeSucceed() throws Exception {
Callback<?> callback = new Callback<MockResult>() {
@Override
public void succeed(WebViewBridge bridge, MockResult result) {
assertEquals("AAA", result.getAaa());
}
@Override
public void fail(WebViewBridge bridge, String code, String msg) {
}
@Override
public void writeToParcel(Parcel dest, int flags) {
}
@Override
public int describeContents() {
return 0;
}
};
mHelper.invokeSucceed(null, (Callback<Result>)callback, new JSONObject("{\"aaa\":\"AAA\"}"));
}
@SuppressWarnings("unchecked")
public void testInvokeError() throws Exception {
Callback<?> callback = new Callback<MockResult>() {
@Override
public void succeed(WebViewBridge bridge, MockResult result) {
}
@Override
public void fail(WebViewBridge bridge, String code, String msg) {
assertEquals("1", code);
assertEquals("aaa", msg);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
}
@Override
public int describeContents() {
return 0;
}
};
mHelper.invokeFail(null, (Callback<Result>)callback, new JSONObject("{\"code\":\"1\",\"message\":\"aaa\"}"));
}
public void testGetResultClass() throws Exception {
Callback<MockResult> callback = new Callback<MockResult>() {
@Override
public void succeed(WebViewBridge bridge, MockResult result) {
}
@SuppressWarnings("unused")
public void succeed(Object result) {
}
@SuppressWarnings("unused")
public void succeed() {
}
@Override
public void fail(WebViewBridge bridge, String code, String msg) {
}
@Override
public void writeToParcel(Parcel dest, int flags) {
}
@Override
public int describeContents() {
return 0;
}
};
assertEquals(MockResult.class, mHelper.getResultClass(callback));
}
private CallbackHelper mHelper;
@Override
protected void setUp() throws Exception {
super.setUp();
mHelper = new CallbackHelper();
}
}