package org.fluentlenium.core.filter.matcher; import org.fluentlenium.core.filter.AttributeFilter; import org.junit.Test; import java.util.regex.Pattern; import static org.assertj.core.api.Assertions.assertThat; public class PreFilterAnalyse { @Test public void checkMatcherIsPreFilterElligible() { AbstractMatcher matcher = new EqualMatcher("toto"); assertThat(matcher.isCssFilterSupported()).isTrue(); } @Test public void checkMatcherIsNotPreFilterElligibleCausePattern() { AbstractMatcher matcher = new EqualMatcher(Pattern.compile("toto")); assertThat(matcher.isCssFilterSupported()).isFalse(); } @Test public void checkMatcherIsNotPreFilterElligibleCauseImpossible() { AbstractMatcher matcher = new NotContainsMatcher("toto"); assertThat(matcher.isCssFilterSupported()).isFalse(); } @Test public void checkFilterIsPreFilterElligible() { AttributeFilter filter = new AttributeFilter("id", "1"); assertThat(filter.isCssFilterSupported()).isTrue(); } @Test public void checkFilterIsNotPreFilterElligibleCauseMatcher() { AttributeFilter filter = new AttributeFilter("id", new NotContainsMatcher("toto")); assertThat(filter.isCssFilterSupported()).isFalse(); } @Test public void checkFilterIsNotPreFilterElligibleCauseText() { AttributeFilter filter = new AttributeFilter("text", "1"); assertThat(filter.isCssFilterSupported()).isFalse(); } @Test public void checkFilterIsNotPreFilterElligibleCauseCustomAttributendMatcher() { AttributeFilter filter = new AttributeFilter("ida", new NotContainsMatcher("toto")); assertThat(filter.isCssFilterSupported()).isFalse(); } @Test public void checkFilterIsPreFilterElligibleCauseCustomAttributeMatcher() { AttributeFilter filter = new AttributeFilter("ida", "1"); assertThat(filter.isCssFilterSupported()).isTrue(); } @Test public void checkFilterIsPreFilterElligibleCauseCustomAttribute() { AttributeFilter filter = new AttributeFilter("id", "1"); assertThat(filter.isCssFilterSupported()).isTrue(); } }