package jp.mixi.compatibility.webkit; import android.content.Context; import android.test.AndroidTestCase; import android.webkit.WebView; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import jp.mixi.compatibility.android.webkit.WebViewCompat; /** * Created by Hideyuki.Kikuma on 2014/10/08. */ public class WebViewCompatTest extends AndroidTestCase { private static final String DATA = "日本語"; private static final String MIME_TYPE = "text/plain"; public void testLoadData() throws Exception { String[] encodings = new String[]{ "shift_JIS", "shiftJIS", "utf-8", "utf8", "big5", "iso-10646-ucs-2", "utf-16", }; for (String encoding : encodings) { DummyWebView webView = new DummyWebView(getContext()); WebViewCompat.loadData(webView, DATA, MIME_TYPE, encoding); assertEquals(encoding, DATA, webView.mDecodeData); assertEquals(MIME_TYPE, webView.mMimeType); assertEquals(encoding, webView.mEncoding); } } private class DummyWebView extends WebView { private String mDecodeData; private String mMimeType; private String mEncoding; public DummyWebView(Context context) { super(context); } @Override public void loadData(String data, String mimeType, String encoding) { try { mDecodeData = URLDecoder.decode(data, encoding); } catch (UnsupportedEncodingException e) { fail(); } mMimeType = mimeType; mEncoding = encoding; } } }