package org.richfaces.tests.metamer.ftest.richHotKey; import static org.testng.Assert.assertEquals; import java.util.List; import org.openqa.selenium.support.FindBy; import org.richfaces.fragment.common.picker.ChoicePickerHelper; import org.richfaces.fragment.hotkey.RichFacesHotkey; import org.richfaces.fragment.log.LogEntry; import org.richfaces.fragment.log.RichFacesLog; import org.richfaces.tests.metamer.ftest.AbstractWebDriverTest; import org.richfaces.tests.metamer.ftest.richHotKey.TestHotKeyAttributes.KeysEnum; import org.richfaces.tests.metamer.ftest.webdriver.Attributes; import org.testng.annotations.Test; public class TestHotKeyFragment extends AbstractWebDriverTest { private Attributes<HotKeyAttributes> firstHotkeyAttributes = getAttributes("attributes1"); @FindBy(css = "span[id$=richHotKey1]") private RichFacesHotkey hotkey1; @FindBy(css = "div[id='richfaces.log']") private RichFacesLog log; @Override public String getComponentTestPagePath() { return "richHotKey/simple.xhtml"; } @Test public void testSetupHotKeyFromWidget() { // wrong one hotkey1.setHotkey(KeysEnum.ALT_CONTROL_X.toString()); // this should correct it hotkey1.advanced().setHotkeyFromWidget(); hotkey1.invoke(); List<? extends LogEntry> items = log.getLogEntries().getItems( ChoicePickerHelper.byVisibleText().contains("hotkey 1 : onkeydown")); assertEquals(items.size(), 1, "The number of hotkey events doesn't match. Check whether the hot key sequence was set correctly by setupHotkeyFromWidget()"); } @Test public void testSetupSelectorFromWidget() { firstHotkeyAttributes.set(HotKeyAttributes.selector, ".first-input"); hotkey1.setHotkey(KeysEnum.CTRL_X.toString()); // wrong one hotkey1.setSelector(".second-input"); // this should correct it hotkey1.advanced().setSelectorFromWidget(); hotkey1.invoke(); List<? extends LogEntry> items = log.getLogEntries().getItems( ChoicePickerHelper.byVisibleText().contains("hotkey 1 : onkeydown")); assertEquals(items.size(), 1, "The number of hotkey events doesn't match. Check whether the selector was set correctly by setupSelectorFromWidget()"); } }