@sap_oss/wdio-qmate-service 1.0.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.
- package/.eslintignore +3 -0
- package/.eslintrc.yml +33 -0
- package/.reuse/dep5 +29 -0
- package/LICENSE +201 -0
- package/LICENSES/Apache-2.0.txt +73 -0
- package/README.md +20 -0
- package/docs/contact.md +10 -0
- package/docs/doc.md +5188 -0
- package/docs/gettingStarted/selectors.md +168 -0
- package/docs/gettingStarted/setup.md +8 -0
- package/docs/index.md +14 -0
- package/docs/style/custom.css +24 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +171 -0
- package/lib/index.js.map +1 -0
- package/lib/reuse/authenticator/authConfig.d.ts +54 -0
- package/lib/reuse/authenticator/authConfig.js +55 -0
- package/lib/reuse/authenticator/authConfig.js.map +1 -0
- package/lib/reuse/authenticator/authHandler.d.ts +6 -0
- package/lib/reuse/authenticator/authHandler.js +37 -0
- package/lib/reuse/authenticator/authHandler.js.map +1 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.js +36 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/customAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/customAuthenticator.js +60 -0
- package/lib/reuse/authenticator/customAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/formAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/formAuthenticator.js +57 -0
- package/lib/reuse/authenticator/formAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/plainAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/plainAuthenticator.js +20 -0
- package/lib/reuse/authenticator/plainAuthenticator.js.map +1 -0
- package/lib/reuse/data/authenticators.json +16 -0
- package/lib/reuse/helper/clientsideUI5scripts.d.ts +1 -0
- package/lib/reuse/helper/clientsideUI5scripts.js +388 -0
- package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -0
- package/lib/reuse/helper/jsDocGen.d.ts +1 -0
- package/lib/reuse/helper/jsDocGen.js +45 -0
- package/lib/reuse/helper/jsDocGen.js.map +1 -0
- package/lib/reuse/index.d.ts +5 -0
- package/lib/reuse/index.js +89 -0
- package/lib/reuse/index.js.map +1 -0
- package/lib/reuse/modules/common/Common.d.ts +12 -0
- package/lib/reuse/modules/common/Common.js +21 -0
- package/lib/reuse/modules/common/Common.js.map +1 -0
- package/lib/reuse/modules/common/assertion.d.ts +65 -0
- package/lib/reuse/modules/common/assertion.js +91 -0
- package/lib/reuse/modules/common/assertion.js.map +1 -0
- package/lib/reuse/modules/common/constants/date.constants.d.ts +8 -0
- package/lib/reuse/modules/common/constants/date.constants.js +13 -0
- package/lib/reuse/modules/common/constants/date.constants.js.map +1 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.d.ts +9 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.js +14 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.js.map +1 -0
- package/lib/reuse/modules/common/date.d.ts +84 -0
- package/lib/reuse/modules/common/date.js +164 -0
- package/lib/reuse/modules/common/date.js.map +1 -0
- package/lib/reuse/modules/common/navigation.d.ts +26 -0
- package/lib/reuse/modules/common/navigation.js +56 -0
- package/lib/reuse/modules/common/navigation.js.map +1 -0
- package/lib/reuse/modules/common/types/date.types.d.ts +2 -0
- package/lib/reuse/modules/common/types/date.types.js +3 -0
- package/lib/reuse/modules/common/types/date.types.js.map +1 -0
- package/lib/reuse/modules/common/userInteraction.d.ts +104 -0
- package/lib/reuse/modules/common/userInteraction.js +199 -0
- package/lib/reuse/modules/common/userInteraction.js.map +1 -0
- package/lib/reuse/modules/nonUi5/NonUi5.d.ts +12 -0
- package/lib/reuse/modules/nonUi5/NonUi5.js +21 -0
- package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -0
- package/lib/reuse/modules/nonUi5/assertion.d.ts +62 -0
- package/lib/reuse/modules/nonUi5/assertion.js +127 -0
- package/lib/reuse/modules/nonUi5/assertion.js.map +1 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.d.ts +6 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js +11 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js.map +1 -0
- package/lib/reuse/modules/nonUi5/element.d.ts +286 -0
- package/lib/reuse/modules/nonUi5/element.js +639 -0
- package/lib/reuse/modules/nonUi5/element.js.map +1 -0
- package/lib/reuse/modules/nonUi5/navigation.d.ts +17 -0
- package/lib/reuse/modules/nonUi5/navigation.js +44 -0
- package/lib/reuse/modules/nonUi5/navigation.js.map +1 -0
- package/lib/reuse/modules/nonUi5/userInteraction.d.ts +170 -0
- package/lib/reuse/modules/nonUi5/userInteraction.js +415 -0
- package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -0
- package/lib/reuse/modules/service/Service.d.ts +8 -0
- package/lib/reuse/modules/service/Service.js +17 -0
- package/lib/reuse/modules/service/Service.js.map +1 -0
- package/lib/reuse/modules/service/odata.d.ts +177 -0
- package/lib/reuse/modules/service/odata.js +347 -0
- package/lib/reuse/modules/service/odata.js.map +1 -0
- package/lib/reuse/modules/service/rest.d.ts +66 -0
- package/lib/reuse/modules/service/rest.js +168 -0
- package/lib/reuse/modules/service/rest.js.map +1 -0
- package/lib/reuse/modules/service/soap.d.ts +0 -0
- package/lib/reuse/modules/service/soap.js +2 -0
- package/lib/reuse/modules/service/soap.js.map +1 -0
- package/lib/reuse/modules/ui5/Ui5.d.ts +34 -0
- package/lib/reuse/modules/ui5/Ui5.js +41 -0
- package/lib/reuse/modules/ui5/Ui5.js.map +1 -0
- package/lib/reuse/modules/ui5/assertion.d.ts +183 -0
- package/lib/reuse/modules/ui5/assertion.js +493 -0
- package/lib/reuse/modules/ui5/assertion.js.map +1 -0
- package/lib/reuse/modules/ui5/confirmationDialog.d.ts +86 -0
- package/lib/reuse/modules/ui5/confirmationDialog.js +145 -0
- package/lib/reuse/modules/ui5/confirmationDialog.js.map +1 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.d.ts +4 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.js +9 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.js.map +1 -0
- package/lib/reuse/modules/ui5/control.d.ts +84 -0
- package/lib/reuse/modules/ui5/control.js +132 -0
- package/lib/reuse/modules/ui5/control.js.map +1 -0
- package/lib/reuse/modules/ui5/date.d.ts +48 -0
- package/lib/reuse/modules/ui5/date.js +153 -0
- package/lib/reuse/modules/ui5/date.js.map +1 -0
- package/lib/reuse/modules/ui5/element.d.ts +160 -0
- package/lib/reuse/modules/ui5/element.js +349 -0
- package/lib/reuse/modules/ui5/element.js.map +1 -0
- package/lib/reuse/modules/ui5/errorDialog.d.ts +39 -0
- package/lib/reuse/modules/ui5/errorDialog.js +65 -0
- package/lib/reuse/modules/ui5/errorDialog.js.map +1 -0
- package/lib/reuse/modules/ui5/footerBar.d.ts +153 -0
- package/lib/reuse/modules/ui5/footerBar.js +240 -0
- package/lib/reuse/modules/ui5/footerBar.js.map +1 -0
- package/lib/reuse/modules/ui5/mockserver.d.ts +154 -0
- package/lib/reuse/modules/ui5/mockserver.js +665 -0
- package/lib/reuse/modules/ui5/mockserver.js.map +1 -0
- package/lib/reuse/modules/ui5/navigation.d.ts +103 -0
- package/lib/reuse/modules/ui5/navigation.js +275 -0
- package/lib/reuse/modules/ui5/navigation.js.map +1 -0
- package/lib/reuse/modules/ui5/navigationBar.d.ts +48 -0
- package/lib/reuse/modules/ui5/navigationBar.js +141 -0
- package/lib/reuse/modules/ui5/navigationBar.js.map +1 -0
- package/lib/reuse/modules/ui5/qunit.d.ts +17 -0
- package/lib/reuse/modules/ui5/qunit.js +52 -0
- package/lib/reuse/modules/ui5/qunit.js.map +1 -0
- package/lib/reuse/modules/ui5/session.d.ts +117 -0
- package/lib/reuse/modules/ui5/session.js +374 -0
- package/lib/reuse/modules/ui5/session.js.map +1 -0
- package/lib/reuse/modules/ui5/table.d.ts +61 -0
- package/lib/reuse/modules/ui5/table.js +188 -0
- package/lib/reuse/modules/ui5/table.js.map +1 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.d.ts +2 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.js +3 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.js.map +1 -0
- package/lib/reuse/modules/ui5/userInteraction.d.ts +304 -0
- package/lib/reuse/modules/ui5/userInteraction.js +690 -0
- package/lib/reuse/modules/ui5/userInteraction.js.map +1 -0
- package/lib/reuse/modules/util/Util.d.ts +22 -0
- package/lib/reuse/modules/util/Util.js +27 -0
- package/lib/reuse/modules/util/Util.js.map +1 -0
- package/lib/reuse/modules/util/browser.d.ts +167 -0
- package/lib/reuse/modules/util/browser.js +367 -0
- package/lib/reuse/modules/util/browser.js.map +1 -0
- package/lib/reuse/modules/util/console.d.ts +56 -0
- package/lib/reuse/modules/util/console.js +152 -0
- package/lib/reuse/modules/util/console.js.map +1 -0
- package/lib/reuse/modules/util/constants/formatter.constants.d.ts +11 -0
- package/lib/reuse/modules/util/constants/formatter.constants.js +16 -0
- package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -0
- package/lib/reuse/modules/util/data.d.ts +36 -0
- package/lib/reuse/modules/util/data.js +87 -0
- package/lib/reuse/modules/util/data.js.map +1 -0
- package/lib/reuse/modules/util/file.d.ts +55 -0
- package/lib/reuse/modules/util/file.js +159 -0
- package/lib/reuse/modules/util/file.js.map +1 -0
- package/lib/reuse/modules/util/formatter.d.ts +90 -0
- package/lib/reuse/modules/util/formatter.js +210 -0
- package/lib/reuse/modules/util/formatter.js.map +1 -0
- package/lib/reuse/modules/util/function.d.ts +48 -0
- package/lib/reuse/modules/util/function.js +161 -0
- package/lib/reuse/modules/util/function.js.map +1 -0
- package/lib/reuse/modules/util/system.d.ts +17 -0
- package/lib/reuse/modules/util/system.js +58 -0
- package/lib/reuse/modules/util/system.js.map +1 -0
- package/lib/reuse/modules/util/types/formatter.types.d.ts +2 -0
- package/lib/reuse/modules/util/types/formatter.types.js +3 -0
- package/lib/reuse/modules/util/types/formatter.types.js.map +1 -0
- package/lib/scripts/clientsideUI5scripts.d.ts +1 -0
- package/lib/scripts/clientsideUI5scripts.js +315 -0
- package/lib/scripts/clientsideUI5scripts.js.map +1 -0
- package/lib/scripts/dataExchange/dataExchange.d.ts +1 -0
- package/lib/scripts/dataExchange/dataExchange.js +224 -0
- package/lib/scripts/dataExchange/dataExchange.js.map +1 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.d.ts +63 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.js +211 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -0
- package/lib/scripts/hooks/after.d.ts +8 -0
- package/lib/scripts/hooks/after.js +30 -0
- package/lib/scripts/hooks/after.js.map +1 -0
- package/lib/scripts/hooks/before.d.ts +8 -0
- package/lib/scripts/hooks/before.js +38 -0
- package/lib/scripts/hooks/before.js.map +1 -0
- package/lib/scripts/hooks/beforeSession.d.ts +8 -0
- package/lib/scripts/hooks/beforeSession.js +37 -0
- package/lib/scripts/hooks/beforeSession.js.map +1 -0
- package/lib/scripts/hooks/onComplete.d.ts +9 -0
- package/lib/scripts/hooks/onComplete.js +31 -0
- package/lib/scripts/hooks/onComplete.js.map +1 -0
- package/lib/scripts/hooks/onPrepare.d.ts +6 -0
- package/lib/scripts/hooks/onPrepare.js +36 -0
- package/lib/scripts/hooks/onPrepare.js.map +1 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.d.ts +2 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.js +193 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -0
- package/lib/scripts/hooks/utils/browserLog.d.ts +2 -0
- package/lib/scripts/hooks/utils/browserLog.js +39 -0
- package/lib/scripts/hooks/utils/browserLog.js.map +1 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.d.ts +9 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.js +46 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -0
- package/lib/scripts/hooks/utils/decryption.d.ts +13 -0
- package/lib/scripts/hooks/utils/decryption.js +90 -0
- package/lib/scripts/hooks/utils/decryption.js.map +1 -0
- package/lib/scripts/hooks/utils/lib.d.ts +4 -0
- package/lib/scripts/hooks/utils/lib.js +330 -0
- package/lib/scripts/hooks/utils/lib.js.map +1 -0
- package/lib/scripts/hooks/utils/locatorCommands.d.ts +10 -0
- package/lib/scripts/hooks/utils/locatorCommands.js +216 -0
- package/lib/scripts/hooks/utils/locatorCommands.js.map +1 -0
- package/lib/scripts/locators/qmateLocator.d.ts +1 -0
- package/lib/scripts/locators/qmateLocator.js +1384 -0
- package/lib/scripts/locators/qmateLocator.js.map +1 -0
- package/lib/scripts/locators/uiveri5Locator.d.ts +1 -0
- package/lib/scripts/locators/uiveri5Locator.js +21 -0
- package/lib/scripts/locators/uiveri5Locator.js.map +1 -0
- package/mkdocs.yml +53 -0
- package/package.json +152 -0
- package/test/.eslintrc.yml +6 -0
- package/test/authenticator/package.json +13 -0
- package/test/authenticator/staticLogin/configCustom.js +22 -0
- package/test/authenticator/staticLogin/configCustomViaConfig.js +20 -0
- package/test/authenticator/staticLogin/configFiori.js +19 -0
- package/test/authenticator/staticLogin/configPlain.js +17 -0
- package/test/authenticator/staticLogin/configSapCloud.js +18 -0
- package/test/authenticator/staticLogin/html/custom.html +10 -0
- package/test/authenticator/staticLogin/html/fiori.html +10 -0
- package/test/authenticator/staticLogin/html/home.html +7 -0
- package/test/authenticator/staticLogin/html/sapCloud.html +10 -0
- package/test/authenticator/staticLogin/specs/custom.spec.js +6 -0
- package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +10 -0
- package/test/authenticator/staticLogin/specs/fiori.spec.js +6 -0
- package/test/authenticator/staticLogin/specs/plain.spec.js +64 -0
- package/test/authenticator/staticLogin/specs/sapCloud.spec.js +6 -0
- package/test/authenticator/staticLogin/staticServerConfig.js +20 -0
- package/test/authenticator/systemLogin/configCustom.js +26 -0
- package/test/authenticator/systemLogin/configFiori.js +24 -0
- package/test/authenticator/systemLogin/configPlain.js +22 -0
- package/test/authenticator/systemLogin/configSapCloud.js +24 -0
- package/test/authenticator/systemLogin/specs/custom.spec.js +13 -0
- package/test/authenticator/systemLogin/specs/fiori.spec.js +12 -0
- package/test/authenticator/systemLogin/specs/plain.spec.js +21 -0
- package/test/authenticator/systemLogin/specs/sapCloud.spec.js +13 -0
- package/test/core/README.md +17 -0
- package/test/core/dataExchange/config.export.js +56 -0
- package/test/core/dataExchange/config.import.js +47 -0
- package/test/core/dataExchange/config.js +52 -0
- package/test/core/dataExchange/config.parallel.group.js +61 -0
- package/test/core/dataExchange/config.parallel.js +58 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/dummy1.txt +0 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +29 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +67 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +31 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +29 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +58 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +27 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +65 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +39 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +67 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/data.json +5 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/dummy1.txt +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/dummy2.txt +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/empty.json +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +31 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +17 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +6 -0
- package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +6 -0
- package/test/core/dataExchange/data/ui/user.json +6 -0
- package/test/core/dataExchange/data/ui/webUser.json +6 -0
- package/test/core/dataExchange/specs/export.fast.spec.js +48 -0
- package/test/core/dataExchange/specs/export.slow.spec.js +50 -0
- package/test/core/dataExchange/specs/export.spec.js +103 -0
- package/test/core/dataExchange/specs/import.spec.js +144 -0
- package/test/core/dataExchange/specs/importExport.spec.js +196 -0
- package/test/core/dataExchange/utils.js +160 -0
- package/test/core/functional/README.md +30 -0
- package/test/core/functional/chaining/chaining.test.js +137 -0
- package/test/core/functional/chaining/test.conf.js +31 -0
- package/test/core/functional/locators/ancestorProperties.test.js +99 -0
- package/test/core/functional/locators/childProperties.test.js +40 -0
- package/test/core/functional/locators/descendantProperties.test.js +107 -0
- package/test/core/functional/locators/domProperties.test.js +60 -0
- package/test/core/functional/locators/elementProperties.test.js +114 -0
- package/test/core/functional/locators/mixedProperties.test.js +170 -0
- package/test/core/functional/locators/parentProperties.test.js +47 -0
- package/test/core/functional/locators/siblingProperties.test.js +120 -0
- package/test/core/functional/locators/test.locator.conf.js +38 -0
- package/test/core/functional/locators/utils.js +6 -0
- package/test/core/functional/nativeBrowser/runInBrowser.test.js +111 -0
- package/test/core/functional/nativeBrowser/test.conf.js +31 -0
- package/test/core/functional/nonUi5/basic.test.js +10 -0
- package/test/core/functional/nonUi5/getWithDomElement.test.js +51 -0
- package/test/core/functional/nonUi5/getWithDomElements.test.js +141 -0
- package/test/core/functional/nonUi5/test.conf.js +32 -0
- package/test/core/functional/ui5Properties/getAggregations.test.js +102 -0
- package/test/core/functional/ui5Properties/getAssociations.test.js +24 -0
- package/test/core/functional/ui5Properties/getBindingInfos.test.js +71 -0
- package/test/core/functional/ui5Properties/getProperties.test.js +226 -0
- package/test/core/functional/ui5Properties/test.conf.js +16 -0
- package/test/core/functional/uiveri5/sample.test.js +61 -0
- package/test/core/functional/uiveri5/test.conf.js +31 -0
- package/test/core/package-lock.json +0 -0
- package/test/core/package.json +12 -0
- package/test/core/testIntegration/config.js +17 -0
- package/test/core/testIntegration/configMultiCombo.js +17 -0
- package/test/core/testIntegration/configTable.js +18 -0
- package/test/core/testIntegration/filters1.spec.js +1849 -0
- package/test/core/testIntegration/multicombobox.spec.js +134 -0
- package/test/core/testIntegration/table.spec.js +80 -0
- package/test/helper/configurations/base.conf.js +43 -0
- package/test/helper/configurations/chrome.conf.js +47 -0
- package/test/helper/configurations/chrome.headless.conf.js +45 -0
- package/test/helper/configurations/sauce.labs.conf.js +37 -0
- package/test/helper/configurations/sauce.labs.tunnel.conf.js +39 -0
- package/test/helper/sleeper.js +19 -0
- package/test/helper/utils.js +15 -0
- package/test/helper/website/buttons.html +85 -0
- package/test/helper/website/checkBox.html +83 -0
- package/test/helper/website/dragAndDropFailing.html +83 -0
- package/test/helper/website/dragAndDropWdioExample.html +41 -0
- package/test/helper/website/dropdown.html +78 -0
- package/test/helper/website/forms.html +82 -0
- package/test/helper/website/hiddenAndVisible.html +60 -0
- package/test/helper/website/main.css +36 -0
- package/test/helper/website/scrollPage.html +261 -0
- package/test/helper/website/style.css +52 -0
- package/test/helper/website/tables.html +140 -0
- package/test/helper/website/waitForElements.html +73 -0
- package/test/reuse/common/assertion/expectDefined.spec.js +11 -0
- package/test/reuse/common/assertion/expectEqual.spec.js +52 -0
- package/test/reuse/common/assertion/expectFalse.spec.js +9 -0
- package/test/reuse/common/assertion/expectTrue.spec.js +9 -0
- package/test/reuse/common/assertion/expectUndefined.spec.js +11 -0
- package/test/reuse/common/assertion/expectUnequal.spec.js +25 -0
- package/test/reuse/common/assertion/expectUrlToBe.spec.js +27 -0
- package/test/reuse/common/assertion/test.assertion.conf.js +59 -0
- package/test/reuse/common/date/calculate.spec.js +163 -0
- package/test/reuse/common/date/getNextMonth.spec.js +105 -0
- package/test/reuse/common/date/getNextYear.spec.js +72 -0
- package/test/reuse/common/date/getPreviousMonth.spec.js +71 -0
- package/test/reuse/common/date/getPreviousYear.spec.js +72 -0
- package/test/reuse/common/date/getSpecific.spec.js +63 -0
- package/test/reuse/common/date/getToday.spec.js +78 -0
- package/test/reuse/common/date/getTomorrow.spec.js +72 -0
- package/test/reuse/common/date/test.date.conf.js +19 -0
- package/test/reuse/common/date/utils.js +6 -0
- package/test/reuse/common/navigation/navigateToUrl.spec.js +28 -0
- package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +27 -0
- package/test/reuse/common/navigation/test.navigation.conf.js +25 -0
- package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +100 -0
- package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +106 -0
- package/test/reuse/common/userInteraction/fillActive.spec.js +230 -0
- package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +172 -0
- package/test/reuse/common/userInteraction/pressKey.spec.js +105 -0
- package/test/reuse/common/userInteraction/test.userInteraction.conf.js +53 -0
- package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +45 -0
- package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +43 -0
- package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +37 -0
- package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +63 -0
- package/test/reuse/nonUi5/assertion/expectValueToBe.spec.js +25 -0
- package/test/reuse/nonUi5/assertion/test.assertion.conf.js +60 -0
- package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +64 -0
- package/test/reuse/nonUi5/element/getAllDisplayed.spec.js +39 -0
- package/test/reuse/nonUi5/element/getAttributeValue.spec.js +58 -0
- package/test/reuse/nonUi5/element/getByChild.spec.js +70 -0
- package/test/reuse/nonUi5/element/getByClass.spec.js +64 -0
- package/test/reuse/nonUi5/element/getByCss.spec.js +65 -0
- package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +83 -0
- package/test/reuse/nonUi5/element/getById.spec.js +35 -0
- package/test/reuse/nonUi5/element/getByName.spec.js +30 -0
- package/test/reuse/nonUi5/element/getByParent.spec.js +71 -0
- package/test/reuse/nonUi5/element/getByXPath.spec.js +30 -0
- package/test/reuse/nonUi5/element/getValue.spec.js +51 -0
- package/test/reuse/nonUi5/element/highlight.spec.js +18 -0
- package/test/reuse/nonUi5/element/isPresent.spec.js +39 -0
- package/test/reuse/nonUi5/element/isPresentByCss.spec.js +73 -0
- package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +31 -0
- package/test/reuse/nonUi5/element/setInnerHTML.spec.js +23 -0
- package/test/reuse/nonUi5/element/test.element.conf.js +55 -0
- package/test/reuse/nonUi5/element/test.element.sauceLabs.conf.js +58 -0
- package/test/reuse/nonUi5/element/waitForAll.spec.js +24 -0
- package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +24 -0
- package/test/reuse/nonUi5/element/waitToBePresent.spec.js +32 -0
- package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +36 -0
- package/test/reuse/nonUi5/navigation/navigateToApplication.spec.js +13 -0
- package/test/reuse/nonUi5/navigation/test.navigation.conf.js +14 -0
- package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +135 -0
- package/test/reuse/nonUi5/userInteraction/clear.spec.js +43 -0
- package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +51 -0
- package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +58 -0
- package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +43 -0
- package/test/reuse/nonUi5/userInteraction/click.spec.js +60 -0
- package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +60 -0
- package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +24 -0
- package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +22 -0
- package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +40 -0
- package/test/reuse/nonUi5/userInteraction/fill.spec.js +37 -0
- package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +39 -0
- package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +36 -0
- package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +24 -0
- package/test/reuse/nonUi5/userInteraction/rightClick.spec.js +13 -0
- package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +35 -0
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +72 -0
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +78 -0
- package/test/reuse/service/rest/db.json +8 -0
- package/test/reuse/service/rest/delete.spec.js +20 -0
- package/test/reuse/service/rest/get.spec.js +19 -0
- package/test/reuse/service/rest/init.spec.js +35 -0
- package/test/reuse/service/rest/patch.spec.js +29 -0
- package/test/reuse/service/rest/post.spec.js +37 -0
- package/test/reuse/service/rest/test.rest.conf.js +18 -0
- package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +106 -0
- package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +78 -0
- package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +103 -0
- package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +164 -0
- package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +43 -0
- package/test/reuse/ui5/assertion/expectTextToBe.spec.js +39 -0
- package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +90 -0
- package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +62 -0
- package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +52 -0
- package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +69 -0
- package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +49 -0
- package/test/reuse/ui5/assertion/expectValidationError.spec.js +54 -0
- package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +53 -0
- package/test/reuse/ui5/assertion/expectValueToBe.spec.js +57 -0
- package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +35 -0
- package/test/reuse/ui5/assertion/test.assertion.conf.js +28 -0
- package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +37 -0
- package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +88 -0
- package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +3 -0
- package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +89 -0
- package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +96 -0
- package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +66 -0
- package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +3 -0
- package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +70 -0
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +20 -0
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +29 -0
- package/test/reuse/ui5/control/execute.spec.js +29 -0
- package/test/reuse/ui5/control/getAggregationProperty.spec.js +29 -0
- package/test/reuse/ui5/control/getAssociationProperty.spec.js +1 -0
- package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +30 -0
- package/test/reuse/ui5/control/getProperty.spec.js +30 -0
- package/test/reuse/ui5/control/getPropertyBinding.spec.js +30 -0
- package/test/reuse/ui5/control/test.control.conf.js +19 -0
- package/test/reuse/ui5/control/test.control.sauceLab.conf.js +30 -0
- package/test/reuse/ui5/date/fillRange.spec.js +53 -0
- package/test/reuse/ui5/date/pick.spec.js +136 -0
- package/test/reuse/ui5/date/pickRange.spec.js +143 -0
- package/test/reuse/ui5/date/test.date.conf.js +14 -0
- package/test/reuse/ui5/date/test.date.sauceLab.conf.js +26 -0
- package/test/reuse/ui5/element/getAllDisplayed.spec.js +71 -0
- package/test/reuse/ui5/element/getBindingValue.spec.js +78 -0
- package/test/reuse/ui5/element/getByChild.spec.js +124 -0
- package/test/reuse/ui5/element/getByParent.spec.js +134 -0
- package/test/reuse/ui5/element/getByText.spec.js +67 -0
- package/test/reuse/ui5/element/getDisplayed.spec.js +82 -0
- package/test/reuse/ui5/element/getId.spec.js +72 -0
- package/test/reuse/ui5/element/getPropertyValue.spec.js +91 -0
- package/test/reuse/ui5/element/highlight.spec.js +46 -0
- package/test/reuse/ui5/element/isVisible.spec.js +68 -0
- package/test/reuse/ui5/element/test.element.conf.js +22 -0
- package/test/reuse/ui5/element/test.element.sauceLab.conf.js +33 -0
- package/test/reuse/ui5/errorDialog/clickClose.spec.js +31 -0
- package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +30 -0
- package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +13 -0
- package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +26 -0
- package/test/reuse/ui5/formatter/addRemoveLeadingZeros.spec.js +18 -0
- package/test/reuse/ui5/formatter/extractNumberFromString.spec.js +34 -0
- package/test/reuse/ui5/formatter/formatDate.spec.js +103 -0
- package/test/reuse/ui5/formatter/test.formatter.conf.js +14 -0
- package/test/reuse/ui5/formatter/test.formatter.sauceLab.conf.js +24 -0
- package/test/reuse/ui5/mockserver_qunit/Component.js +23 -0
- package/test/reuse/ui5/mockserver_qunit/LICENSE.txt +957 -0
- package/test/reuse/ui5/mockserver_qunit/NOTICE.txt +1 -0
- package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +37 -0
- package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +30 -0
- package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +27 -0
- package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +34 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +64 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +22 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +83 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +11 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +192 -0
- package/test/reuse/ui5/mockserver_qunit/i18n/i18n.properties +42 -0
- package/test/reuse/ui5/mockserver_qunit/index.html +21 -0
- package/test/reuse/ui5/mockserver_qunit/initMockServer.js +16 -0
- package/test/reuse/ui5/mockserver_qunit/localService/metadata.xml +61 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +155 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +65 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +146 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +75 -0
- package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -0
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +63 -0
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +68 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +92 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +14 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +11 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +71 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +204 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +114 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +11 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +118 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +25 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +23 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +222 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +6 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +38 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -0
- package/test/reuse/ui5/mockserver_qunit/view/App.view.xml +9 -0
- package/test/reuse/ui5/mockserver_qunit/view/Home.view.xml +12 -0
- package/test/reuse/ui5/mockserver_qunit/view/NotFound.view.xml +11 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/Employee.view.xml +52 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/EmployeeList.view.xml +24 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/Resume.view.xml +35 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeHobbies.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeNotes.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeProjects.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverview.view.xml +13 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewContent.view.xml +43 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewTop.view.xml +3 -0
- package/test/reuse/ui5/navigation/closePopups.spec.js +16 -0
- package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +81 -0
- package/test/reuse/ui5/navigation/navigateToApplication.spec.js +148 -0
- package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +153 -0
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +63 -0
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +64 -0
- package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +45 -0
- package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +43 -0
- package/test/reuse/ui5/navigation/test.navigation.conf.js +17 -0
- package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +33 -0
- package/test/reuse/ui5/navigation/test.navigation.static.conf.js +34 -0
- package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +41 -0
- package/test/reuse/ui5/navigation/website/main.css +36 -0
- package/test/reuse/ui5/navigation/website/main.html +50 -0
- package/test/reuse/ui5/navigationBar/clickBack.spec.js +38 -0
- package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +36 -0
- package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +22 -0
- package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +22 -0
- package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +17 -0
- package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +28 -0
- package/test/reuse/ui5/session/login.spec.js +78 -0
- package/test/reuse/ui5/session/loginFiori.spec.js +52 -0
- package/test/reuse/ui5/session/loginSapCloud.spec.js +51 -0
- package/test/reuse/ui5/session/logout.spec.js +48 -0
- package/test/reuse/ui5/session/switchUser.spec.js +48 -0
- package/test/reuse/ui5/session/test.session.conf.js +20 -0
- package/test/reuse/ui5/session/test.session.sauceLab.conf.js +29 -0
- package/test/reuse/ui5/table/clickSettingsButton.spec.js +58 -0
- package/test/reuse/ui5/table/sortColumnAscending.spec.js +84 -0
- package/test/reuse/ui5/table/sortColumnDescending.spec.js +84 -0
- package/test/reuse/ui5/table/test.table.conf.js +14 -0
- package/test/reuse/ui5/table/test.table.sauceLab.conf.js +25 -0
- package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +25 -0
- package/test/reuse/ui5/userInteraction/clear.spec.js +75 -0
- package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +157 -0
- package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +132 -0
- package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +57 -0
- package/test/reuse/ui5/userInteraction/click.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +52 -0
- package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +87 -0
- package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +147 -0
- package/test/reuse/ui5/userInteraction/clickTab.spec.js +59 -0
- package/test/reuse/ui5/userInteraction/doubleClick.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +34 -0
- package/test/reuse/ui5/userInteraction/fill.spec.js +114 -0
- package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +120 -0
- package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +55 -0
- package/test/reuse/ui5/userInteraction/openF4Help.spec.js +56 -0
- package/test/reuse/ui5/userInteraction/rightClick.spec.js +72 -0
- package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +89 -0
- package/test/reuse/ui5/userInteraction/searchFor.spec.js +155 -0
- package/test/reuse/ui5/userInteraction/selectBox.spec.js +128 -0
- package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +115 -0
- package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +155 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +35 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +46 -0
- package/test/reuse/util/browser/back.spec.js +32 -0
- package/test/reuse/util/browser/clearBrowser.spec.js +35 -0
- package/test/reuse/util/browser/executeScript.spec.js +49 -0
- package/test/reuse/util/browser/getBaseUrl.spec.js +13 -0
- package/test/reuse/util/browser/getBrowserName.spec.js +18 -0
- package/test/reuse/util/browser/getCurrentUrl.spec.js +34 -0
- package/test/reuse/util/browser/getCurrentWindow.spec.js +42 -0
- package/test/reuse/util/browser/getUI5Version.spec.js +31 -0
- package/test/reuse/util/browser/logCurrentUrl.spec.js +23 -0
- package/test/reuse/util/browser/refresh.spec.js +52 -0
- package/test/reuse/util/browser/setBaseUrl.spec.js +13 -0
- package/test/reuse/util/browser/switchToDefaultContent.spec.js +34 -0
- package/test/reuse/util/browser/switchToIframe.spec.js +29 -0
- package/test/reuse/util/browser/switchToNewWindow.spec.js +142 -0
- package/test/reuse/util/browser/switchToWindow.spec.js +57 -0
- package/test/reuse/util/browser/test.browser.conf.js +27 -0
- package/test/reuse/util/data/data/test.json +3 -0
- package/test/reuse/util/data/data/test.secure.json +11 -0
- package/test/reuse/util/data/decrypt.spec.js +15 -0
- package/test/reuse/util/data/getData.spec.js +15 -0
- package/test/reuse/util/data/getSecureData.spec.js +57 -0
- package/test/reuse/util/data/test.data.conf.js +22 -0
- package/test/reuse/util/file/file.spec.js +90 -0
- package/test/reuse/util/file/pdfParser.spec.js +55 -0
- package/test/reuse/util/file/test.file.conf.js +15 -0
- package/test/reuse/util/file/testFiles/sample.pdf +198 -0
- package/test/reuse/util/file/testFiles/test.txt +5 -0
- package/test/reuse/util/file/testFiles/test2.txt +2 -0
- package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +38 -0
- package/test/reuse/util/formatter/extractNumberFromString.spec.js +67 -0
- package/test/reuse/util/formatter/formatDate.spec.js +150 -0
- package/test/reuse/util/formatter/sliceStringAfter.spec.js +62 -0
- package/test/reuse/util/formatter/sliceStringAt.spec.js +62 -0
- package/test/reuse/util/formatter/stringifyJSON.spec.js +24 -0
- package/test/reuse/util/formatter/test.formatter.conf.js +20 -0
- package/test/reuse/util/formatter/trimString.spec.js +37 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class console
|
|
3
|
+
* @memberof util
|
|
4
|
+
*/
|
|
5
|
+
export declare class Console {
|
|
6
|
+
private colorReset;
|
|
7
|
+
/**
|
|
8
|
+
* @function log
|
|
9
|
+
* @memberOf util.console
|
|
10
|
+
* @description Logs a message to the console in the given color.
|
|
11
|
+
* @param {String} message - The message to log.
|
|
12
|
+
* @param {String} [textColor] - The color of the text: "black, white", "red", "yellow", "green", "blue", "cyan", "magenta".
|
|
13
|
+
* @param {String} [backgroundColor] - The color of the background: "black, white", "red", "yellow", "green", "blue", "cyan", "magenta".
|
|
14
|
+
* @param {String} [brightness] - Adjusts the brightness of the color: "bright", "dim". Leave empty for default.
|
|
15
|
+
* @example util.console.log("The document has been saved.", "green");
|
|
16
|
+
*/
|
|
17
|
+
log(message: string, textColor?: string, backgroundColor?: string, brightness?: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* @function error
|
|
20
|
+
* @memberOf util.console
|
|
21
|
+
* @description Logs a error message to the console in red.
|
|
22
|
+
* @param {String} message - The message to log.
|
|
23
|
+
* @example util.console.error("Error: Please investigate.");
|
|
24
|
+
*/
|
|
25
|
+
error(message: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* @function warn
|
|
28
|
+
* @memberOf util.console
|
|
29
|
+
* @description Logs a warning message to the console in yellow.
|
|
30
|
+
* @param {String} message - The message to log.
|
|
31
|
+
* @example util.console.warn("Optional step not executed.");
|
|
32
|
+
*/
|
|
33
|
+
warn(message: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* @function success
|
|
36
|
+
* @memberOf util.console
|
|
37
|
+
* @description Logs a success message to the console in green.
|
|
38
|
+
* @param {String} message - The message to log.
|
|
39
|
+
* @example util.console.success("The document has been saved.");
|
|
40
|
+
*/
|
|
41
|
+
success(message: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* @function info
|
|
44
|
+
* @memberOf util.console
|
|
45
|
+
* @description Logs a info message to the console in cyan.
|
|
46
|
+
* @param {String} message - The message to log.
|
|
47
|
+
* @example util.console.success("The document has been saved.");
|
|
48
|
+
*/
|
|
49
|
+
info(message: string): void;
|
|
50
|
+
private colors;
|
|
51
|
+
private getColorValue;
|
|
52
|
+
private getBackgroundColorValue;
|
|
53
|
+
private getBrightnessValue;
|
|
54
|
+
}
|
|
55
|
+
declare const _default: Console;
|
|
56
|
+
export default _default;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Console = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @class console
|
|
6
|
+
* @memberof util
|
|
7
|
+
*/
|
|
8
|
+
class Console {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.colorReset = "\x1b[0m";
|
|
11
|
+
this.colors = [
|
|
12
|
+
{
|
|
13
|
+
key: "black",
|
|
14
|
+
value: "\x1b[30m",
|
|
15
|
+
valueBg: "\x1b[40m",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: "white",
|
|
19
|
+
value: "\x1b[37m",
|
|
20
|
+
valueBg: "\x1b[47m",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "red",
|
|
24
|
+
value: "\x1b[31m",
|
|
25
|
+
valueBg: "\x1b[41m",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "green",
|
|
29
|
+
value: "\x1b[32m",
|
|
30
|
+
valueBg: "\x1b[42m",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
key: "yellow",
|
|
34
|
+
value: "\x1b[33m",
|
|
35
|
+
valueBg: "\x1b[30m\x1b[43m",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: "blue",
|
|
39
|
+
value: "\x1b[34m",
|
|
40
|
+
valueBg: "\x1b[44m",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
key: "magenta",
|
|
44
|
+
value: "\x1b[35m",
|
|
45
|
+
valueBg: "\x1b[45m",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "cyan",
|
|
49
|
+
value: "\x1b[36m",
|
|
50
|
+
valueBg: "\x1b[30m\x1b[46m",
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @function log
|
|
56
|
+
* @memberOf util.console
|
|
57
|
+
* @description Logs a message to the console in the given color.
|
|
58
|
+
* @param {String} message - The message to log.
|
|
59
|
+
* @param {String} [textColor] - The color of the text: "black, white", "red", "yellow", "green", "blue", "cyan", "magenta".
|
|
60
|
+
* @param {String} [backgroundColor] - The color of the background: "black, white", "red", "yellow", "green", "blue", "cyan", "magenta".
|
|
61
|
+
* @param {String} [brightness] - Adjusts the brightness of the color: "bright", "dim". Leave empty for default.
|
|
62
|
+
* @example util.console.log("The document has been saved.", "green");
|
|
63
|
+
*/
|
|
64
|
+
log(message, textColor, backgroundColor, brightness) {
|
|
65
|
+
let colorValue = "";
|
|
66
|
+
if (textColor) {
|
|
67
|
+
const textColorValue = this.getColorValue(textColor);
|
|
68
|
+
colorValue = textColorValue;
|
|
69
|
+
}
|
|
70
|
+
if (backgroundColor) {
|
|
71
|
+
const backgroundColorValue = this.getBackgroundColorValue(backgroundColor);
|
|
72
|
+
colorValue = colorValue + backgroundColorValue;
|
|
73
|
+
}
|
|
74
|
+
if (brightness) {
|
|
75
|
+
const brightnessValue = this.getBrightnessValue(brightness);
|
|
76
|
+
colorValue = colorValue + brightnessValue;
|
|
77
|
+
}
|
|
78
|
+
console.log(colorValue, message + this.colorReset);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @function error
|
|
82
|
+
* @memberOf util.console
|
|
83
|
+
* @description Logs a error message to the console in red.
|
|
84
|
+
* @param {String} message - The message to log.
|
|
85
|
+
* @example util.console.error("Error: Please investigate.");
|
|
86
|
+
*/
|
|
87
|
+
error(message) {
|
|
88
|
+
const colorValue = this.getColorValue("red");
|
|
89
|
+
console.error(colorValue, message + this.colorReset);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @function warn
|
|
93
|
+
* @memberOf util.console
|
|
94
|
+
* @description Logs a warning message to the console in yellow.
|
|
95
|
+
* @param {String} message - The message to log.
|
|
96
|
+
* @example util.console.warn("Optional step not executed.");
|
|
97
|
+
*/
|
|
98
|
+
warn(message) {
|
|
99
|
+
const colorValue = this.getColorValue("yellow");
|
|
100
|
+
console.warn(colorValue, message + this.colorReset);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @function success
|
|
104
|
+
* @memberOf util.console
|
|
105
|
+
* @description Logs a success message to the console in green.
|
|
106
|
+
* @param {String} message - The message to log.
|
|
107
|
+
* @example util.console.success("The document has been saved.");
|
|
108
|
+
*/
|
|
109
|
+
success(message) {
|
|
110
|
+
const colorValue = this.getColorValue("green");
|
|
111
|
+
console.log(colorValue, message + this.colorReset);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* @function info
|
|
115
|
+
* @memberOf util.console
|
|
116
|
+
* @description Logs a info message to the console in cyan.
|
|
117
|
+
* @param {String} message - The message to log.
|
|
118
|
+
* @example util.console.success("The document has been saved.");
|
|
119
|
+
*/
|
|
120
|
+
info(message) {
|
|
121
|
+
const colorValue = this.getColorValue("cyan");
|
|
122
|
+
console.log(colorValue, message + this.colorReset);
|
|
123
|
+
}
|
|
124
|
+
// =================================== HELPER ===================================
|
|
125
|
+
getColorValue(key) {
|
|
126
|
+
const object = this.colors.find((obj) => obj.key === key);
|
|
127
|
+
if (object === undefined) {
|
|
128
|
+
return "";
|
|
129
|
+
}
|
|
130
|
+
return object.value;
|
|
131
|
+
}
|
|
132
|
+
getBackgroundColorValue(key) {
|
|
133
|
+
const object = this.colors.find((obj) => obj.key === key);
|
|
134
|
+
if (object === undefined) {
|
|
135
|
+
return "";
|
|
136
|
+
}
|
|
137
|
+
return object.valueBg;
|
|
138
|
+
}
|
|
139
|
+
getBrightnessValue(key) {
|
|
140
|
+
switch (key) {
|
|
141
|
+
case "bright":
|
|
142
|
+
return "\x1b[1m";
|
|
143
|
+
case "dim":
|
|
144
|
+
return "\x1b[2m";
|
|
145
|
+
default:
|
|
146
|
+
return "";
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.Console = Console;
|
|
151
|
+
exports.default = new Console();
|
|
152
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum DateFormats {
|
|
2
|
+
MONTH_DAY_YEAR_SLASH = "mm/dd/yyyy",
|
|
3
|
+
DAY_MONTH_YEAR_DOT = "dd.mm.yyyy",
|
|
4
|
+
DAY_MONTH_YEAR_SLASH = "dd/mm/yyyy",
|
|
5
|
+
YEAR_MONTH_DAY_PLAIN = "yyyymmdd",
|
|
6
|
+
YEAR_MONTH_DAY_SLASH = "yyyy/mm/dd",
|
|
7
|
+
DAY_MONTH_YEAR_TIME_DOT = "dd.mm.yyyy.hh.mm",
|
|
8
|
+
MONTH_DAY_YEAR_COMMA = "mmm dd, yyyy",
|
|
9
|
+
DATETIME = "datetime",
|
|
10
|
+
OBJECT = "object"
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DateFormats = void 0;
|
|
4
|
+
var DateFormats;
|
|
5
|
+
(function (DateFormats) {
|
|
6
|
+
DateFormats["MONTH_DAY_YEAR_SLASH"] = "mm/dd/yyyy";
|
|
7
|
+
DateFormats["DAY_MONTH_YEAR_DOT"] = "dd.mm.yyyy";
|
|
8
|
+
DateFormats["DAY_MONTH_YEAR_SLASH"] = "dd/mm/yyyy";
|
|
9
|
+
DateFormats["YEAR_MONTH_DAY_PLAIN"] = "yyyymmdd";
|
|
10
|
+
DateFormats["YEAR_MONTH_DAY_SLASH"] = "yyyy/mm/dd";
|
|
11
|
+
DateFormats["DAY_MONTH_YEAR_TIME_DOT"] = "dd.mm.yyyy.hh.mm";
|
|
12
|
+
DateFormats["MONTH_DAY_YEAR_COMMA"] = "mmm dd, yyyy";
|
|
13
|
+
DateFormats["DATETIME"] = "datetime";
|
|
14
|
+
DateFormats["OBJECT"] = "object";
|
|
15
|
+
})(DateFormats = exports.DateFormats || (exports.DateFormats = {}));
|
|
16
|
+
//# sourceMappingURL=formatter.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.constants.js","sourceRoot":"","sources":["../../../../../src/reuse/modules/util/constants/formatter.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,kDAAmC,CAAA;IACnC,gDAAiC,CAAA;IACjC,kDAAmC,CAAA;IACnC,gDAAiC,CAAA;IACjC,kDAAmC,CAAA;IACnC,2DAA4C,CAAA;IAC5C,oDAAqC,CAAA;IACrC,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACnB,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class data
|
|
3
|
+
* @memberof util
|
|
4
|
+
*/
|
|
5
|
+
export declare class Data {
|
|
6
|
+
/**
|
|
7
|
+
* @function getData
|
|
8
|
+
* @memberOf util.data
|
|
9
|
+
* @description Returns the data object with the given filename (JSON, stored in data folder).
|
|
10
|
+
* @param {String} filename - The name of the data file.
|
|
11
|
+
* @returns {String} The data object.
|
|
12
|
+
* @example const data = util.data.getData("myTest");
|
|
13
|
+
*/
|
|
14
|
+
getData(filename: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* @function getSecureData
|
|
17
|
+
* @memberOf util.data
|
|
18
|
+
* @description Returns and encrypts the data object with the given filename (JSON, stored in data folder). Will return the local file object if private key is not accessible.
|
|
19
|
+
* @param {String} filename - The name of the data file (without suffix '.secure' or '.local').
|
|
20
|
+
* @returns {String} The encrypted or local data object.
|
|
21
|
+
* @example const secureData = util.data.getSecureData("myTest");
|
|
22
|
+
*/
|
|
23
|
+
getSecureData(filename: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* @function decrypt
|
|
26
|
+
* @memberOf util.data
|
|
27
|
+
* @description Decrypts the passed input data.
|
|
28
|
+
* @param {String} data - The encrypted data to decrypt.
|
|
29
|
+
* @returns {String} The decrypted data.
|
|
30
|
+
* @example const decrypted = util.data.decrypt("d704004c262faa8ef4bdcf34c8a94883e15524872c7bef334d26a391a1934cf47338b749d99426980ee4cc7a81deaef21439c6894ab0324cdb29b9b6332635baca442651c5d37847f52bb90b8868e037271a7d456024b39b65fdf4dc62e8d82a3d5683a72e4324c59d339742fc79749f0ee74abef916d38e306218adc48e3547a2b346962249320c962d22cb46d9998de36d8219a2496c0997d0fc389f76fb1431a9b57c317886e9c9795c0a09ad98d9fa0b7687d10814dc7973397f3f72a227a04ead4c3d1d428c096a51922ffc4d7afc3952df1c130def5c5fb3e834605cbf1454885966cc65c77046343f4c678e74931fb2dd6cac8dae17837cf674f288d6550dd7fa6b01f5b7ea68aa6bd27d79dd5d53edb5fd4b4edce824bd31b3939352ad7a71a16bab8c54025c2bb92c54e022fcd23ff08bc54a17fc50d00dc3b884cadbfdefe1e75901fdf80e7324ad02a891f2c4863fa120ca238520b79126c65a03");
|
|
31
|
+
*/
|
|
32
|
+
decrypt(data: string): string;
|
|
33
|
+
private _decryptRecursively;
|
|
34
|
+
}
|
|
35
|
+
declare const _default: Data;
|
|
36
|
+
export default _default;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Data = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @class data
|
|
6
|
+
* @memberof util
|
|
7
|
+
*/
|
|
8
|
+
class Data {
|
|
9
|
+
/**
|
|
10
|
+
* @function getData
|
|
11
|
+
* @memberOf util.data
|
|
12
|
+
* @description Returns the data object with the given filename (JSON, stored in data folder).
|
|
13
|
+
* @param {String} filename - The name of the data file.
|
|
14
|
+
* @returns {String} The data object.
|
|
15
|
+
* @example const data = util.data.getData("myTest");
|
|
16
|
+
*/
|
|
17
|
+
getData(filename) {
|
|
18
|
+
if (browser.config.params && browser.config.params.import && browser.config.params.import.data) {
|
|
19
|
+
if (browser.config.params.import.data[filename]) {
|
|
20
|
+
return browser.config.params.import.data[filename];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
throw new Error(`Function 'getData' failed. No file with name ${filename} found'`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new Error(`Function 'getData' failed. No data path defined in config.`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @function getSecureData
|
|
32
|
+
* @memberOf util.data
|
|
33
|
+
* @description Returns and encrypts the data object with the given filename (JSON, stored in data folder). Will return the local file object if private key is not accessible.
|
|
34
|
+
* @param {String} filename - The name of the data file (without suffix '.secure' or '.local').
|
|
35
|
+
* @returns {String} The encrypted or local data object.
|
|
36
|
+
* @example const secureData = util.data.getSecureData("myTest");
|
|
37
|
+
*/
|
|
38
|
+
getSecureData(filename) {
|
|
39
|
+
const privateKeyFound = global.util.data.privateKeyFound === true;
|
|
40
|
+
if (privateKeyFound) {
|
|
41
|
+
filename = `${filename}.secure`;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
filename = `${filename}.local`;
|
|
45
|
+
}
|
|
46
|
+
if (browser.config.params && browser.config.params.import && browser.config.params.import.data) {
|
|
47
|
+
if (browser.config.params.import.data[filename]) {
|
|
48
|
+
const data = browser.config.params.import.data[filename];
|
|
49
|
+
if (privateKeyFound) {
|
|
50
|
+
this._decryptRecursively(data);
|
|
51
|
+
}
|
|
52
|
+
return data;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new Error(`Function 'getSecureData' failed. File '${filename}.json' not found'`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw new Error(`Function 'getSecureData' failed. No data path defined in config.`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @function decrypt
|
|
64
|
+
* @memberOf util.data
|
|
65
|
+
* @description Decrypts the passed input data.
|
|
66
|
+
* @param {String} data - The encrypted data to decrypt.
|
|
67
|
+
* @returns {String} The decrypted data.
|
|
68
|
+
* @example const decrypted = util.data.decrypt("d704004c262faa8ef4bdcf34c8a94883e15524872c7bef334d26a391a1934cf47338b749d99426980ee4cc7a81deaef21439c6894ab0324cdb29b9b6332635baca442651c5d37847f52bb90b8868e037271a7d456024b39b65fdf4dc62e8d82a3d5683a72e4324c59d339742fc79749f0ee74abef916d38e306218adc48e3547a2b346962249320c962d22cb46d9998de36d8219a2496c0997d0fc389f76fb1431a9b57c317886e9c9795c0a09ad98d9fa0b7687d10814dc7973397f3f72a227a04ead4c3d1d428c096a51922ffc4d7afc3952df1c130def5c5fb3e834605cbf1454885966cc65c77046343f4c678e74931fb2dd6cac8dae17837cf674f288d6550dd7fa6b01f5b7ea68aa6bd27d79dd5d53edb5fd4b4edce824bd31b3939352ad7a71a16bab8c54025c2bb92c54e022fcd23ff08bc54a17fc50d00dc3b884cadbfdefe1e75901fdf80e7324ad02a891f2c4863fa120ca238520b79126c65a03");
|
|
69
|
+
*/
|
|
70
|
+
decrypt(data) {
|
|
71
|
+
return global.util.data.decrypt(data); // Function is defined under: scripts\hooks\utils\decryption.js
|
|
72
|
+
}
|
|
73
|
+
_decryptRecursively(data) {
|
|
74
|
+
for (const key in data) {
|
|
75
|
+
if (typeof data[key] === "object") {
|
|
76
|
+
data[key] = this._decryptRecursively(data[key]);
|
|
77
|
+
}
|
|
78
|
+
else if (typeof data[key] === "string") {
|
|
79
|
+
data[key] = global.util.data.decrypt(data[key]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.Data = Data;
|
|
86
|
+
exports.default = new Data();
|
|
87
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/data.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb;;;GAGG;AACH,MAAa,IAAI;IAEf;;;;;;;OAOG;IACH,OAAO,CAAC,QAAgB;QACtB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9F,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,SAAS,CAAC,CAAC;aACpF;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;SAC/E;IACH,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QAElE,IAAI,eAAe,EAAE;YACnB,QAAQ,GAAG,GAAG,QAAQ,SAAS,CAAC;SACjC;aAAM;YACL,QAAQ,GAAG,GAAG,QAAQ,QAAQ,CAAC;SAChC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9F,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEzD,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;iBAChC;gBAED,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,mBAAmB,CAAC,CAAC;aACxF;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;SACrF;IACH,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,+DAA+D;IACxG,CAAC;IAEO,mBAAmB,CAAC,IAAS;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACxC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aACjD;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9ED,oBA8EC;AACD,kBAAe,IAAI,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* @class file
|
|
4
|
+
* @memberof util
|
|
5
|
+
*/
|
|
6
|
+
export declare class File {
|
|
7
|
+
path: any;
|
|
8
|
+
pdf: any;
|
|
9
|
+
/**
|
|
10
|
+
* @function upload
|
|
11
|
+
* @memberOf util.file
|
|
12
|
+
* @description Uploads all the file/s by the paths given in the Array.
|
|
13
|
+
* @param {String[]} files - Array with path/s of file/s to be uploaded.
|
|
14
|
+
* @param {String} [selector="input[type='file']"] - Custom selector of uploader control (in case there are more then one present).
|
|
15
|
+
* @example await util.file.upload(["path/to/text1.txt", "path/to/text2.txt"]); // uses the default uploader control
|
|
16
|
+
* @example await util.file.upload(["path/to/text1.txt", "path/to/text2.txt"], "input[id='myUpload']"); // upload to file uploader with matching selector
|
|
17
|
+
*/
|
|
18
|
+
upload(files: Array<string>, selector?: string): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* @function parsePdf
|
|
21
|
+
* @memberOf util.file
|
|
22
|
+
* @description Parses the text from PDF stream. Returned text can be asserted to verify the PDF document content.
|
|
23
|
+
* @param {Buffer} pdfStream - PDF stream to be downloaded.
|
|
24
|
+
* @param {Function} renderingMethod - Function to customize the parsing process.
|
|
25
|
+
* @returns {String} The parsed PDF text.
|
|
26
|
+
* @see <a href="TODO">Parse PDF</a>
|
|
27
|
+
* @example await util.file.parsePdf(pdfStream, customRenderingMethod);
|
|
28
|
+
*/
|
|
29
|
+
parsePdf(pdfStream: Buffer, renderingMethod?: Function): Promise<String>;
|
|
30
|
+
/**
|
|
31
|
+
* @function expectPdfContainsText
|
|
32
|
+
* @memberOf util.file
|
|
33
|
+
* @description Parses the PDF and checks for given text to be contained in PDF.
|
|
34
|
+
* @param {Buffer} pdfStream - PDF stream to be downloaded.
|
|
35
|
+
* @param {String} text - The expected text.
|
|
36
|
+
* @param {Function} renderingMethod - Function to customize the parsing process.
|
|
37
|
+
* @see <a href="TODO">Parse pdf</a>
|
|
38
|
+
* @example await util.file.expectPdfContainsText(pdfStream, "abc");
|
|
39
|
+
*/
|
|
40
|
+
expectPdfContainsText(pdfStream: Buffer, text: string, renderingMethod?: Function): Promise<any>;
|
|
41
|
+
/**
|
|
42
|
+
* @function expectPdfNotContainsText
|
|
43
|
+
* @memberOf util.file
|
|
44
|
+
* @description Parses the PDF and checks for given text not to be contained in PDF.
|
|
45
|
+
* @param {Buffer} pdfStream - PDF stream to be downloaded
|
|
46
|
+
* @param {String} text - The text expected to be not contained in the PDF.
|
|
47
|
+
* @param {Function} renderingMethod - Function to customize the parsing process.
|
|
48
|
+
* @see <a href="TODO">Parse pdf</a>
|
|
49
|
+
* @example await util.file.expectPdfNotContainsText(pdfStream, "abc");
|
|
50
|
+
*/
|
|
51
|
+
expectPdfNotContainsText(pdfStream: Buffer, text: string, renderingMethod?: Function): Promise<boolean>;
|
|
52
|
+
private _renderPage;
|
|
53
|
+
}
|
|
54
|
+
declare const _default: File;
|
|
55
|
+
export default _default;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.File = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class file
|
|
15
|
+
* @memberof util
|
|
16
|
+
*/
|
|
17
|
+
class File {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.path = require("path");
|
|
20
|
+
this.pdf = require("pdf-parse");
|
|
21
|
+
}
|
|
22
|
+
// =================================== UPLOAD ===================================
|
|
23
|
+
/**
|
|
24
|
+
* @function upload
|
|
25
|
+
* @memberOf util.file
|
|
26
|
+
* @description Uploads all the file/s by the paths given in the Array.
|
|
27
|
+
* @param {String[]} files - Array with path/s of file/s to be uploaded.
|
|
28
|
+
* @param {String} [selector="input[type='file']"] - Custom selector of uploader control (in case there are more then one present).
|
|
29
|
+
* @example await util.file.upload(["path/to/text1.txt", "path/to/text2.txt"]); // uses the default uploader control
|
|
30
|
+
* @example await util.file.upload(["path/to/text1.txt", "path/to/text2.txt"], "input[id='myUpload']"); // upload to file uploader with matching selector
|
|
31
|
+
*/
|
|
32
|
+
upload(files, selector = "input[type = 'file']") {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
let elem;
|
|
35
|
+
try {
|
|
36
|
+
if (typeof selector === "string") {
|
|
37
|
+
elem = yield $(selector);
|
|
38
|
+
const isDisplayed = yield elem.isDisplayed();
|
|
39
|
+
if (!isDisplayed) {
|
|
40
|
+
yield browser.execute(function (selector) {
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
document.querySelector(selector).style.visibility = "visible";
|
|
43
|
+
}, selector);
|
|
44
|
+
yield elem.waitForDisplayed();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (typeof selector === "object") {
|
|
48
|
+
const elemId = yield ui5.element.getId(selector);
|
|
49
|
+
elem = yield nonUi5.element.getByXPath(`.//input[contains(@id,'${elemId}')][@type='file']`);
|
|
50
|
+
}
|
|
51
|
+
for (const file of files) {
|
|
52
|
+
const filePath = this.path.resolve(file);
|
|
53
|
+
const remoteFilePath = yield browser.uploadFile(filePath);
|
|
54
|
+
yield elem.setValue(remoteFilePath);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw new Error(`Function 'upload' failed': ${error}`);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
;
|
|
63
|
+
// =================================== PDF ===================================
|
|
64
|
+
/**
|
|
65
|
+
* @function parsePdf
|
|
66
|
+
* @memberOf util.file
|
|
67
|
+
* @description Parses the text from PDF stream. Returned text can be asserted to verify the PDF document content.
|
|
68
|
+
* @param {Buffer} pdfStream - PDF stream to be downloaded.
|
|
69
|
+
* @param {Function} renderingMethod - Function to customize the parsing process.
|
|
70
|
+
* @returns {String} The parsed PDF text.
|
|
71
|
+
* @see <a href="TODO">Parse PDF</a>
|
|
72
|
+
* @example await util.file.parsePdf(pdfStream, customRenderingMethod);
|
|
73
|
+
*/
|
|
74
|
+
parsePdf(pdfStream, renderingMethod = this._renderPage) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
if (typeof renderingMethod !== "function") {
|
|
77
|
+
throw new Error("Function 'parsePdf' failed: Please provide a custom rendering method as second parameter.");
|
|
78
|
+
}
|
|
79
|
+
const options = {
|
|
80
|
+
pagerender: renderingMethod,
|
|
81
|
+
};
|
|
82
|
+
// @ts-ignore
|
|
83
|
+
const data = yield this.pdf(pdfStream, options);
|
|
84
|
+
return data.text;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @function expectPdfContainsText
|
|
89
|
+
* @memberOf util.file
|
|
90
|
+
* @description Parses the PDF and checks for given text to be contained in PDF.
|
|
91
|
+
* @param {Buffer} pdfStream - PDF stream to be downloaded.
|
|
92
|
+
* @param {String} text - The expected text.
|
|
93
|
+
* @param {Function} renderingMethod - Function to customize the parsing process.
|
|
94
|
+
* @see <a href="TODO">Parse pdf</a>
|
|
95
|
+
* @example await util.file.expectPdfContainsText(pdfStream, "abc");
|
|
96
|
+
*/
|
|
97
|
+
expectPdfContainsText(pdfStream, text, renderingMethod = this._renderPage) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
if (!text) {
|
|
100
|
+
throw new Error("Function 'expectPdfContainsText' failed: Please provide a text as second parameter.");
|
|
101
|
+
}
|
|
102
|
+
const parsedText = yield this.parsePdf(pdfStream, renderingMethod);
|
|
103
|
+
return expect(parsedText).toContain(text);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @function expectPdfNotContainsText
|
|
108
|
+
* @memberOf util.file
|
|
109
|
+
* @description Parses the PDF and checks for given text not to be contained in PDF.
|
|
110
|
+
* @param {Buffer} pdfStream - PDF stream to be downloaded
|
|
111
|
+
* @param {String} text - The text expected to be not contained in the PDF.
|
|
112
|
+
* @param {Function} renderingMethod - Function to customize the parsing process.
|
|
113
|
+
* @see <a href="TODO">Parse pdf</a>
|
|
114
|
+
* @example await util.file.expectPdfNotContainsText(pdfStream, "abc");
|
|
115
|
+
*/
|
|
116
|
+
expectPdfNotContainsText(pdfStream, text, renderingMethod = this._renderPage) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
if (!text) {
|
|
119
|
+
throw new Error("Function 'expectPdfNotContainsText' failed: Please provide a text as second parameter.");
|
|
120
|
+
}
|
|
121
|
+
const parsedText = yield this.parsePdf(pdfStream, renderingMethod);
|
|
122
|
+
return expect(parsedText).not.toContain(text);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// =================================== HELPER ===================================
|
|
126
|
+
_renderPage(pageData) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
// should be in scope of render page due to library specific implementation
|
|
129
|
+
const _parseText = function (textContent) {
|
|
130
|
+
if (textContent === undefined || textContent === null || !textContent.items || !Array.isArray(textContent.items)) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
let lastY, text = "";
|
|
134
|
+
for (const item of textContent.items) {
|
|
135
|
+
if (Array.isArray(item.transform) && item.transform.length === 6) {
|
|
136
|
+
if (lastY == item.transform[5] || !lastY) {
|
|
137
|
+
text += " " + item.str;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
text += "\n" + item.str;
|
|
141
|
+
}
|
|
142
|
+
lastY = item.transform[5];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return text;
|
|
146
|
+
};
|
|
147
|
+
const render_options = {
|
|
148
|
+
// replaces all occurrences of whitespace with standard spaces (0x20). The default value is `false`.
|
|
149
|
+
normalizeWhitespace: false,
|
|
150
|
+
// do not attempt to combine same line TextItem's. The default value is `false`.
|
|
151
|
+
disableCombineTextItems: false,
|
|
152
|
+
};
|
|
153
|
+
return pageData.getTextContent(render_options).then(_parseText);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.File = File;
|
|
158
|
+
exports.default = new File();
|
|
159
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/file.ts"],"names":[],"mappings":"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"}
|