@Override protected void processBreakPoint(@NotNull XLineBreakpoint breakpoint, XDebugSession session) { XDebuggerManager.getInstance(session.getProject()).getBreakpointManager().updateBreakpointPresentation( breakpoint, AllIcons.Debugger.Db_invalid_breakpoint, "You can't set a breakpoint here" ); } }
@Override protected void processBreakPoint(@NotNull XLineBreakpoint breakpoint, XDebugSession session) { XDebuggerManager.getInstance(session.getProject()).getBreakpointManager().updateBreakpointPresentation( breakpoint, AllIcons.Debugger.Db_verified_breakpoint, "Breakpoint set" ); } }
void updateBreakpointPresentation(CloudLineBreakpoint cloudLineBreakpoint) { final XBreakpointManager manager = getXBreakpointManager(getXDebugSession().getProject()); manager.updateBreakpointPresentation( getXBreakpoint(cloudLineBreakpoint), cloudLineBreakpoint.getSetIcon(areBreakpointsMuted()), cloudLineBreakpoint.getErrorMessage()); }
@Test public void testUpdateBreakpointRepresentationUsesBreakpointErrorMsgAndIcon() { XBreakpointManager breakpointManager = mock(XBreakpointManager.class); CloudDebugProcess cloudDebugProcess = mockCloudDebugProcess(breakpointManager, mock(XDebugSession.class)); XLineBreakpointImpl xBreakpoint = mock(XLineBreakpointImpl.class); CloudLineBreakpoint breakpoint = mockCloudLineBreakpoint(cloudDebugProcess, "mock error message", xBreakpoint); Icon icon = mock(Icon.class); when(breakpoint.getSetIcon(anyBoolean())).thenReturn(icon); cloudDebugProcess.updateBreakpointPresentation(breakpoint); verify(cloudDebugProcess, times(1)).getXBreakpoint(breakpoint); verify(breakpoint).getSetIcon(anyBoolean()); verify(breakpoint).getErrorMessage(); verify(breakpointManager).updateBreakpointPresentation(xBreakpoint, icon, "mock error message"); }
@Override public void stop() { myDebugThread.setStop(); ApplicationManager.getApplication().runReadAction( () -> { XBreakpointManager breakpointManager = XDebuggerManager.getInstance(getSession().getProject()).getBreakpointManager(); Collection<? extends XLineBreakpoint<PerlLineBreakpointProperties>> breakpoints = breakpointManager.getBreakpoints(PerlLineBreakpointType.class); for (XLineBreakpoint<PerlLineBreakpointProperties> breakpoint : breakpoints) { breakpointManager.updateBreakpointPresentation(breakpoint, null, null); } } ); }
verify(cloudLineBreakpoint).getErrorMessage(); verify(breakpointManager) .updateBreakpointPresentation( eq(xLineBreakpointImpl), any(Icon.class), eq(breakPointErrorMessage));