String scrollerId = "scroller1";
// first scroll
List<?> nodes = page.getByXPath("//*[@id = 'form:scroller1']");
assertEquals(1, nodes.size());
HtmlElement span = (HtmlElement) nodes.get(0);
assertEquals("span", span.getNodeName());
assertEquals("rf-ds", span.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
// first/fastRewind/previous buttons with arrows
HtmlElement first = getFirstButton(page, scrollerId);
assertEquals("span", first.getNodeName());
assertEquals("rf-ds-btn rf-ds-btn-first rf-ds-dis", first.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
HtmlElement fastRewind = getFastRewindButton(page, scrollerId);
assertEquals("span", fastRewind.getNodeName());
assertEquals("rf-ds-btn rf-ds-btn-fastrwd rf-ds-dis", fastRewind.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
HtmlElement previous = getPreviousButton(page, scrollerId);
assertEquals("span", previous.getNodeName());
assertEquals("rf-ds-btn rf-ds-btn-prev rf-ds-dis", previous.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
// currently selected digital button
HtmlElement dc1 = getDigitalButton(page, scrollerId, 1);
assertEquals("span", dc1.getNodeName());
assertEquals("rf-ds-nmb-btn rf-ds-act", dc1.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
// digital buttons
HtmlElement d2 = getDigitalButton(page, scrollerId, 2);
assertEquals("a", d2.getNodeName());
assertEquals("rf-ds-nmb-btn", d2.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", d2.getAttribute(HtmlConstants.HREF_ATTR));
HtmlElement d3 = getDigitalButton(page, scrollerId, 3);
assertEquals("a", d3.getNodeName());
assertEquals("rf-ds-nmb-btn", d3.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", d3.getAttribute(HtmlConstants.HREF_ATTR));
HtmlElement d4 = getDigitalButton(page, scrollerId, 4);
assertEquals("a", d4.getNodeName());
assertEquals("rf-ds-nmb-btn", d4.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", d4.getAttribute(HtmlConstants.HREF_ATTR));
HtmlElement d5 = getDigitalButton(page, scrollerId, 5);
assertEquals("a", d5.getNodeName());
assertEquals("rf-ds-nmb-btn", d5.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", d5.getAttribute(HtmlConstants.HREF_ATTR));
// next/fastForward/last buttons with arrows
HtmlElement next = getNextButton(page, scrollerId);
assertEquals("a", next.getNodeName());
assertEquals("rf-ds-btn rf-ds-btn-next", next.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", next.getAttribute(HtmlConstants.HREF_ATTR));
HtmlElement fastForward = getFastForwardButton(page, scrollerId);
assertEquals("a", fastForward.getNodeName());
assertEquals("rf-ds-btn rf-ds-btn-fastfwd", fastForward.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", fastForward.getAttribute(HtmlConstants.HREF_ATTR));
HtmlElement last = getLastButton(page, scrollerId);
assertEquals("a", last.getNodeName());
assertEquals("rf-ds-btn rf-ds-btn-last", last.getAttribute(HtmlConstants.CLASS_ATTRIBUTE).trim());
assertEquals("javascript:void(0);", last.getAttribute(HtmlConstants.HREF_ATTR));
}