@Test public void runCommand_close_shouldCallListener() throws MraidCommandException { Map<String, String> params = new HashMap<String, String>(); subjectBanner.runCommand(MraidJavascriptCommand.CLOSE, params); verify(mockBridgeListener).onClose(); }
public void runCommand_requiresClick_clicked_shouldNotThrowException() throws MraidCommandException { subjectBanner.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("uri", "http://valid-url"); subjectBanner.runCommand(MraidJavascriptCommand.PLAY_VIDEO, params); }
@Test public void runCommand_interstitial_requiresClick_clicked_shouldNotThrowException() throws MraidCommandException { subjectInterstitial.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("url", "http://valid-url"); subjectInterstitial.runCommand(MraidJavascriptCommand.OPEN, params); }
@Test(expected = MraidCommandException.class) public void runCommand_interstitial_requiresClick_notClicked_shouldThrowException() throws MraidCommandException { subjectInterstitial.setClicked(false); Map<String, String> params = new HashMap<String, String>(); params.put("uri", "http://valid-url"); subjectInterstitial.runCommand(MraidJavascriptCommand.OPEN, params); }
@Test public void runCommand_expand_shouldCallListener() throws MraidCommandException { subjectBanner.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("shouldUseCustomClose", "true"); subjectBanner.runCommand(MraidJavascriptCommand.EXPAND, params); verify(mockBridgeListener).onExpand(null, true); }
@Test public void runCommand_createCalendarEvent_shouldCallListener() throws MraidCommandException { subjectBanner.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("eventName", "Dinner at my house"); subjectBanner.runCommand(MraidJavascriptCommand.CREATE_CALENDAR_EVENT, params); verify(mockNativeCommandHandler) .createCalendarEvent(any(Context.class), anyMapOf(String.class, String.class)); }
@Test(expected = MraidCommandException.class) public void runCommand_requiresClick_notClicked_shouldThrowException() throws MraidCommandException { subjectBanner = new MraidBridge(mockAdReport, PlacementType.INLINE); subjectBanner.attachView(mockBannerWebView); subjectBanner.setClicked(false); Map<String, String> params = new HashMap<String, String>(); params.put("uri", "http://valid-url"); subjectBanner.runCommand(MraidJavascriptCommand.PLAY_VIDEO, params); }
@Test public void runCommand_storePicture_shouldCallListener() throws MraidCommandException { subjectBanner.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("uri", "http://valid-url"); subjectBanner.runCommand(MraidJavascriptCommand.STORE_PICTURE, params); verify(mockNativeCommandHandler) .storePicture( any(Context.class), eq("http://valid-url"), any(MraidCommandFailureListener.class)); }
@Test public void runCommand_playVideo_shouldCallListener() throws MraidCommandException { subjectBanner.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("uri", "http://valid-url"); subjectBanner.runCommand(MraidJavascriptCommand.PLAY_VIDEO, params); ArgumentCaptor<URI> uriCaptor = ArgumentCaptor.forClass(URI.class); verify(mockBridgeListener).onPlayVideo(uriCaptor.capture()); assertThat(uriCaptor.getValue().toString()).isEqualTo("http://valid-url"); }
@Test public void runCommand_expand_withUrl_shouldCallListener() throws MraidCommandException { subjectBanner.setClicked(true); Map<String, String> params = new HashMap<String, String>(); params.put("url", "http://valid-url"); params.put("shouldUseCustomClose", "true"); subjectBanner.runCommand(MraidJavascriptCommand.EXPAND, params); ArgumentCaptor<URI> uriCaptor = ArgumentCaptor.forClass(URI.class); verify(mockBridgeListener).onExpand(uriCaptor.capture(), eq(true)); assertThat(uriCaptor.getValue().toString()).isEqualTo("http://valid-url"); }