/tests/src/test/java/org/sigmah/endtoend/xpath/ext/GxtXPath.java

http://sigma-h.googlecode.com/ · Java · 64 lines · 43 code · 17 blank · 4 comment · 0 complexity · 6dc8d1d3b7c496a8072926e31fff9ad1 MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.endtoend.xpath.ext;
  6. import org.sigmah.endtoend.xpath.Conjunction;
  7. import org.sigmah.endtoend.xpath.Predicate;
  8. import org.sigmah.endtoend.xpath.Step;
  9. import static org.sigmah.endtoend.xpath.XPath.*;
  10. import static org.sigmah.endtoend.xpath.ext.HtmlXPath.ofClass;
  11. public class GxtXPath {
  12. public static PanelPredicateBuilder isAPanel() {
  13. return new PanelPredicateBuilder();
  14. }
  15. public static Predicate isAGrid() {
  16. return ofClass("x-grid3");
  17. }
  18. public static Predicate isComboBox() {
  19. return new Conjunction(
  20. ofClass("x-form-field-wrap"),
  21. having(descendant(isFormTrigger())));
  22. }
  23. public static Predicate isFormTrigger() {
  24. return ofClass("x-form-trigger");
  25. }
  26. public static Predicate isToolbar() {
  27. return ofClass("x-toolbar");
  28. }
  29. public static Step gridRow(int index) {
  30. return descendant(isGridRow(), position(index));
  31. }
  32. private static Predicate isGridRow() {
  33. return ofClass("x-grid3-row");
  34. }
  35. public static Step gridCell(int index) {
  36. return descendant(ofClass("x-grid3-cell"), position(index));
  37. }
  38. public static class PanelPredicateBuilder extends Conjunction {
  39. public PanelPredicateBuilder() {
  40. add(ofClass("x-panel"));
  41. }
  42. public PanelPredicateBuilder withHeaderText(String heading) {
  43. add(having(descendant(ofClass("x-panel-header-text"), havingTextEqualTo(heading))));
  44. return this;
  45. }
  46. }
  47. }