/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.exceptions.stacktrace;
import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.mockito.exceptions.base.TraceBuilder;
import org.mockito.internal.configuration.ConfigurationAccess;
import org.mockitoutil.TestBase;
import static org.mockitoutil.Conditions.onlyThoseClassesInStackTrace;
public class ConditionalStackTraceFilterTest extends TestBase {
private ConditionalStackTraceFilter filter = new ConditionalStackTraceFilter();
@Test
public void shouldNotFilterWhenConfigurationSaysNo() {
ConfigurationAccess.getConfig().overrideCleansStackTrace(false);
Throwable t = new TraceBuilder().classes(
"org.test.MockitoSampleTest",
"org.mockito.Mockito"
).toThrowable();
filter.filter(t);
Assertions.assertThat(t).has(onlyThoseClassesInStackTrace("org.mockito.Mockito", "org.test.MockitoSampleTest"));
}
@Test
public void shouldFilterWhenConfigurationSaysYes() {
ConfigurationAccess.getConfig().overrideCleansStackTrace(true);
Throwable t = new TraceBuilder().classes(
"org.test.MockitoSampleTest",
"org.mockito.Mockito"
).toThrowable();
filter.filter(t);
Assertions.assertThat(t).has(onlyThoseClassesInStackTrace("org.test.MockitoSampleTest"));
}
}