All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.thucydides.core.screenshots.ScreenshotBlurCheck Maven / Gradle / Ivy

package net.thucydides.core.screenshots;

import com.google.common.base.Optional;
import net.thucydides.core.annotations.BlurScreenshots;
import net.thucydides.core.reflection.StackTraceAnalyser;

import java.lang.reflect.Method;

public class ScreenshotBlurCheck {


    public Optional blurLevel() {
        return fromAnnotation();
    }

    private Optional fromAnnotation() {
        StackTraceElement[] stackTrace = new Throwable().getStackTrace();
        for (StackTraceElement stackTraceElement : stackTrace) {
            Method callingMethod = StackTraceAnalyser.forStackTraceElement(stackTraceElement).getMethod();
            if (callingMethod != null && callingMethod.getAnnotation(BlurScreenshots.class) != null) {
                return Optional.of(BlurLevel.valueOf(callingMethod.getAnnotation(BlurScreenshots.class).value().toUpperCase()));
            }
        }
        return Optional.absent();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy