1e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito.internal.exceptions.stacktrace;
2e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
3e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.exceptions.stacktrace.StackTraceCleaner;
4e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
5e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/**
6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson* by Szczepan Faber, created at: 7/29/12
7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson*/
8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class DefaultStackTraceCleaner implements StackTraceCleaner {
9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public boolean isOut(StackTraceElement e) {
10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        boolean fromMockObject = e.getClassName().contains("$$EnhancerByMockitoWithCGLIB$$");
11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        boolean fromOrgMockito = e.getClassName().startsWith("org.mockito.");
12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        boolean isRunner = e.getClassName().startsWith("org.mockito.runners.");
13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        boolean isInternalRunner = e.getClassName().startsWith("org.mockito.internal.runners.");
14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return (fromMockObject || fromOrgMockito) && !isRunner && !isInternalRunner;
15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}
17