@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.
Files changed (625) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.yml +33 -0
  3. package/.reuse/dep5 +29 -0
  4. package/LICENSE +201 -0
  5. package/LICENSES/Apache-2.0.txt +73 -0
  6. package/README.md +20 -0
  7. package/docs/contact.md +10 -0
  8. package/docs/doc.md +5188 -0
  9. package/docs/gettingStarted/selectors.md +168 -0
  10. package/docs/gettingStarted/setup.md +8 -0
  11. package/docs/index.md +14 -0
  12. package/docs/style/custom.css +24 -0
  13. package/lib/index.d.ts +1 -0
  14. package/lib/index.js +171 -0
  15. package/lib/index.js.map +1 -0
  16. package/lib/reuse/authenticator/authConfig.d.ts +54 -0
  17. package/lib/reuse/authenticator/authConfig.js +55 -0
  18. package/lib/reuse/authenticator/authConfig.js.map +1 -0
  19. package/lib/reuse/authenticator/authHandler.d.ts +6 -0
  20. package/lib/reuse/authenticator/authHandler.js +37 -0
  21. package/lib/reuse/authenticator/authHandler.js.map +1 -0
  22. package/lib/reuse/authenticator/basicUrlAuthenticator.d.ts +2 -0
  23. package/lib/reuse/authenticator/basicUrlAuthenticator.js +36 -0
  24. package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -0
  25. package/lib/reuse/authenticator/customAuthenticator.d.ts +2 -0
  26. package/lib/reuse/authenticator/customAuthenticator.js +60 -0
  27. package/lib/reuse/authenticator/customAuthenticator.js.map +1 -0
  28. package/lib/reuse/authenticator/formAuthenticator.d.ts +2 -0
  29. package/lib/reuse/authenticator/formAuthenticator.js +57 -0
  30. package/lib/reuse/authenticator/formAuthenticator.js.map +1 -0
  31. package/lib/reuse/authenticator/plainAuthenticator.d.ts +2 -0
  32. package/lib/reuse/authenticator/plainAuthenticator.js +20 -0
  33. package/lib/reuse/authenticator/plainAuthenticator.js.map +1 -0
  34. package/lib/reuse/data/authenticators.json +16 -0
  35. package/lib/reuse/helper/clientsideUI5scripts.d.ts +1 -0
  36. package/lib/reuse/helper/clientsideUI5scripts.js +388 -0
  37. package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -0
  38. package/lib/reuse/helper/jsDocGen.d.ts +1 -0
  39. package/lib/reuse/helper/jsDocGen.js +45 -0
  40. package/lib/reuse/helper/jsDocGen.js.map +1 -0
  41. package/lib/reuse/index.d.ts +5 -0
  42. package/lib/reuse/index.js +89 -0
  43. package/lib/reuse/index.js.map +1 -0
  44. package/lib/reuse/modules/common/Common.d.ts +12 -0
  45. package/lib/reuse/modules/common/Common.js +21 -0
  46. package/lib/reuse/modules/common/Common.js.map +1 -0
  47. package/lib/reuse/modules/common/assertion.d.ts +65 -0
  48. package/lib/reuse/modules/common/assertion.js +91 -0
  49. package/lib/reuse/modules/common/assertion.js.map +1 -0
  50. package/lib/reuse/modules/common/constants/date.constants.d.ts +8 -0
  51. package/lib/reuse/modules/common/constants/date.constants.js +13 -0
  52. package/lib/reuse/modules/common/constants/date.constants.js.map +1 -0
  53. package/lib/reuse/modules/common/constants/userInteraction.constants.d.ts +9 -0
  54. package/lib/reuse/modules/common/constants/userInteraction.constants.js +14 -0
  55. package/lib/reuse/modules/common/constants/userInteraction.constants.js.map +1 -0
  56. package/lib/reuse/modules/common/date.d.ts +84 -0
  57. package/lib/reuse/modules/common/date.js +164 -0
  58. package/lib/reuse/modules/common/date.js.map +1 -0
  59. package/lib/reuse/modules/common/navigation.d.ts +26 -0
  60. package/lib/reuse/modules/common/navigation.js +56 -0
  61. package/lib/reuse/modules/common/navigation.js.map +1 -0
  62. package/lib/reuse/modules/common/types/date.types.d.ts +2 -0
  63. package/lib/reuse/modules/common/types/date.types.js +3 -0
  64. package/lib/reuse/modules/common/types/date.types.js.map +1 -0
  65. package/lib/reuse/modules/common/userInteraction.d.ts +104 -0
  66. package/lib/reuse/modules/common/userInteraction.js +199 -0
  67. package/lib/reuse/modules/common/userInteraction.js.map +1 -0
  68. package/lib/reuse/modules/nonUi5/NonUi5.d.ts +12 -0
  69. package/lib/reuse/modules/nonUi5/NonUi5.js +21 -0
  70. package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -0
  71. package/lib/reuse/modules/nonUi5/assertion.d.ts +62 -0
  72. package/lib/reuse/modules/nonUi5/assertion.js +127 -0
  73. package/lib/reuse/modules/nonUi5/assertion.js.map +1 -0
  74. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.d.ts +6 -0
  75. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js +11 -0
  76. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js.map +1 -0
  77. package/lib/reuse/modules/nonUi5/element.d.ts +286 -0
  78. package/lib/reuse/modules/nonUi5/element.js +639 -0
  79. package/lib/reuse/modules/nonUi5/element.js.map +1 -0
  80. package/lib/reuse/modules/nonUi5/navigation.d.ts +17 -0
  81. package/lib/reuse/modules/nonUi5/navigation.js +44 -0
  82. package/lib/reuse/modules/nonUi5/navigation.js.map +1 -0
  83. package/lib/reuse/modules/nonUi5/userInteraction.d.ts +170 -0
  84. package/lib/reuse/modules/nonUi5/userInteraction.js +415 -0
  85. package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -0
  86. package/lib/reuse/modules/service/Service.d.ts +8 -0
  87. package/lib/reuse/modules/service/Service.js +17 -0
  88. package/lib/reuse/modules/service/Service.js.map +1 -0
  89. package/lib/reuse/modules/service/odata.d.ts +177 -0
  90. package/lib/reuse/modules/service/odata.js +347 -0
  91. package/lib/reuse/modules/service/odata.js.map +1 -0
  92. package/lib/reuse/modules/service/rest.d.ts +66 -0
  93. package/lib/reuse/modules/service/rest.js +168 -0
  94. package/lib/reuse/modules/service/rest.js.map +1 -0
  95. package/lib/reuse/modules/service/soap.d.ts +0 -0
  96. package/lib/reuse/modules/service/soap.js +2 -0
  97. package/lib/reuse/modules/service/soap.js.map +1 -0
  98. package/lib/reuse/modules/ui5/Ui5.d.ts +34 -0
  99. package/lib/reuse/modules/ui5/Ui5.js +41 -0
  100. package/lib/reuse/modules/ui5/Ui5.js.map +1 -0
  101. package/lib/reuse/modules/ui5/assertion.d.ts +183 -0
  102. package/lib/reuse/modules/ui5/assertion.js +493 -0
  103. package/lib/reuse/modules/ui5/assertion.js.map +1 -0
  104. package/lib/reuse/modules/ui5/confirmationDialog.d.ts +86 -0
  105. package/lib/reuse/modules/ui5/confirmationDialog.js +145 -0
  106. package/lib/reuse/modules/ui5/confirmationDialog.js.map +1 -0
  107. package/lib/reuse/modules/ui5/constants/mockserver.constants.d.ts +4 -0
  108. package/lib/reuse/modules/ui5/constants/mockserver.constants.js +9 -0
  109. package/lib/reuse/modules/ui5/constants/mockserver.constants.js.map +1 -0
  110. package/lib/reuse/modules/ui5/control.d.ts +84 -0
  111. package/lib/reuse/modules/ui5/control.js +132 -0
  112. package/lib/reuse/modules/ui5/control.js.map +1 -0
  113. package/lib/reuse/modules/ui5/date.d.ts +48 -0
  114. package/lib/reuse/modules/ui5/date.js +153 -0
  115. package/lib/reuse/modules/ui5/date.js.map +1 -0
  116. package/lib/reuse/modules/ui5/element.d.ts +160 -0
  117. package/lib/reuse/modules/ui5/element.js +349 -0
  118. package/lib/reuse/modules/ui5/element.js.map +1 -0
  119. package/lib/reuse/modules/ui5/errorDialog.d.ts +39 -0
  120. package/lib/reuse/modules/ui5/errorDialog.js +65 -0
  121. package/lib/reuse/modules/ui5/errorDialog.js.map +1 -0
  122. package/lib/reuse/modules/ui5/footerBar.d.ts +153 -0
  123. package/lib/reuse/modules/ui5/footerBar.js +240 -0
  124. package/lib/reuse/modules/ui5/footerBar.js.map +1 -0
  125. package/lib/reuse/modules/ui5/mockserver.d.ts +154 -0
  126. package/lib/reuse/modules/ui5/mockserver.js +665 -0
  127. package/lib/reuse/modules/ui5/mockserver.js.map +1 -0
  128. package/lib/reuse/modules/ui5/navigation.d.ts +103 -0
  129. package/lib/reuse/modules/ui5/navigation.js +275 -0
  130. package/lib/reuse/modules/ui5/navigation.js.map +1 -0
  131. package/lib/reuse/modules/ui5/navigationBar.d.ts +48 -0
  132. package/lib/reuse/modules/ui5/navigationBar.js +141 -0
  133. package/lib/reuse/modules/ui5/navigationBar.js.map +1 -0
  134. package/lib/reuse/modules/ui5/qunit.d.ts +17 -0
  135. package/lib/reuse/modules/ui5/qunit.js +52 -0
  136. package/lib/reuse/modules/ui5/qunit.js.map +1 -0
  137. package/lib/reuse/modules/ui5/session.d.ts +117 -0
  138. package/lib/reuse/modules/ui5/session.js +374 -0
  139. package/lib/reuse/modules/ui5/session.js.map +1 -0
  140. package/lib/reuse/modules/ui5/table.d.ts +61 -0
  141. package/lib/reuse/modules/ui5/table.js +188 -0
  142. package/lib/reuse/modules/ui5/table.js.map +1 -0
  143. package/lib/reuse/modules/ui5/types/mockserver.types.d.ts +2 -0
  144. package/lib/reuse/modules/ui5/types/mockserver.types.js +3 -0
  145. package/lib/reuse/modules/ui5/types/mockserver.types.js.map +1 -0
  146. package/lib/reuse/modules/ui5/userInteraction.d.ts +304 -0
  147. package/lib/reuse/modules/ui5/userInteraction.js +690 -0
  148. package/lib/reuse/modules/ui5/userInteraction.js.map +1 -0
  149. package/lib/reuse/modules/util/Util.d.ts +22 -0
  150. package/lib/reuse/modules/util/Util.js +27 -0
  151. package/lib/reuse/modules/util/Util.js.map +1 -0
  152. package/lib/reuse/modules/util/browser.d.ts +167 -0
  153. package/lib/reuse/modules/util/browser.js +367 -0
  154. package/lib/reuse/modules/util/browser.js.map +1 -0
  155. package/lib/reuse/modules/util/console.d.ts +56 -0
  156. package/lib/reuse/modules/util/console.js +152 -0
  157. package/lib/reuse/modules/util/console.js.map +1 -0
  158. package/lib/reuse/modules/util/constants/formatter.constants.d.ts +11 -0
  159. package/lib/reuse/modules/util/constants/formatter.constants.js +16 -0
  160. package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -0
  161. package/lib/reuse/modules/util/data.d.ts +36 -0
  162. package/lib/reuse/modules/util/data.js +87 -0
  163. package/lib/reuse/modules/util/data.js.map +1 -0
  164. package/lib/reuse/modules/util/file.d.ts +55 -0
  165. package/lib/reuse/modules/util/file.js +159 -0
  166. package/lib/reuse/modules/util/file.js.map +1 -0
  167. package/lib/reuse/modules/util/formatter.d.ts +90 -0
  168. package/lib/reuse/modules/util/formatter.js +210 -0
  169. package/lib/reuse/modules/util/formatter.js.map +1 -0
  170. package/lib/reuse/modules/util/function.d.ts +48 -0
  171. package/lib/reuse/modules/util/function.js +161 -0
  172. package/lib/reuse/modules/util/function.js.map +1 -0
  173. package/lib/reuse/modules/util/system.d.ts +17 -0
  174. package/lib/reuse/modules/util/system.js +58 -0
  175. package/lib/reuse/modules/util/system.js.map +1 -0
  176. package/lib/reuse/modules/util/types/formatter.types.d.ts +2 -0
  177. package/lib/reuse/modules/util/types/formatter.types.js +3 -0
  178. package/lib/reuse/modules/util/types/formatter.types.js.map +1 -0
  179. package/lib/scripts/clientsideUI5scripts.d.ts +1 -0
  180. package/lib/scripts/clientsideUI5scripts.js +315 -0
  181. package/lib/scripts/clientsideUI5scripts.js.map +1 -0
  182. package/lib/scripts/dataExchange/dataExchange.d.ts +1 -0
  183. package/lib/scripts/dataExchange/dataExchange.js +224 -0
  184. package/lib/scripts/dataExchange/dataExchange.js.map +1 -0
  185. package/lib/scripts/dataExchange/dataExchangeUtil.d.ts +63 -0
  186. package/lib/scripts/dataExchange/dataExchangeUtil.js +211 -0
  187. package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -0
  188. package/lib/scripts/hooks/after.d.ts +8 -0
  189. package/lib/scripts/hooks/after.js +30 -0
  190. package/lib/scripts/hooks/after.js.map +1 -0
  191. package/lib/scripts/hooks/before.d.ts +8 -0
  192. package/lib/scripts/hooks/before.js +38 -0
  193. package/lib/scripts/hooks/before.js.map +1 -0
  194. package/lib/scripts/hooks/beforeSession.d.ts +8 -0
  195. package/lib/scripts/hooks/beforeSession.js +37 -0
  196. package/lib/scripts/hooks/beforeSession.js.map +1 -0
  197. package/lib/scripts/hooks/onComplete.d.ts +9 -0
  198. package/lib/scripts/hooks/onComplete.js +31 -0
  199. package/lib/scripts/hooks/onComplete.js.map +1 -0
  200. package/lib/scripts/hooks/onPrepare.d.ts +6 -0
  201. package/lib/scripts/hooks/onPrepare.js +36 -0
  202. package/lib/scripts/hooks/onPrepare.js.map +1 -0
  203. package/lib/scripts/hooks/utils/addLocatorCommands.d.ts +2 -0
  204. package/lib/scripts/hooks/utils/addLocatorCommands.js +193 -0
  205. package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -0
  206. package/lib/scripts/hooks/utils/browserLog.d.ts +2 -0
  207. package/lib/scripts/hooks/utils/browserLog.js +39 -0
  208. package/lib/scripts/hooks/utils/browserLog.js.map +1 -0
  209. package/lib/scripts/hooks/utils/dataExchangeCommands.d.ts +9 -0
  210. package/lib/scripts/hooks/utils/dataExchangeCommands.js +46 -0
  211. package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -0
  212. package/lib/scripts/hooks/utils/decryption.d.ts +13 -0
  213. package/lib/scripts/hooks/utils/decryption.js +90 -0
  214. package/lib/scripts/hooks/utils/decryption.js.map +1 -0
  215. package/lib/scripts/hooks/utils/lib.d.ts +4 -0
  216. package/lib/scripts/hooks/utils/lib.js +330 -0
  217. package/lib/scripts/hooks/utils/lib.js.map +1 -0
  218. package/lib/scripts/hooks/utils/locatorCommands.d.ts +10 -0
  219. package/lib/scripts/hooks/utils/locatorCommands.js +216 -0
  220. package/lib/scripts/hooks/utils/locatorCommands.js.map +1 -0
  221. package/lib/scripts/locators/qmateLocator.d.ts +1 -0
  222. package/lib/scripts/locators/qmateLocator.js +1384 -0
  223. package/lib/scripts/locators/qmateLocator.js.map +1 -0
  224. package/lib/scripts/locators/uiveri5Locator.d.ts +1 -0
  225. package/lib/scripts/locators/uiveri5Locator.js +21 -0
  226. package/lib/scripts/locators/uiveri5Locator.js.map +1 -0
  227. package/mkdocs.yml +53 -0
  228. package/package.json +152 -0
  229. package/test/.eslintrc.yml +6 -0
  230. package/test/authenticator/package.json +13 -0
  231. package/test/authenticator/staticLogin/configCustom.js +22 -0
  232. package/test/authenticator/staticLogin/configCustomViaConfig.js +20 -0
  233. package/test/authenticator/staticLogin/configFiori.js +19 -0
  234. package/test/authenticator/staticLogin/configPlain.js +17 -0
  235. package/test/authenticator/staticLogin/configSapCloud.js +18 -0
  236. package/test/authenticator/staticLogin/html/custom.html +10 -0
  237. package/test/authenticator/staticLogin/html/fiori.html +10 -0
  238. package/test/authenticator/staticLogin/html/home.html +7 -0
  239. package/test/authenticator/staticLogin/html/sapCloud.html +10 -0
  240. package/test/authenticator/staticLogin/specs/custom.spec.js +6 -0
  241. package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +10 -0
  242. package/test/authenticator/staticLogin/specs/fiori.spec.js +6 -0
  243. package/test/authenticator/staticLogin/specs/plain.spec.js +64 -0
  244. package/test/authenticator/staticLogin/specs/sapCloud.spec.js +6 -0
  245. package/test/authenticator/staticLogin/staticServerConfig.js +20 -0
  246. package/test/authenticator/systemLogin/configCustom.js +26 -0
  247. package/test/authenticator/systemLogin/configFiori.js +24 -0
  248. package/test/authenticator/systemLogin/configPlain.js +22 -0
  249. package/test/authenticator/systemLogin/configSapCloud.js +24 -0
  250. package/test/authenticator/systemLogin/specs/custom.spec.js +13 -0
  251. package/test/authenticator/systemLogin/specs/fiori.spec.js +12 -0
  252. package/test/authenticator/systemLogin/specs/plain.spec.js +21 -0
  253. package/test/authenticator/systemLogin/specs/sapCloud.spec.js +13 -0
  254. package/test/core/README.md +17 -0
  255. package/test/core/dataExchange/config.export.js +56 -0
  256. package/test/core/dataExchange/config.import.js +47 -0
  257. package/test/core/dataExchange/config.js +52 -0
  258. package/test/core/dataExchange/config.parallel.group.js +61 -0
  259. package/test/core/dataExchange/config.parallel.js +58 -0
  260. package/test/core/dataExchange/data/another/folder/data/anotherFolder/dummy1.txt +0 -0
  261. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +29 -0
  262. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +67 -0
  263. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +31 -0
  264. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +29 -0
  265. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +58 -0
  266. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +27 -0
  267. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +65 -0
  268. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +39 -0
  269. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +67 -0
  270. package/test/core/dataExchange/data/my/folder/data/qs9/data.json +5 -0
  271. package/test/core/dataExchange/data/my/folder/data/qs9/dummy1.txt +0 -0
  272. package/test/core/dataExchange/data/my/folder/data/qs9/dummy2.txt +0 -0
  273. package/test/core/dataExchange/data/my/folder/data/qs9/empty.json +0 -0
  274. package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +31 -0
  275. package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +17 -0
  276. package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +6 -0
  277. package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +6 -0
  278. package/test/core/dataExchange/data/ui/user.json +6 -0
  279. package/test/core/dataExchange/data/ui/webUser.json +6 -0
  280. package/test/core/dataExchange/specs/export.fast.spec.js +48 -0
  281. package/test/core/dataExchange/specs/export.slow.spec.js +50 -0
  282. package/test/core/dataExchange/specs/export.spec.js +103 -0
  283. package/test/core/dataExchange/specs/import.spec.js +144 -0
  284. package/test/core/dataExchange/specs/importExport.spec.js +196 -0
  285. package/test/core/dataExchange/utils.js +160 -0
  286. package/test/core/functional/README.md +30 -0
  287. package/test/core/functional/chaining/chaining.test.js +137 -0
  288. package/test/core/functional/chaining/test.conf.js +31 -0
  289. package/test/core/functional/locators/ancestorProperties.test.js +99 -0
  290. package/test/core/functional/locators/childProperties.test.js +40 -0
  291. package/test/core/functional/locators/descendantProperties.test.js +107 -0
  292. package/test/core/functional/locators/domProperties.test.js +60 -0
  293. package/test/core/functional/locators/elementProperties.test.js +114 -0
  294. package/test/core/functional/locators/mixedProperties.test.js +170 -0
  295. package/test/core/functional/locators/parentProperties.test.js +47 -0
  296. package/test/core/functional/locators/siblingProperties.test.js +120 -0
  297. package/test/core/functional/locators/test.locator.conf.js +38 -0
  298. package/test/core/functional/locators/utils.js +6 -0
  299. package/test/core/functional/nativeBrowser/runInBrowser.test.js +111 -0
  300. package/test/core/functional/nativeBrowser/test.conf.js +31 -0
  301. package/test/core/functional/nonUi5/basic.test.js +10 -0
  302. package/test/core/functional/nonUi5/getWithDomElement.test.js +51 -0
  303. package/test/core/functional/nonUi5/getWithDomElements.test.js +141 -0
  304. package/test/core/functional/nonUi5/test.conf.js +32 -0
  305. package/test/core/functional/ui5Properties/getAggregations.test.js +102 -0
  306. package/test/core/functional/ui5Properties/getAssociations.test.js +24 -0
  307. package/test/core/functional/ui5Properties/getBindingInfos.test.js +71 -0
  308. package/test/core/functional/ui5Properties/getProperties.test.js +226 -0
  309. package/test/core/functional/ui5Properties/test.conf.js +16 -0
  310. package/test/core/functional/uiveri5/sample.test.js +61 -0
  311. package/test/core/functional/uiveri5/test.conf.js +31 -0
  312. package/test/core/package-lock.json +0 -0
  313. package/test/core/package.json +12 -0
  314. package/test/core/testIntegration/config.js +17 -0
  315. package/test/core/testIntegration/configMultiCombo.js +17 -0
  316. package/test/core/testIntegration/configTable.js +18 -0
  317. package/test/core/testIntegration/filters1.spec.js +1849 -0
  318. package/test/core/testIntegration/multicombobox.spec.js +134 -0
  319. package/test/core/testIntegration/table.spec.js +80 -0
  320. package/test/helper/configurations/base.conf.js +43 -0
  321. package/test/helper/configurations/chrome.conf.js +47 -0
  322. package/test/helper/configurations/chrome.headless.conf.js +45 -0
  323. package/test/helper/configurations/sauce.labs.conf.js +37 -0
  324. package/test/helper/configurations/sauce.labs.tunnel.conf.js +39 -0
  325. package/test/helper/sleeper.js +19 -0
  326. package/test/helper/utils.js +15 -0
  327. package/test/helper/website/buttons.html +85 -0
  328. package/test/helper/website/checkBox.html +83 -0
  329. package/test/helper/website/dragAndDropFailing.html +83 -0
  330. package/test/helper/website/dragAndDropWdioExample.html +41 -0
  331. package/test/helper/website/dropdown.html +78 -0
  332. package/test/helper/website/forms.html +82 -0
  333. package/test/helper/website/hiddenAndVisible.html +60 -0
  334. package/test/helper/website/main.css +36 -0
  335. package/test/helper/website/scrollPage.html +261 -0
  336. package/test/helper/website/style.css +52 -0
  337. package/test/helper/website/tables.html +140 -0
  338. package/test/helper/website/waitForElements.html +73 -0
  339. package/test/reuse/common/assertion/expectDefined.spec.js +11 -0
  340. package/test/reuse/common/assertion/expectEqual.spec.js +52 -0
  341. package/test/reuse/common/assertion/expectFalse.spec.js +9 -0
  342. package/test/reuse/common/assertion/expectTrue.spec.js +9 -0
  343. package/test/reuse/common/assertion/expectUndefined.spec.js +11 -0
  344. package/test/reuse/common/assertion/expectUnequal.spec.js +25 -0
  345. package/test/reuse/common/assertion/expectUrlToBe.spec.js +27 -0
  346. package/test/reuse/common/assertion/test.assertion.conf.js +59 -0
  347. package/test/reuse/common/date/calculate.spec.js +163 -0
  348. package/test/reuse/common/date/getNextMonth.spec.js +105 -0
  349. package/test/reuse/common/date/getNextYear.spec.js +72 -0
  350. package/test/reuse/common/date/getPreviousMonth.spec.js +71 -0
  351. package/test/reuse/common/date/getPreviousYear.spec.js +72 -0
  352. package/test/reuse/common/date/getSpecific.spec.js +63 -0
  353. package/test/reuse/common/date/getToday.spec.js +78 -0
  354. package/test/reuse/common/date/getTomorrow.spec.js +72 -0
  355. package/test/reuse/common/date/test.date.conf.js +19 -0
  356. package/test/reuse/common/date/utils.js +6 -0
  357. package/test/reuse/common/navigation/navigateToUrl.spec.js +28 -0
  358. package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +27 -0
  359. package/test/reuse/common/navigation/test.navigation.conf.js +25 -0
  360. package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +100 -0
  361. package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +106 -0
  362. package/test/reuse/common/userInteraction/fillActive.spec.js +230 -0
  363. package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +172 -0
  364. package/test/reuse/common/userInteraction/pressKey.spec.js +105 -0
  365. package/test/reuse/common/userInteraction/test.userInteraction.conf.js +53 -0
  366. package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +45 -0
  367. package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +43 -0
  368. package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +37 -0
  369. package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +63 -0
  370. package/test/reuse/nonUi5/assertion/expectValueToBe.spec.js +25 -0
  371. package/test/reuse/nonUi5/assertion/test.assertion.conf.js +60 -0
  372. package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +64 -0
  373. package/test/reuse/nonUi5/element/getAllDisplayed.spec.js +39 -0
  374. package/test/reuse/nonUi5/element/getAttributeValue.spec.js +58 -0
  375. package/test/reuse/nonUi5/element/getByChild.spec.js +70 -0
  376. package/test/reuse/nonUi5/element/getByClass.spec.js +64 -0
  377. package/test/reuse/nonUi5/element/getByCss.spec.js +65 -0
  378. package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +83 -0
  379. package/test/reuse/nonUi5/element/getById.spec.js +35 -0
  380. package/test/reuse/nonUi5/element/getByName.spec.js +30 -0
  381. package/test/reuse/nonUi5/element/getByParent.spec.js +71 -0
  382. package/test/reuse/nonUi5/element/getByXPath.spec.js +30 -0
  383. package/test/reuse/nonUi5/element/getValue.spec.js +51 -0
  384. package/test/reuse/nonUi5/element/highlight.spec.js +18 -0
  385. package/test/reuse/nonUi5/element/isPresent.spec.js +39 -0
  386. package/test/reuse/nonUi5/element/isPresentByCss.spec.js +73 -0
  387. package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +31 -0
  388. package/test/reuse/nonUi5/element/setInnerHTML.spec.js +23 -0
  389. package/test/reuse/nonUi5/element/test.element.conf.js +55 -0
  390. package/test/reuse/nonUi5/element/test.element.sauceLabs.conf.js +58 -0
  391. package/test/reuse/nonUi5/element/waitForAll.spec.js +24 -0
  392. package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +24 -0
  393. package/test/reuse/nonUi5/element/waitToBePresent.spec.js +32 -0
  394. package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +36 -0
  395. package/test/reuse/nonUi5/navigation/navigateToApplication.spec.js +13 -0
  396. package/test/reuse/nonUi5/navigation/test.navigation.conf.js +14 -0
  397. package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +135 -0
  398. package/test/reuse/nonUi5/userInteraction/clear.spec.js +43 -0
  399. package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +51 -0
  400. package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +58 -0
  401. package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +43 -0
  402. package/test/reuse/nonUi5/userInteraction/click.spec.js +60 -0
  403. package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +60 -0
  404. package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +24 -0
  405. package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +22 -0
  406. package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +40 -0
  407. package/test/reuse/nonUi5/userInteraction/fill.spec.js +37 -0
  408. package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +39 -0
  409. package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +36 -0
  410. package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +24 -0
  411. package/test/reuse/nonUi5/userInteraction/rightClick.spec.js +13 -0
  412. package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +35 -0
  413. package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +72 -0
  414. package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +78 -0
  415. package/test/reuse/service/rest/db.json +8 -0
  416. package/test/reuse/service/rest/delete.spec.js +20 -0
  417. package/test/reuse/service/rest/get.spec.js +19 -0
  418. package/test/reuse/service/rest/init.spec.js +35 -0
  419. package/test/reuse/service/rest/patch.spec.js +29 -0
  420. package/test/reuse/service/rest/post.spec.js +37 -0
  421. package/test/reuse/service/rest/test.rest.conf.js +18 -0
  422. package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +106 -0
  423. package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +78 -0
  424. package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +103 -0
  425. package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +164 -0
  426. package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +43 -0
  427. package/test/reuse/ui5/assertion/expectTextToBe.spec.js +39 -0
  428. package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +90 -0
  429. package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +62 -0
  430. package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +52 -0
  431. package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +69 -0
  432. package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +49 -0
  433. package/test/reuse/ui5/assertion/expectValidationError.spec.js +54 -0
  434. package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +53 -0
  435. package/test/reuse/ui5/assertion/expectValueToBe.spec.js +57 -0
  436. package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +35 -0
  437. package/test/reuse/ui5/assertion/test.assertion.conf.js +28 -0
  438. package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +37 -0
  439. package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +88 -0
  440. package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +3 -0
  441. package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +89 -0
  442. package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +96 -0
  443. package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +66 -0
  444. package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +3 -0
  445. package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +70 -0
  446. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +20 -0
  447. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +29 -0
  448. package/test/reuse/ui5/control/execute.spec.js +29 -0
  449. package/test/reuse/ui5/control/getAggregationProperty.spec.js +29 -0
  450. package/test/reuse/ui5/control/getAssociationProperty.spec.js +1 -0
  451. package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +30 -0
  452. package/test/reuse/ui5/control/getProperty.spec.js +30 -0
  453. package/test/reuse/ui5/control/getPropertyBinding.spec.js +30 -0
  454. package/test/reuse/ui5/control/test.control.conf.js +19 -0
  455. package/test/reuse/ui5/control/test.control.sauceLab.conf.js +30 -0
  456. package/test/reuse/ui5/date/fillRange.spec.js +53 -0
  457. package/test/reuse/ui5/date/pick.spec.js +136 -0
  458. package/test/reuse/ui5/date/pickRange.spec.js +143 -0
  459. package/test/reuse/ui5/date/test.date.conf.js +14 -0
  460. package/test/reuse/ui5/date/test.date.sauceLab.conf.js +26 -0
  461. package/test/reuse/ui5/element/getAllDisplayed.spec.js +71 -0
  462. package/test/reuse/ui5/element/getBindingValue.spec.js +78 -0
  463. package/test/reuse/ui5/element/getByChild.spec.js +124 -0
  464. package/test/reuse/ui5/element/getByParent.spec.js +134 -0
  465. package/test/reuse/ui5/element/getByText.spec.js +67 -0
  466. package/test/reuse/ui5/element/getDisplayed.spec.js +82 -0
  467. package/test/reuse/ui5/element/getId.spec.js +72 -0
  468. package/test/reuse/ui5/element/getPropertyValue.spec.js +91 -0
  469. package/test/reuse/ui5/element/highlight.spec.js +46 -0
  470. package/test/reuse/ui5/element/isVisible.spec.js +68 -0
  471. package/test/reuse/ui5/element/test.element.conf.js +22 -0
  472. package/test/reuse/ui5/element/test.element.sauceLab.conf.js +33 -0
  473. package/test/reuse/ui5/errorDialog/clickClose.spec.js +31 -0
  474. package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +30 -0
  475. package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +13 -0
  476. package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +26 -0
  477. package/test/reuse/ui5/formatter/addRemoveLeadingZeros.spec.js +18 -0
  478. package/test/reuse/ui5/formatter/extractNumberFromString.spec.js +34 -0
  479. package/test/reuse/ui5/formatter/formatDate.spec.js +103 -0
  480. package/test/reuse/ui5/formatter/test.formatter.conf.js +14 -0
  481. package/test/reuse/ui5/formatter/test.formatter.sauceLab.conf.js +24 -0
  482. package/test/reuse/ui5/mockserver_qunit/Component.js +23 -0
  483. package/test/reuse/ui5/mockserver_qunit/LICENSE.txt +957 -0
  484. package/test/reuse/ui5/mockserver_qunit/NOTICE.txt +1 -0
  485. package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +37 -0
  486. package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +30 -0
  487. package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +27 -0
  488. package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +34 -0
  489. package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +64 -0
  490. package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +22 -0
  491. package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +83 -0
  492. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +11 -0
  493. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +192 -0
  494. package/test/reuse/ui5/mockserver_qunit/i18n/i18n.properties +42 -0
  495. package/test/reuse/ui5/mockserver_qunit/index.html +21 -0
  496. package/test/reuse/ui5/mockserver_qunit/initMockServer.js +16 -0
  497. package/test/reuse/ui5/mockserver_qunit/localService/metadata.xml +61 -0
  498. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +155 -0
  499. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +65 -0
  500. package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +146 -0
  501. package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +75 -0
  502. package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -0
  503. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +63 -0
  504. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +68 -0
  505. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +92 -0
  506. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +14 -0
  507. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +11 -0
  508. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +71 -0
  509. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +204 -0
  510. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +114 -0
  511. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +11 -0
  512. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -0
  513. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +118 -0
  514. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +25 -0
  515. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +23 -0
  516. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +222 -0
  517. package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +6 -0
  518. package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +38 -0
  519. package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -0
  520. package/test/reuse/ui5/mockserver_qunit/view/App.view.xml +9 -0
  521. package/test/reuse/ui5/mockserver_qunit/view/Home.view.xml +12 -0
  522. package/test/reuse/ui5/mockserver_qunit/view/NotFound.view.xml +11 -0
  523. package/test/reuse/ui5/mockserver_qunit/view/employee/Employee.view.xml +52 -0
  524. package/test/reuse/ui5/mockserver_qunit/view/employee/EmployeeList.view.xml +24 -0
  525. package/test/reuse/ui5/mockserver_qunit/view/employee/Resume.view.xml +35 -0
  526. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeHobbies.view.xml +3 -0
  527. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeNotes.view.xml +3 -0
  528. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeProjects.view.xml +3 -0
  529. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverview.view.xml +13 -0
  530. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewContent.view.xml +43 -0
  531. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewTop.view.xml +3 -0
  532. package/test/reuse/ui5/navigation/closePopups.spec.js +16 -0
  533. package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +81 -0
  534. package/test/reuse/ui5/navigation/navigateToApplication.spec.js +148 -0
  535. package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +153 -0
  536. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +63 -0
  537. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +64 -0
  538. package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +45 -0
  539. package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +43 -0
  540. package/test/reuse/ui5/navigation/test.navigation.conf.js +17 -0
  541. package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +33 -0
  542. package/test/reuse/ui5/navigation/test.navigation.static.conf.js +34 -0
  543. package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +41 -0
  544. package/test/reuse/ui5/navigation/website/main.css +36 -0
  545. package/test/reuse/ui5/navigation/website/main.html +50 -0
  546. package/test/reuse/ui5/navigationBar/clickBack.spec.js +38 -0
  547. package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +36 -0
  548. package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +22 -0
  549. package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +22 -0
  550. package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +17 -0
  551. package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +28 -0
  552. package/test/reuse/ui5/session/login.spec.js +78 -0
  553. package/test/reuse/ui5/session/loginFiori.spec.js +52 -0
  554. package/test/reuse/ui5/session/loginSapCloud.spec.js +51 -0
  555. package/test/reuse/ui5/session/logout.spec.js +48 -0
  556. package/test/reuse/ui5/session/switchUser.spec.js +48 -0
  557. package/test/reuse/ui5/session/test.session.conf.js +20 -0
  558. package/test/reuse/ui5/session/test.session.sauceLab.conf.js +29 -0
  559. package/test/reuse/ui5/table/clickSettingsButton.spec.js +58 -0
  560. package/test/reuse/ui5/table/sortColumnAscending.spec.js +84 -0
  561. package/test/reuse/ui5/table/sortColumnDescending.spec.js +84 -0
  562. package/test/reuse/ui5/table/test.table.conf.js +14 -0
  563. package/test/reuse/ui5/table/test.table.sauceLab.conf.js +25 -0
  564. package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +25 -0
  565. package/test/reuse/ui5/userInteraction/clear.spec.js +75 -0
  566. package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +157 -0
  567. package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +132 -0
  568. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +73 -0
  569. package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +57 -0
  570. package/test/reuse/ui5/userInteraction/click.spec.js +73 -0
  571. package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +52 -0
  572. package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +87 -0
  573. package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +147 -0
  574. package/test/reuse/ui5/userInteraction/clickTab.spec.js +59 -0
  575. package/test/reuse/ui5/userInteraction/doubleClick.spec.js +73 -0
  576. package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +34 -0
  577. package/test/reuse/ui5/userInteraction/fill.spec.js +114 -0
  578. package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +120 -0
  579. package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +55 -0
  580. package/test/reuse/ui5/userInteraction/openF4Help.spec.js +56 -0
  581. package/test/reuse/ui5/userInteraction/rightClick.spec.js +72 -0
  582. package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +89 -0
  583. package/test/reuse/ui5/userInteraction/searchFor.spec.js +155 -0
  584. package/test/reuse/ui5/userInteraction/selectBox.spec.js +128 -0
  585. package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +115 -0
  586. package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +155 -0
  587. package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +35 -0
  588. package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +46 -0
  589. package/test/reuse/util/browser/back.spec.js +32 -0
  590. package/test/reuse/util/browser/clearBrowser.spec.js +35 -0
  591. package/test/reuse/util/browser/executeScript.spec.js +49 -0
  592. package/test/reuse/util/browser/getBaseUrl.spec.js +13 -0
  593. package/test/reuse/util/browser/getBrowserName.spec.js +18 -0
  594. package/test/reuse/util/browser/getCurrentUrl.spec.js +34 -0
  595. package/test/reuse/util/browser/getCurrentWindow.spec.js +42 -0
  596. package/test/reuse/util/browser/getUI5Version.spec.js +31 -0
  597. package/test/reuse/util/browser/logCurrentUrl.spec.js +23 -0
  598. package/test/reuse/util/browser/refresh.spec.js +52 -0
  599. package/test/reuse/util/browser/setBaseUrl.spec.js +13 -0
  600. package/test/reuse/util/browser/switchToDefaultContent.spec.js +34 -0
  601. package/test/reuse/util/browser/switchToIframe.spec.js +29 -0
  602. package/test/reuse/util/browser/switchToNewWindow.spec.js +142 -0
  603. package/test/reuse/util/browser/switchToWindow.spec.js +57 -0
  604. package/test/reuse/util/browser/test.browser.conf.js +27 -0
  605. package/test/reuse/util/data/data/test.json +3 -0
  606. package/test/reuse/util/data/data/test.secure.json +11 -0
  607. package/test/reuse/util/data/decrypt.spec.js +15 -0
  608. package/test/reuse/util/data/getData.spec.js +15 -0
  609. package/test/reuse/util/data/getSecureData.spec.js +57 -0
  610. package/test/reuse/util/data/test.data.conf.js +22 -0
  611. package/test/reuse/util/file/file.spec.js +90 -0
  612. package/test/reuse/util/file/pdfParser.spec.js +55 -0
  613. package/test/reuse/util/file/test.file.conf.js +15 -0
  614. package/test/reuse/util/file/testFiles/sample.pdf +198 -0
  615. package/test/reuse/util/file/testFiles/test.txt +5 -0
  616. package/test/reuse/util/file/testFiles/test2.txt +2 -0
  617. package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +38 -0
  618. package/test/reuse/util/formatter/extractNumberFromString.spec.js +67 -0
  619. package/test/reuse/util/formatter/formatDate.spec.js +150 -0
  620. package/test/reuse/util/formatter/sliceStringAfter.spec.js +62 -0
  621. package/test/reuse/util/formatter/sliceStringAt.spec.js +62 -0
  622. package/test/reuse/util/formatter/stringifyJSON.spec.js +24 -0
  623. package/test/reuse/util/formatter/test.formatter.conf.js +20 -0
  624. package/test/reuse/util/formatter/trimString.spec.js +37 -0
  625. 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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"}