package cucumber.runtime.android;
import android.os.Debug;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.when;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import static org.powermock.api.mockito.PowerMockito.verifyStatic;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Debug.class)
public class DebuggerWaiterTest {
@Test
public void waits_for_debugger_when_flag_is_set() {
// given
final Arguments arguments = mock(Arguments.class);
when(arguments.isDebugEnabled()).thenReturn(true);
mockStatic(Debug.class);
final DebuggerWaiter waiter = new DebuggerWaiter(arguments);
// when
waiter.requestWaitForDebugger();
// then
verifyStatic();
Debug.waitForDebugger();
}
@Test
public void does_not_wait_for_debugger_when_flag_is_not_set() {
// given
final Arguments arguments = mock(Arguments.class);
when(arguments.isDebugEnabled()).thenReturn(false);
mockStatic(Debug.class);
final DebuggerWaiter waiter = new DebuggerWaiter(arguments);
// when
waiter.requestWaitForDebugger();
// then
verifyStatic(never());
Debug.waitForDebugger();
}
}