@mablhq/mabl-cli 1.47.12 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/api/mablApiClient.js +20 -0
  2. package/browserEngines/chromiumBrowserEngine.js +16 -17
  3. package/browserEngines/firefoxBrowserEngine.js +44 -11
  4. package/browserEngines/unsupportedBrowserEngine.js +3 -4
  5. package/browserLauncher/playwrightBrowserLauncher/chromium/chromiumBrowserDelegate.js +3 -0
  6. package/browserLauncher/playwrightBrowserLauncher/chromium/chromiumElementHandleDelegate.js +5 -2
  7. package/browserLauncher/playwrightBrowserLauncher/firefox/firefoxBrowserDelegate.js +3 -0
  8. package/browserLauncher/playwrightBrowserLauncher/playwrightBrowser.js +3 -0
  9. package/browserLauncher/playwrightBrowserLauncher/playwrightBrowserLauncher.js +2 -2
  10. package/browserLauncher/playwrightBrowserLauncher/playwrightDom.js +1 -1
  11. package/browserLauncher/playwrightBrowserLauncher/playwrightHttpRequest.js +33 -1
  12. package/cli.js +1 -0
  13. package/commands/commandUtil/list.js +41 -1
  14. package/commands/datatables/datatables.js +5 -0
  15. package/commands/datatables/datatables_cmds/describe.js +17 -0
  16. package/commands/datatables/datatables_cmds/export.js +78 -0
  17. package/commands/datatables/datatables_cmds/list.js +18 -0
  18. package/commands/tests/testsUtil.js +23 -39
  19. package/execution/index.js +1 -1
  20. package/mablApi/index.js +1 -1
  21. package/mablscript/importer.js +3 -0
  22. package/mablscriptFind/index.js +1 -1
  23. package/package.json +5 -4
  24. package/proxy/index.js +1 -1
  25. package/resources/mablFind.js +1 -1
  26. package/resources/pdf-viewer/index.js +1 -1
  27. package/resources/pdf-viewer/libmablPdfViewer.js +117 -113
  28. package/resources/pdf-viewer/pdf.worker.0ceac9378bfc3bfcb634.js +81 -0
  29. package/resources/pdf-viewer/pdf.worker.df20a5600902b0735d4b.js +2 -0
  30. package/util/browserTestUtils.js +18 -0
  31. package/util/clickUtil.js +5 -0
  32. package/util/csvUtil.js +8 -0
  33. package/util/jestUtil.js +2 -2
  34. package/api/entities/Plan.js +0 -2
  35. package/resources/pdf-viewer/pdf.worker.5953c23fa7251d236190.js +0 -2
  36. package/resources/pdf-viewer/pdf.worker.5f2736435a8b46d97859.js +0 -81
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.IS_TEST_BROWSER_FIREFOX = exports.IS_TEST_BROWSER_CHROMIUM = exports.TEST_BROWSER_ENGINE = exports.TEST_BROWSER_TYPE = void 0;
5
+ const browserEngines_1 = require("../browserEngines/browserEngines");
6
+ const browserTypes_1 = require("../commands/browserTypes");
7
+ const VALID_TEST_BROWSER_TYPES = ['chrome', 'firefox'];
8
+ const browserTypeEnvironmentVariable = (_a = process.env.TEST_BROWSER_TYPE) === null || _a === void 0 ? void 0 : _a.toLowerCase();
9
+ if (browserTypeEnvironmentVariable &&
10
+ !VALID_TEST_BROWSER_TYPES.includes(browserTypeEnvironmentVariable)) {
11
+ throw Error(`Test browser type cannot be ${browserTypeEnvironmentVariable}, it must be one of ${VALID_TEST_BROWSER_TYPES}`);
12
+ }
13
+ exports.TEST_BROWSER_TYPE = browserTypeEnvironmentVariable === 'firefox'
14
+ ? browserTypes_1.BrowserType.Firefox
15
+ : browserTypes_1.BrowserType.Chrome;
16
+ exports.TEST_BROWSER_ENGINE = browserEngines_1.BrowserTypeToBrowserEngine[exports.TEST_BROWSER_TYPE];
17
+ exports.IS_TEST_BROWSER_CHROMIUM = exports.TEST_BROWSER_ENGINE === browserEngines_1.BrowserTypeToBrowserEngine[browserTypes_1.BrowserType.Chrome];
18
+ exports.IS_TEST_BROWSER_FIREFOX = exports.TEST_BROWSER_ENGINE === browserEngines_1.BrowserTypeToBrowserEngine[browserTypes_1.BrowserType.Firefox];
package/util/clickUtil.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.clickOnElement = exports.ClickType = void 0;
4
4
  const messaging_1 = require("../core/messaging/messaging");
5
+ const ExecutorUtils_1 = require("../execution/actions/ExecutorUtils");
5
6
  const loggingProvider_1 = require("../providers/logging/loggingProvider");
6
7
  const actionabilityUtil_1 = require("./actionabilityUtil");
7
8
  const logUtils_1 = require("./logUtils");
@@ -24,6 +25,10 @@ async function clickOnElement(elementHandle, executionContext, clickType) {
24
25
  ? elementBoundingBox.height > 0 && elementBoundingBox.width > 0
25
26
  : false;
26
27
  if (!noOverlappingElement || !elementHasSurfaceArea) {
28
+ const isAttached = await elementHandle.evaluate((el) => el.isConnected);
29
+ if (!isAttached) {
30
+ throw new Error(ExecutorUtils_1.ELEMENT_NOT_ATTACHED_ERROR);
31
+ }
27
32
  const jsClickReasons = [
28
33
  !noOverlappingElement && "there is a popup we couldn't dismiss",
29
34
  !elementHasSurfaceArea && 'the element is not visible',
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeCellInput = void 0;
4
+ const MALICIOUS_LINE_PREFIX_MATCHER = /^([+\-@=])/;
5
+ function sanitizeCellInput(input) {
6
+ return MALICIOUS_LINE_PREFIX_MATCHER.test(input) ? `\`${input}` : input;
7
+ }
8
+ exports.sanitizeCellInput = sanitizeCellInput;
package/util/jestUtil.js CHANGED
@@ -10,9 +10,9 @@ const describeIf = (name, condition, reason, testSuite) => {
10
10
  describe.skip(name, testSuite);
11
11
  };
12
12
  exports.describeIf = describeIf;
13
- const itIf = (name, condition, reason, fn) => {
13
+ const itIf = (name, condition, reason, fn, timeout) => {
14
14
  if (condition()) {
15
- it(name, fn);
15
+ it(name, fn, timeout);
16
16
  return;
17
17
  }
18
18
  console.warn(`[skipped]: ${name} (reason: ${reason})`);
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });