package com.codeborne.selenide; import org.junit.Test; import org.openqa.selenium.WebElement; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class MatchTextConditionTest { @Test public void displaysHumanReadableName() { assertEquals("match text 'abc'", Condition.matchText("abc").toString()); } @Test public void matchesWholeString() { assertTrue(Condition.matchText("Chuck Norris' gmail account is gmail@chuck.norris") .apply(element("Chuck Norris' gmail account is gmail@chuck.norris"))); assertTrue(Condition.matchText("Chuck Norris.* gmail\\s+account is gmail@chuck.norris") .apply(element("Chuck Norris' gmail account is gmail@chuck.norris"))); } @Test public void matchesSubstring() { assertTrue(Condition.matchText("Chuck").apply(element("Chuck Norris' gmail account is gmail@chuck.norris"))); assertTrue(Condition.matchText("Chuck\\s*Norris").apply(element("Chuck Norris' gmail account is gmail@chuck.norris"))); assertTrue(Condition.matchText("gmail account").apply(element("Chuck Norris' gmail account is gmail@chuck.norris"))); } private WebElement element(String text) { WebElement element = mock(WebElement.class); when(element.getText()).thenReturn(text); return element; } }