package com.mopub.mobileads.test.support; import android.content.Context; import android.webkit.WebSettings; import com.mopub.common.AdReport; import com.mopub.mobileads.HtmlBannerWebView; import com.mopub.mobileads.factories.HtmlBannerWebViewFactory; import static com.mopub.mobileads.CustomEventBanner.CustomEventBannerListener; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.stub; public class TestHtmlBannerWebViewFactory extends HtmlBannerWebViewFactory { private HtmlBannerWebView mockHtmlBannerWebView = mock(HtmlBannerWebView.class); private CustomEventBannerListener latestListener; private boolean latestIsScrollable; private String latestRedirectUrl; private String latestClickthroughUrl; private AdReport latestAdReport; public TestHtmlBannerWebViewFactory() { WebSettings webSettings = mock(WebSettings.class); stub(mockHtmlBannerWebView.getSettings()).toReturn(webSettings); stub(webSettings.getUserAgentString()).toReturn("Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"); } public static HtmlBannerWebView getSingletonMock() { return getTestFactory().mockHtmlBannerWebView; } private static TestHtmlBannerWebViewFactory getTestFactory() { return (TestHtmlBannerWebViewFactory) instance; } @Override public HtmlBannerWebView internalCreate( Context context, AdReport adReport, CustomEventBannerListener customEventBannerListener, boolean isScrollable, String redirectUrl, String clickthroughUrl) { latestListener = customEventBannerListener; latestIsScrollable = isScrollable; latestRedirectUrl = redirectUrl; latestClickthroughUrl = clickthroughUrl; latestAdReport = adReport; return mockHtmlBannerWebView; } public static CustomEventBannerListener getLatestListener() { return getTestFactory().latestListener; } public static boolean getLatestIsScrollable() { return getTestFactory().latestIsScrollable; } public static String getLatestRedirectUrl() { return getTestFactory().latestRedirectUrl; } public static String getLatestClickthroughUrl() { return getTestFactory().latestClickthroughUrl; } public static AdReport getLatestAdReport() { return getTestFactory().latestAdReport; } }