AtRichText.js 957 B

12345678910111213141516171819202122232425262728293031323334
  1. const { I } = inject();
  2. const Helpers = require("../tests/helpers");
  3. module.exports = {
  4. _rootSelector: ".lsf-htx-richtext",
  5. selectTextByGlobalOffset(startOffset, endOffset) {
  6. I.waitTicks(2);
  7. I.executeScript(Helpers.selectText, {
  8. selector: this._rootSelector,
  9. rangeStart: startOffset,
  10. rangeEnd: endOffset,
  11. });
  12. },
  13. setSelection(startLocator, startOffset, endLocator, endOffset) {
  14. I.setSelection(startLocator, startOffset, endLocator, endOffset);
  15. },
  16. dblClickOnWord(word, parent) {
  17. const locator = this.locate(parent);
  18. I.dblClickOnWord(word, locator);
  19. },
  20. dblClickOnElement(locator) {
  21. I.dblClickOnElement(this.locate(locator));
  22. },
  23. locate(locator) {
  24. return locator ? locate(locator).inside(this.locateRoot()) : this.locateRoot();
  25. },
  26. locateRoot() {
  27. return locate(this._rootSelector);
  28. },
  29. locateText(locator) {
  30. return locate(`${this.locate(locator).toXPath()}//text()`);
  31. },
  32. };