@eclipse-che/che-e2e 7.62.0-dev-af91f02 → 7.62.0-dev-461d6d3

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 (381) hide show
  1. package/configs/inversify.config.ts +88 -0
  2. package/{inversify.types.ts → configs/inversify.types.ts} +6 -9
  3. package/configs/mocharc.ts +21 -0
  4. package/{generateIndex.sh → configs/sh-scripts/generateIndex.sh} +8 -10
  5. package/configs/sh-scripts/initDevfileTests.sh +53 -0
  6. package/{TestConstants.ts → constants/TestConstants.ts} +1 -1
  7. package/{TimeoutConstants.ts → constants/TimeoutConstants.ts} +1 -1
  8. package/dist/configs/inversify.config.js +81 -0
  9. package/dist/configs/inversify.config.js.map +1 -0
  10. package/dist/{inversify.types.js → configs/inversify.types.js} +5 -8
  11. package/dist/configs/inversify.types.js.map +1 -0
  12. package/dist/configs/mocharc.js +20 -0
  13. package/dist/configs/mocharc.js.map +1 -0
  14. package/dist/{TestConstants.js → constants/TestConstants.js} +1 -1
  15. package/dist/constants/TestConstants.js.map +1 -0
  16. package/dist/{TimeoutConstants.js → constants/TimeoutConstants.js} +1 -1
  17. package/dist/constants/TimeoutConstants.js.map +1 -0
  18. package/dist/driver/ChromeDriver.js +2 -2
  19. package/dist/driver/ChromeDriver.js.map +1 -1
  20. package/dist/pageobjects/dashboard/CreateWorkspace.js +4 -4
  21. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
  22. package/dist/pageobjects/dashboard/Dashboard.js +4 -4
  23. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
  24. package/dist/pageobjects/dashboard/Workspaces.js +3 -3
  25. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
  26. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +10 -8
  27. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
  28. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +3 -3
  29. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -1
  30. package/dist/pageobjects/login/ICheLoginPage.js +1 -1
  31. package/dist/pageobjects/login/IOcpLoginPage.js +1 -1
  32. package/dist/pageobjects/login/MultiUserLoginPage.js +3 -3
  33. package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -1
  34. package/dist/pageobjects/login/OcpUserLoginPage.js +3 -3
  35. package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -1
  36. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +4 -4
  37. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -1
  38. package/dist/pageobjects/login/UpdateAccountInformationPage.js +2 -2
  39. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -1
  40. package/dist/pageobjects/openshift/CheLoginPage.js +3 -3
  41. package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -1
  42. package/dist/pageobjects/openshift/OcpLoginPage.js +4 -4
  43. package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -1
  44. package/dist/pageobjects/third-parties/GitLoginPage.js +4 -4
  45. package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -1
  46. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +3 -3
  47. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -1
  48. package/dist/{tests → specs}/MochaHooks.js +32 -18
  49. package/dist/specs/MochaHooks.js.map +1 -0
  50. package/dist/{tests/devfiles/che-code → specs/devfiles}/EmptyWorkspace.spec.js +10 -11
  51. package/dist/specs/devfiles/EmptyWorkspace.spec.js.map +1 -0
  52. package/dist/{tests → specs}/login/LinkCheAndOcpUsers.spec.js +13 -12
  53. package/dist/specs/login/LinkCheAndOcpUsers.spec.js.map +1 -0
  54. package/dist/{utils/AnimationChecker.js → tests-library/LoginTests.js} +26 -18
  55. package/dist/tests-library/LoginTests.js.map +1 -0
  56. package/dist/{testsLibrary/che-code/ProjectAndFileTestsCheCode.js → tests-library/ProjectAndFileTests.js} +11 -11
  57. package/dist/tests-library/ProjectAndFileTests.js.map +1 -0
  58. package/dist/{testsLibrary → tests-library}/WorkspaceHandlingTests.js +4 -4
  59. package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -0
  60. package/dist/utils/BrowserTabsUtil.js +3 -3
  61. package/dist/utils/BrowserTabsUtil.js.map +1 -1
  62. package/dist/{driver → utils}/CheReporter.js +6 -10
  63. package/dist/utils/CheReporter.js.map +1 -0
  64. package/dist/utils/DriverHelper.js +3 -3
  65. package/dist/utils/DriverHelper.js.map +1 -1
  66. package/dist/utils/Logger.js +2 -2
  67. package/dist/utils/Logger.js.map +1 -1
  68. package/dist/utils/Sanitizer.js +1 -1
  69. package/dist/utils/ScreenCatcher.js +7 -7
  70. package/dist/utils/ScreenCatcher.js.map +1 -1
  71. package/dist/utils/WorkspaceNameHandler.js +2 -2
  72. package/dist/utils/WorkspaceNameHandler.js.map +1 -1
  73. package/dist/utils/{requestHandlers → request-handlers}/CheApiRequestHandler.js +3 -3
  74. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -0
  75. package/dist/utils/{requestHandlers → request-handlers}/headers/CheMultiuserAuthorizationHeaderHandler.js +1 -1
  76. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
  77. package/dist/utils/{requestHandlers → request-handlers}/headers/IAuthorizationHeaderHandler.js +1 -1
  78. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
  79. package/dist/utils/{requestHandlers → request-handlers}/tokens/CheMultiuserTokenHandler.js +2 -2
  80. package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
  81. package/dist/utils/{requestHandlers → request-handlers}/tokens/ITokenHandler.js +1 -1
  82. package/dist/utils/request-handlers/tokens/ITokenHandler.js.map +1 -0
  83. package/dist/utils/{VCS → vsc}/CheGitApi.js +2 -2
  84. package/dist/utils/vsc/CheGitApi.js.map +1 -0
  85. package/dist/utils/{VCS → vsc}/github/GitHubUtil.js.map +1 -1
  86. package/dist/utils/workspace/ApiUrlResolver.js +3 -3
  87. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
  88. package/dist/utils/workspace/ITestWorkspaceUtil.js +1 -1
  89. package/dist/utils/workspace/TestWorkspaceUtil.js +4 -4
  90. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
  91. package/dist/utils/workspace/WorkspaceStatus.js +1 -1
  92. package/driver/ChromeDriver.ts +2 -2
  93. package/driver/IDriver.ts +1 -1
  94. package/package.json +6 -37
  95. package/pageobjects/dashboard/CreateWorkspace.ts +4 -4
  96. package/pageobjects/dashboard/Dashboard.ts +4 -4
  97. package/pageobjects/dashboard/Workspaces.ts +3 -3
  98. package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +8 -8
  99. package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +3 -4
  100. package/pageobjects/login/ICheLoginPage.ts +1 -1
  101. package/pageobjects/login/IOcpLoginPage.ts +1 -1
  102. package/pageobjects/login/MultiUserLoginPage.ts +3 -3
  103. package/pageobjects/login/OcpUserLoginPage.ts +3 -3
  104. package/pageobjects/login/RegularUserOcpCheLoginPage.ts +4 -4
  105. package/pageobjects/login/UpdateAccountInformationPage.ts +2 -2
  106. package/pageobjects/openshift/CheLoginPage.ts +3 -3
  107. package/pageobjects/openshift/OcpLoginPage.ts +4 -4
  108. package/pageobjects/third-parties/GitLoginPage.ts +4 -4
  109. package/pageobjects/third-parties/GitOauthAppsSettings.ts +3 -3
  110. package/specs/MochaHooks.ts +72 -0
  111. package/{tests/devfiles/che-code → specs/devfiles}/EmptyWorkspace.spec.ts +12 -9
  112. package/{tests → specs}/login/LinkCheAndOcpUsers.spec.ts +5 -4
  113. package/tests-library/LoginTests.ts +35 -0
  114. package/{testsLibrary/che-code/ProjectAndFileTestsCheCode.ts → tests-library/ProjectAndFileTests.ts} +6 -6
  115. package/{testsLibrary → tests-library}/WorkspaceHandlingTests.ts +4 -4
  116. package/utils/BrowserTabsUtil.ts +3 -3
  117. package/{driver → utils}/CheReporter.ts +10 -15
  118. package/utils/DriverHelper.ts +4 -4
  119. package/utils/Logger.ts +2 -2
  120. package/utils/Sanitizer.ts +1 -1
  121. package/utils/ScreenCatcher.ts +3 -3
  122. package/utils/WorkspaceNameHandler.ts +2 -2
  123. package/utils/{requestHandlers → request-handlers}/CheApiRequestHandler.ts +3 -3
  124. package/utils/{requestHandlers → request-handlers}/headers/CheMultiuserAuthorizationHeaderHandler.ts +2 -2
  125. package/utils/{requestHandlers → request-handlers}/headers/IAuthorizationHeaderHandler.ts +1 -1
  126. package/utils/{requestHandlers → request-handlers}/tokens/CheMultiuserTokenHandler.ts +2 -2
  127. package/utils/{requestHandlers → request-handlers}/tokens/ITokenHandler.ts +1 -1
  128. package/utils/{VCS → vsc}/CheGitApi.ts +2 -6
  129. package/utils/workspace/ApiUrlResolver.ts +3 -3
  130. package/utils/workspace/ITestWorkspaceUtil.ts +1 -1
  131. package/utils/workspace/TestWorkspaceUtil.ts +4 -4
  132. package/utils/workspace/WorkspaceStatus.ts +1 -1
  133. package/dist/TestConstants.js.map +0 -1
  134. package/dist/TimeoutConstants.js.map +0 -1
  135. package/dist/driver/CheReporter.js.map +0 -1
  136. package/dist/index.js +0 -94
  137. package/dist/index.js.map +0 -1
  138. package/dist/inversify.config.js +0 -133
  139. package/dist/inversify.config.js.map +0 -1
  140. package/dist/inversify.types.js.map +0 -1
  141. package/dist/pageobjects/ide/theia/ContextMenu.js +0 -66
  142. package/dist/pageobjects/ide/theia/ContextMenu.js.map +0 -1
  143. package/dist/pageobjects/ide/theia/DebugView.js +0 -98
  144. package/dist/pageobjects/ide/theia/DebugView.js.map +0 -1
  145. package/dist/pageobjects/ide/theia/DialogWindow.js +0 -102
  146. package/dist/pageobjects/ide/theia/DialogWindow.js.map +0 -1
  147. package/dist/pageobjects/ide/theia/Editor.js +0 -463
  148. package/dist/pageobjects/ide/theia/Editor.js.map +0 -1
  149. package/dist/pageobjects/ide/theia/Ide.js +0 -336
  150. package/dist/pageobjects/ide/theia/Ide.js.map +0 -1
  151. package/dist/pageobjects/ide/theia/LeftToolBar.js +0 -81
  152. package/dist/pageobjects/ide/theia/LeftToolBar.js.map +0 -1
  153. package/dist/pageobjects/ide/theia/NavigationBar.js +0 -57
  154. package/dist/pageobjects/ide/theia/NavigationBar.js.map +0 -1
  155. package/dist/pageobjects/ide/theia/NotificationCenter.js +0 -76
  156. package/dist/pageobjects/ide/theia/NotificationCenter.js.map +0 -1
  157. package/dist/pageobjects/ide/theia/OpenDialogWidget.js +0 -100
  158. package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +0 -1
  159. package/dist/pageobjects/ide/theia/OpenEditors.js +0 -73
  160. package/dist/pageobjects/ide/theia/OpenEditors.js.map +0 -1
  161. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +0 -62
  162. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +0 -1
  163. package/dist/pageobjects/ide/theia/PreviewWidget.js +0 -134
  164. package/dist/pageobjects/ide/theia/PreviewWidget.js.map +0 -1
  165. package/dist/pageobjects/ide/theia/ProjectTree.js +0 -282
  166. package/dist/pageobjects/ide/theia/ProjectTree.js.map +0 -1
  167. package/dist/pageobjects/ide/theia/QuickOpenContainer.js +0 -70
  168. package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +0 -1
  169. package/dist/pageobjects/ide/theia/RightToolBar.js +0 -51
  170. package/dist/pageobjects/ide/theia/RightToolBar.js.map +0 -1
  171. package/dist/pageobjects/ide/theia/Terminal.js +0 -184
  172. package/dist/pageobjects/ide/theia/Terminal.js.map +0 -1
  173. package/dist/pageobjects/ide/theia/TopMenu.js +0 -109
  174. package/dist/pageobjects/ide/theia/TopMenu.js.map +0 -1
  175. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +0 -128
  176. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +0 -1
  177. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +0 -120
  178. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +0 -1
  179. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +0 -107
  180. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +0 -1
  181. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +0 -99
  182. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +0 -1
  183. package/dist/pageobjects/ide/theia/plugins/PluginsView.js +0 -166
  184. package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +0 -1
  185. package/dist/tests/MochaHooks.js.map +0 -1
  186. package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js.map +0 -1
  187. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +0 -73
  188. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +0 -1
  189. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +0 -47
  190. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +0 -1
  191. package/dist/tests/devfiles/theia/DotNetCore.spec.js +0 -81
  192. package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +0 -1
  193. package/dist/tests/devfiles/theia/Go.spec.js +0 -72
  194. package/dist/tests/devfiles/theia/Go.spec.js.map +0 -1
  195. package/dist/tests/devfiles/theia/JavaMaven.spec.js +0 -60
  196. package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +0 -1
  197. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +0 -66
  198. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +0 -1
  199. package/dist/tests/devfiles/theia/JavaVertx.spec.js +0 -60
  200. package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +0 -1
  201. package/dist/tests/devfiles/theia/NodeJS.spec.js +0 -64
  202. package/dist/tests/devfiles/theia/NodeJS.spec.js.map +0 -1
  203. package/dist/tests/devfiles/theia/PHPSimple.spec.js +0 -74
  204. package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +0 -1
  205. package/dist/tests/devfiles/theia/Python.spec.js +0 -58
  206. package/dist/tests/devfiles/theia/Python.spec.js.map +0 -1
  207. package/dist/tests/devfiles/theia/PythonDjango.spec.js +0 -61
  208. package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +0 -1
  209. package/dist/tests/devfiles/theia/Quarkus.spec.js +0 -69
  210. package/dist/tests/devfiles/theia/Quarkus.spec.js.map +0 -1
  211. package/dist/tests/devfiles/theia/Scala.spec.js +0 -66
  212. package/dist/tests/devfiles/theia/Scala.spec.js.map +0 -1
  213. package/dist/tests/e2e/theia/FactoryUrl.spec.js +0 -40
  214. package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +0 -1
  215. package/dist/tests/e2e/theia/GitPublishBranch.spec.js +0 -90
  216. package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +0 -1
  217. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +0 -90
  218. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +0 -1
  219. package/dist/tests/e2e/theia/GitSsh.spec.js +0 -120
  220. package/dist/tests/e2e/theia/GitSsh.spec.js.map +0 -1
  221. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +0 -124
  222. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +0 -1
  223. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +0 -50
  224. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +0 -1
  225. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +0 -48
  226. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +0 -1
  227. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +0 -48
  228. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +0 -1
  229. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +0 -277
  230. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +0 -1
  231. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +0 -314
  232. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +0 -1
  233. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +0 -39
  234. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +0 -1
  235. package/dist/tests/load_test/theia/LoadTest.spec.js +0 -41
  236. package/dist/tests/load_test/theia/LoadTest.spec.js.map +0 -1
  237. package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +0 -1
  238. package/dist/tests/login/Login.spec.js +0 -28
  239. package/dist/tests/login/Login.spec.js.map +0 -1
  240. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +0 -117
  241. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +0 -1
  242. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +0 -62
  243. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +0 -1
  244. package/dist/tests/plugins/theia/JavaPlugin.spec.js +0 -82
  245. package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +0 -1
  246. package/dist/tests/plugins/theia/PhpPlugin.spec.js +0 -96
  247. package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +0 -1
  248. package/dist/tests/plugins/theia/PythonPlugin.spec.js +0 -72
  249. package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +0 -1
  250. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +0 -135
  251. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +0 -1
  252. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +0 -69
  253. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +0 -1
  254. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +0 -82
  255. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +0 -1
  256. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +0 -70
  257. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +0 -1
  258. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +0 -81
  259. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +0 -1
  260. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +0 -78
  261. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +0 -1
  262. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +0 -1
  263. package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js.map +0 -1
  264. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +0 -248
  265. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +0 -1
  266. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +0 -230
  267. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +0 -1
  268. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +0 -133
  269. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +0 -1
  270. package/dist/utils/AnimationChecker.js.map +0 -1
  271. package/dist/utils/VCS/CheGitApi.js.map +0 -1
  272. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +0 -1
  273. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  274. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  275. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
  276. package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +0 -1
  277. package/dist/utils/theia/PreferencesHandlerTheia.js +0 -142
  278. package/dist/utils/theia/PreferencesHandlerTheia.js.map +0 -1
  279. package/index.ts +0 -69
  280. package/initDevfileTests.sh +0 -66
  281. package/initPluginTest.sh +0 -9
  282. package/inversify.config.ts +0 -141
  283. package/mocha-all-devfiles-che-code.json +0 -12
  284. package/mocha-all-devfiles-theia.json +0 -15
  285. package/mocha-all-factories-che-code.json +0 -14
  286. package/mocha-all-factories-theia.json +0 -16
  287. package/mocha-all-plugins-che-code.json +0 -13
  288. package/mocha-all-plugins-theia.json +0 -15
  289. package/mocha-che-code.json +0 -12
  290. package/mocha-connector-theia.json +0 -12
  291. package/mocha-devworkspace-happy-path-che-code.json +0 -13
  292. package/mocha-devworkspace-happy-path-theia.json +0 -14
  293. package/mocha-empty-workspace-devworkspace-happy-path-che-code.json +0 -14
  294. package/mocha-factory-che-code.json +0 -13
  295. package/mocha-factory-theia.json +0 -14
  296. package/mocha-git-publish-branch-theia.json +0 -14
  297. package/mocha-git-self-sign-cert-theia.json +0 -14
  298. package/mocha-git-ssh-theia.json +0 -14
  299. package/mocha-happy-path-che-code.json +0 -14
  300. package/mocha-happy-path-theia.json +0 -15
  301. package/mocha-java-maven.json +0 -13
  302. package/mocha-java-springboot-che-code.json +0 -12
  303. package/mocha-java-springboot-theia.json +0 -13
  304. package/mocha-java-vertx-che-code.json +0 -12
  305. package/mocha-java-vertx-theia.json +0 -13
  306. package/mocha-load-theia.json +0 -12
  307. package/mocha-scala.json +0 -13
  308. package/mocha-single-devfile.json +0 -11
  309. package/mocha-theia.json +0 -12
  310. package/mocha-ws-creation-and-ls-theia.json +0 -12
  311. package/mocha.intelij.json +0 -13
  312. package/mocha.ocp.link.json +0 -11
  313. package/mocha.single.plugin.json +0 -8
  314. package/pageobjects/ide/theia/ContextMenu.ts +0 -55
  315. package/pageobjects/ide/theia/DebugView.ts +0 -88
  316. package/pageobjects/ide/theia/DialogWindow.ts +0 -101
  317. package/pageobjects/ide/theia/Editor.ts +0 -601
  318. package/pageobjects/ide/theia/Ide.ts +0 -393
  319. package/pageobjects/ide/theia/LeftToolBar.ts +0 -81
  320. package/pageobjects/ide/theia/NavigationBar.ts +0 -41
  321. package/pageobjects/ide/theia/NotificationCenter.ts +0 -75
  322. package/pageobjects/ide/theia/OpenDialogWidget.ts +0 -92
  323. package/pageobjects/ide/theia/OpenEditors.ts +0 -63
  324. package/pageobjects/ide/theia/OpenWorkspaceWidget.ts +0 -48
  325. package/pageobjects/ide/theia/PreviewWidget.ts +0 -142
  326. package/pageobjects/ide/theia/ProjectTree.ts +0 -338
  327. package/pageobjects/ide/theia/QuickOpenContainer.ts +0 -59
  328. package/pageobjects/ide/theia/RightToolBar.ts +0 -34
  329. package/pageobjects/ide/theia/Terminal.ts +0 -219
  330. package/pageobjects/ide/theia/TopMenu.ts +0 -103
  331. package/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.ts +0 -130
  332. package/pageobjects/ide/theia/plugins/GitPlugin.ts +0 -118
  333. package/pageobjects/ide/theia/plugins/KubernetesPlugin.ts +0 -113
  334. package/pageobjects/ide/theia/plugins/OpenshiftPlugin.ts +0 -87
  335. package/pageobjects/ide/theia/plugins/PluginsView.ts +0 -191
  336. package/tests/MochaHooks.ts +0 -57
  337. package/tests/devfiles/theia/CSlashCPlusPlus.spec.ts +0 -78
  338. package/tests/devfiles/theia/DevfileSmoke.spec.ts +0 -50
  339. package/tests/devfiles/theia/DotNetCore.spec.ts +0 -87
  340. package/tests/devfiles/theia/Go.spec.ts +0 -81
  341. package/tests/devfiles/theia/JavaMaven.spec.ts +0 -64
  342. package/tests/devfiles/theia/JavaSpringBoot.spec.ts +0 -71
  343. package/tests/devfiles/theia/JavaVertx.spec.ts +0 -65
  344. package/tests/devfiles/theia/NodeJS.spec.ts +0 -71
  345. package/tests/devfiles/theia/PHPSimple.spec.ts +0 -80
  346. package/tests/devfiles/theia/Python.spec.ts +0 -64
  347. package/tests/devfiles/theia/PythonDjango.spec.ts +0 -67
  348. package/tests/devfiles/theia/Quarkus.spec.ts +0 -76
  349. package/tests/devfiles/theia/Scala.spec.ts +0 -70
  350. package/tests/e2e/theia/FactoryUrl.spec.ts +0 -47
  351. package/tests/e2e/theia/GitPublishBranch.spec.ts +0 -109
  352. package/tests/e2e/theia/GitSelfSignCert.spec.ts +0 -110
  353. package/tests/e2e/theia/GitSsh.spec.ts +0 -144
  354. package/tests/e2e/theia/OpenshiftConnector.spec.ts +0 -144
  355. package/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.ts +0 -60
  356. package/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.ts +0 -57
  357. package/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.ts +0 -57
  358. package/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.ts +0 -294
  359. package/tests/e2e_happy_path/theia/HappyPath.spec.ts +0 -348
  360. package/tests/intelij/IntelijOpenWorkspace.spec.ts +0 -47
  361. package/tests/load_test/theia/LoadTest.spec.ts +0 -55
  362. package/tests/login/Login.spec.ts +0 -31
  363. package/tests/plugins/theia/GitHubPullRequestPlugin.spec.ts +0 -147
  364. package/tests/plugins/theia/InstallPluginUsingUI.spec.ts +0 -77
  365. package/tests/plugins/theia/JavaPlugin.spec.ts +0 -100
  366. package/tests/plugins/theia/PhpPlugin.spec.ts +0 -115
  367. package/tests/plugins/theia/PythonPlugin.spec.ts +0 -86
  368. package/tests/plugins/theia/TypescriptPlugin.spec.ts +0 -168
  369. package/tests/plugins/theia/VscodeKubernetesPlugin.spec.ts +0 -83
  370. package/tests/plugins/theia/VscodeShellcheckPlugin.spec.ts +0 -100
  371. package/tests/plugins/theia/VscodeValePlugin.spec.ts +0 -85
  372. package/tests/plugins/theia/VscodeXmlPlugin.spec.ts +0 -104
  373. package/tests/plugins/theia/VscodeYamlPlugin.spec.ts +0 -99
  374. package/testsLibrary/theia/CodeExecutionTestsTheia.ts +0 -220
  375. package/testsLibrary/theia/LanguageServerTestsTheia.ts +0 -205
  376. package/testsLibrary/theia/ProjectAndFileTestsTheia.ts +0 -113
  377. package/utils/AnimationChecker.ts +0 -27
  378. package/utils/theia/PreferencesHandlerTheia.ts +0 -123
  379. /package/{initDefaultValues.sh → configs/sh-scripts/initDefaultValues.sh} +0 -0
  380. /package/dist/utils/{VCS → vsc}/github/GitHubUtil.js +0 -0
  381. /package/utils/{VCS → vsc}/github/GitHubUtil.ts +0 -0
@@ -1,463 +0,0 @@
1
- "use strict";
2
- /*********************************************************************
3
- * Copyright (c) 2019 Red Hat, Inc.
4
- *
5
- * This program and the accompanying materials are made
6
- * available under the terms of the Eclipse Public License 2.0
7
- * which is available at https://www.eclipse.org/legal/epl-2.0/
8
- *
9
- * SPDX-License-Identifier: EPL-2.0
10
- **********************************************************************/
11
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15
- return c > 3 && r && Object.defineProperty(target, key, r), r;
16
- };
17
- var __metadata = (this && this.__metadata) || function (k, v) {
18
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
19
- };
20
- var __param = (this && this.__param) || function (paramIndex, decorator) {
21
- return function (target, key) { decorator(target, key, paramIndex); }
22
- };
23
- var Editor_1;
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Editor = void 0;
26
- require("reflect-metadata");
27
- const inversify_1 = require("inversify");
28
- const DriverHelper_1 = require("../../../utils/DriverHelper");
29
- const inversify_types_1 = require("../../../inversify.types");
30
- const TestConstants_1 = require("../../../TestConstants");
31
- const selenium_webdriver_1 = require("selenium-webdriver");
32
- const Logger_1 = require("../../../utils/Logger");
33
- const TimeoutConstants_1 = require("../../../TimeoutConstants");
34
- let Editor = Editor_1 = class Editor {
35
- constructor(driverHelper) {
36
- this.driverHelper = driverHelper;
37
- }
38
- async deleteAllText(editorTab) {
39
- Logger_1.Logger.debug('Editor.deleteAllText');
40
- await this.selectTab(editorTab);
41
- await this.type(editorTab, selenium_webdriver_1.Key.chord(selenium_webdriver_1.Key.CONTROL, 'a', selenium_webdriver_1.Key.DELETE), 1);
42
- }
43
- async waitSuggestionContainer(timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
44
- Logger_1.Logger.debug('Editor.waitSuggestionContainer');
45
- await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(Editor_1.SUGGESTION_WIDGET_BODY_CSS), timeout);
46
- }
47
- async waitSuggestionContainerClosed(timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
48
- Logger_1.Logger.debug('Editor.waitSuggestionContainerClosed');
49
- await this.driverHelper.waitDisappearanceWithTimeout(selenium_webdriver_1.By.css(Editor_1.SUGGESTION_WIDGET_BODY_CSS), timeout);
50
- }
51
- async waitSuggestion(editorTabTitle, suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT, lineNumber, charNumber) {
52
- const charInLineNumber = (charNumber ? charNumber : 1);
53
- // if line defined the method sets cursor to line and char
54
- // before invoking suggestion container and repeat this
55
- // cycle if suggestion didn't display
56
- if (lineNumber) {
57
- await this.waitSuggestionWithResettingCursor(editorTabTitle, suggestionText, timeout, lineNumber, charInLineNumber);
58
- return;
59
- }
60
- // if line not defined the method just invoke suggestion container
61
- // without setting cursor to line and char and repeat this
62
- // cycle if suggestion didn't display
63
- await this.waitSuggestionWithoutResettingCursor(editorTabTitle, suggestionText, timeout);
64
- }
65
- async closeSuggestionContainer(editorTabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
66
- Logger_1.Logger.debug(`Editor.closeSuggestionContainer tabTitle: "${editorTabTitle}"`);
67
- await this.driverHelper.getDriver().wait(async () => {
68
- // if container already closed stop the method execution
69
- try {
70
- // for avoiding problem when the inner timeout
71
- // bigger than timeout of the method
72
- const suggestionContainerTimeout = timeout / 2;
73
- await this.waitSuggestionContainer(suggestionContainerTimeout);
74
- }
75
- catch (err) {
76
- if (err instanceof selenium_webdriver_1.error.TimeoutError) {
77
- return true;
78
- }
79
- throw err;
80
- }
81
- // try to close container
82
- try {
83
- await this.pressEscapeButton(editorTabTitle);
84
- await this.waitSuggestionContainerClosed(2000);
85
- return true;
86
- }
87
- catch (err) {
88
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
89
- throw err;
90
- }
91
- }
92
- }, timeout);
93
- }
94
- async waitSuggestionWithScrolling(editorTabTitle, suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
95
- Logger_1.Logger.debug(`Editor.waitSuggestion tabTitle: "${editorTabTitle}" suggestion: "${suggestionText}"`);
96
- const suggestionLocator = this.getSuggestionLineXpathLocator(suggestionText);
97
- await this.driverHelper.getDriver().wait(async () => {
98
- try {
99
- await this.scrollAndSearchSuggestion(editorTabTitle, suggestionLocator, timeout / 3);
100
- return true;
101
- }
102
- catch (err) {
103
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
104
- throw err;
105
- }
106
- await this.closeSuggestionContainer(editorTabTitle, TimeoutConstants_1.TimeoutConstants.TS_CLOSE_SUGGESTION_CONTAINER_TIMEOUT);
107
- await this.pressControlSpaceCombination(editorTabTitle);
108
- }
109
- }, timeout);
110
- }
111
- async pressControlSpaceCombination(editorTabTitle) {
112
- Logger_1.Logger.debug(`Editor.pressControlSpaceCombination "${editorTabTitle}"`);
113
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.chord(selenium_webdriver_1.Key.CONTROL, selenium_webdriver_1.Key.SPACE));
114
- }
115
- async pressEscapeButton(editorTabTitle) {
116
- Logger_1.Logger.debug(`Editor.pressEscapeButton "${editorTabTitle}"`);
117
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.ESCAPE);
118
- }
119
- async clickOnSuggestion(suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
120
- Logger_1.Logger.debug(`Editor.clickOnSuggestion "${suggestionText}"`);
121
- await this.driverHelper.waitAndClick(this.getSuggestionLineXpathLocator(suggestionText), timeout);
122
- }
123
- async waitTab(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
124
- Logger_1.Logger.debug(`Editor.waitTab "${tabTitle}"`);
125
- await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(this.getTabXpathLocator(tabTitle)), timeout);
126
- }
127
- async waitTabDisappearance(tabTitle, attempt = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS, polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
128
- Logger_1.Logger.debug(`Editor.waitTabDisappearance "${tabTitle}"`);
129
- await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.xpath(this.getTabXpathLocator(tabTitle)), attempt, polling);
130
- }
131
- async clickOnTab(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
132
- Logger_1.Logger.debug(`Editor.clickOnTab "${tabTitle}"`);
133
- await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(this.getTabXpathLocator(tabTitle)), timeout);
134
- }
135
- async waitTabFocused(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
136
- Logger_1.Logger.debug(`Editor.waitTabFocused "${tabTitle}"`);
137
- const focusedTabLocator = selenium_webdriver_1.By.xpath(`//li[contains(@class, 'p-TabBar-tab') and contains(@class, 'theia-mod-active')]//div[text()='${tabTitle}']`);
138
- await this.driverHelper.waitVisibility(focusedTabLocator, timeout);
139
- }
140
- async selectTab(tabTitle) {
141
- Logger_1.Logger.debug(`Editor.selectTab "${tabTitle}"`);
142
- await this.waitTab(tabTitle);
143
- await this.clickOnTab(tabTitle);
144
- await this.waitTabFocused(tabTitle);
145
- }
146
- async closeTab(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
147
- Logger_1.Logger.debug(`Editor.closeTab "${tabTitle}"`);
148
- const tabCloseButtonLocator = selenium_webdriver_1.By.xpath(`//li[contains(@id,'${tabTitle}')]//div[contains(@class, 'p-TabBar-tabCloseIcon')]`);
149
- await this.driverHelper.waitAndClick(tabCloseButtonLocator, timeout);
150
- }
151
- async waitTabWithUnsavedStatus(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
152
- Logger_1.Logger.debug(`Editor.waitTabWithUnsavedStatus "${tabTitle}"`);
153
- const unsavedTabLocator = this.getTabWithUnsavedStatus(tabTitle);
154
- await this.driverHelper.waitVisibility(unsavedTabLocator, timeout);
155
- }
156
- async waitTabWithSavedStatus(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
157
- Logger_1.Logger.debug(`Editor.waitTabWithSavedStatus "${tabTitle}"`);
158
- const unsavedTabLocator = this.getTabWithUnsavedStatus(tabTitle);
159
- await this.driverHelper.getDriver().wait(async () => {
160
- try {
161
- await this.driverHelper.waitDisappearanceWithTimeout(unsavedTabLocator, TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING);
162
- await this.waitTab(tabTitle, timeout);
163
- return true;
164
- }
165
- catch (err) {
166
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
167
- throw err;
168
- }
169
- console.log(`The editor tab with title "${tabTitle}" has unsaved status, wait once again`);
170
- }
171
- }, timeout);
172
- }
173
- async waitEditorOpened(editorTabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
174
- Logger_1.Logger.debug(`Editor.waitEditorOpened "${editorTabTitle}"`);
175
- const firstEditorLineLocator = selenium_webdriver_1.By.xpath(this.getEditorLineXpathLocator(1));
176
- await this.driverHelper.waitPresence(this.getEditorBodyLocator(editorTabTitle), timeout);
177
- await this.driverHelper.waitPresence(firstEditorLineLocator, timeout);
178
- }
179
- async waitEditorAvailable(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
180
- Logger_1.Logger.debug(`Editor.waitEditorAvailable "${tabTitle}"`);
181
- await this.waitTab(tabTitle, timeout);
182
- await this.waitEditorOpened(tabTitle, timeout);
183
- }
184
- async getLineText(tabTitle, lineNumber) {
185
- Logger_1.Logger.debug(`Editor.getLineText "${tabTitle}"`);
186
- const lineIndex = lineNumber - 1;
187
- const editorText = await this.getEditorVisibleText(tabTitle);
188
- const editorLines = editorText.split('\n');
189
- const editorLine = editorLines[lineIndex] + '\n';
190
- return editorLine;
191
- }
192
- async getEditorVisibleText(tabTitle) {
193
- Logger_1.Logger.debug(`Editor.getEditorVisibleText "${tabTitle}"`);
194
- const editorBodyLocator = selenium_webdriver_1.By.xpath(`//div[contains(@data-uri, \'${tabTitle}')]//div[contains(@class,\'view-lines\')]`);
195
- // const editorBodyLocator: By = By.xpath('//div[@class=\'view-lines\']');
196
- const editorText = await this.driverHelper.waitAndGetText(editorBodyLocator);
197
- return editorText;
198
- }
199
- async waitText(tabTitle, expectedText, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT, polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
200
- Logger_1.Logger.debug(`Editor.waitText "${tabTitle}"`);
201
- await this.driverHelper.getDriver().wait(async () => {
202
- const editorText = await this.getEditorVisibleText(tabTitle);
203
- const isEditorContainText = editorText.includes(expectedText);
204
- if (isEditorContainText) {
205
- return true;
206
- }
207
- await this.driverHelper.wait(polling);
208
- }, timeout);
209
- }
210
- async followAndWaitForText(editorTabTitle, expectedText, timeout = TimeoutConstants_1.TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT, polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
211
- Logger_1.Logger.debug(`Editor.followAndWaitForText title: "${editorTabTitle}" text: "${expectedText}"`);
212
- await this.selectTab(editorTabTitle);
213
- await this.driverHelper.getDriver().wait(async () => {
214
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.chord(selenium_webdriver_1.Key.CONTROL, selenium_webdriver_1.Key.END));
215
- const editorText = await this.getEditorVisibleText(editorTabTitle);
216
- const isEditorContainText = editorText.includes(expectedText);
217
- if (isEditorContainText) {
218
- return true;
219
- }
220
- await this.driverHelper.wait(polling);
221
- }, timeout);
222
- }
223
- async moveCursorToLineAndChar(editorTabTitle, line, char) {
224
- Logger_1.Logger.debug(`Editor.moveCursorToLineAndChar title: "${editorTabTitle}" line: "${line}" char: "${char}"`);
225
- // set cursor to the 1:1 position
226
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.chord(selenium_webdriver_1.Key.CONTROL, selenium_webdriver_1.Key.HOME));
227
- // move cursor to line
228
- for (let i = 1; i < line; i++) {
229
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.ARROW_DOWN);
230
- }
231
- // move cursor to char
232
- for (let i = 1; i < char; i++) {
233
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.ARROW_RIGHT);
234
- }
235
- }
236
- async performKeyCombination(editorTabTitle, text) {
237
- Logger_1.Logger.debug(`Editor.performKeyCombination title: "${editorTabTitle}" text: "${text}"`);
238
- const interactionContainerLocator = this.getEditorActionArreaLocator(editorTabTitle);
239
- await this.driverHelper.type(interactionContainerLocator, text);
240
- }
241
- async type(editorTabTitle, text, line) {
242
- Logger_1.Logger.debug(`Editor.type title: "${editorTabTitle}" text: "${text}"`);
243
- await this.selectTab(editorTabTitle);
244
- await this.moveCursorToLineAndChar(editorTabTitle, line, 1);
245
- await this.performKeyCombination(editorTabTitle, text);
246
- }
247
- async waitErrorInLine(lineNumber, fileName, timeout = TimeoutConstants_1.TimeoutConstants.TS_ERROR_HIGHLIGHTING_TIMEOUT) {
248
- Logger_1.Logger.debug(`Editor.waitErrorInLine line: "${lineNumber}"`);
249
- const errorInLineLocator = await this.getErrorInLineLocator(lineNumber, fileName);
250
- await this.driverHelper.waitVisibility(errorInLineLocator, timeout);
251
- }
252
- async waitErrorInLineDisappearance(lineNumber, fileName, timeout = TimeoutConstants_1.TimeoutConstants.TS_ERROR_HIGHLIGHTING_TIMEOUT) {
253
- Logger_1.Logger.debug(`Editor.waitErrorInLineDisappearance line: "${lineNumber}"`);
254
- const errorInLineLocator = await this.getErrorInLineLocator(lineNumber, fileName);
255
- await this.driverHelper.waitDisappearanceWithTimeout(errorInLineLocator, timeout);
256
- }
257
- async waitWarningInLine(lineNumber, fileName, timeout = TimeoutConstants_1.TimeoutConstants.TS_ERROR_HIGHLIGHTING_TIMEOUT) {
258
- Logger_1.Logger.debug(`Editor.waitWarningInLine line: "${lineNumber}"`);
259
- const warningInLineLocator = await this.getWarningInLineLocator(lineNumber, fileName);
260
- await this.driverHelper.waitVisibility(warningInLineLocator, timeout);
261
- }
262
- async waitInfoInLine(lineNumber, fileName, timeout = TimeoutConstants_1.TimeoutConstants.TS_ERROR_HIGHLIGHTING_TIMEOUT) {
263
- Logger_1.Logger.debug(`Editor.waitInfoInLine line: "${lineNumber}"`);
264
- const infoInLineLocator = await this.getInfoInLineLocator(lineNumber, fileName);
265
- await this.driverHelper.waitVisibility(infoInLineLocator, timeout);
266
- }
267
- async waitWarningInLineDisappearance(lineNumber, fileName, timeout = TimeoutConstants_1.TimeoutConstants.TS_ERROR_HIGHLIGHTING_TIMEOUT) {
268
- Logger_1.Logger.debug(`Editor.waitWarningInLineDisappearance line: "${lineNumber}"`);
269
- const warningInLineLocator = await this.getWarningInLineLocator(lineNumber, fileName);
270
- await this.driverHelper.waitDisappearanceWithTimeout(warningInLineLocator, timeout);
271
- }
272
- async waitStoppedDebugBreakpoint(tabTitle, lineNumber, timeout = TimeoutConstants_1.TimeoutConstants.TS_BREAKPOINT_DEFAULT_TIMEOUT) {
273
- Logger_1.Logger.debug(`Editor.waitStoppedDebugBreakpoint title: "${tabTitle}" line: "${lineNumber}"`);
274
- await this.driverHelper.waitUntilTrue(() => this.isBreakpointPresent(tabTitle, lineNumber, true), timeout);
275
- }
276
- async waitBreakpoint(tabTitle, lineNumber, timeout = TimeoutConstants_1.TimeoutConstants.TS_BREAKPOINT_DEFAULT_TIMEOUT) {
277
- Logger_1.Logger.debug(`Editor.waitBreakpoint title: "${tabTitle}" line: "${lineNumber}"`);
278
- await this.driverHelper.waitUntilTrue(() => this.isBreakpointPresent(tabTitle, lineNumber), timeout);
279
- }
280
- async waitBreakpointAbsence(tabTitle, lineNumber, timeout = TimeoutConstants_1.TimeoutConstants.TS_BREAKPOINT_DEFAULT_TIMEOUT) {
281
- Logger_1.Logger.debug(`Editor.waitBreakpointAbsence title: "${tabTitle}" line: "${lineNumber}"`);
282
- await this.driverHelper.waitUntilTrue(() => !this.isBreakpointPresent(tabTitle, lineNumber), timeout);
283
- }
284
- async activateBreakpoint(tabTitle, lineNumber) {
285
- Logger_1.Logger.debug(`Editor.activateBreakpoint title: "${tabTitle}" line: "${lineNumber}"`);
286
- const attempts = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS;
287
- const polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING;
288
- const breakpointStatus = await this.isBreakpointPresent(tabTitle, lineNumber);
289
- if (breakpointStatus) {
290
- return;
291
- }
292
- for (let i = 0; i < attempts; i++) {
293
- try {
294
- await this.selectTab(tabTitle);
295
- await this.moveCursorToLineAndChar(tabTitle, lineNumber, 1);
296
- await this.performKeyCombination(tabTitle, selenium_webdriver_1.Key.F9);
297
- await this.waitBreakpoint(tabTitle, lineNumber);
298
- return;
299
- }
300
- catch (err) {
301
- if (i === attempts - 1) {
302
- throw new selenium_webdriver_1.error.TimeoutError(`Exceeded maximum breakpoint activation attempts`);
303
- }
304
- // ignore errors and wait
305
- Logger_1.Logger.debug(`Editor.activateBreakpoint - Error: ${err}`);
306
- await this.driverHelper.wait(polling);
307
- }
308
- }
309
- }
310
- async getLineYCoordinates(lineNumber, fileName) {
311
- Logger_1.Logger.debug(`Editor.getLineYCoordinates line: "${lineNumber}"`);
312
- const lineNumberLocator = selenium_webdriver_1.By.xpath(`//div[contains(@data-uri, '${fileName}')]` +
313
- `//div[contains(@class, 'line-numbers') and text()='${lineNumber}']` +
314
- `//parent::div[contains(@style, 'position')]`);
315
- let elementStyleValue = await this.driverHelper.waitAndGetElementAttribute(lineNumberLocator, 'style', TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
316
- Logger_1.Logger.trace(`Editor.getLineYCoordinates style string:${elementStyleValue}`);
317
- const lineYCoordinate = Number.parseInt(elementStyleValue.split('top:')[1].split('px')[0], 10);
318
- if (Number.isNaN(lineYCoordinate)) {
319
- throw new selenium_webdriver_1.error.UnsupportedOperationError(`Failed to parse the ${elementStyleValue} row to number format`);
320
- }
321
- return lineYCoordinate;
322
- }
323
- async clickOnLineAndChar(line, char, fileName) {
324
- Logger_1.Logger.debug(`Editor.clickOnLineAndChar line: "${line}" char: "${char}"`);
325
- const yPosition = await this.getLineYCoordinates(line, fileName) + Editor_1.ADDITIONAL_SHIFTING_TO_Y;
326
- const xPosition = char + Editor_1.ADDITIONAL_SHIFTING_TO_X;
327
- this.driverHelper.getAction().move({ x: xPosition, y: yPosition }).click().perform();
328
- }
329
- async goToDefinitionWithMouseClicking(line, char, fileName) {
330
- Logger_1.Logger.debug(`Editor.goToDefinitionWithMouseClicking line: "${line}" char: "${char}"`);
331
- const yPosition = await this.getLineYCoordinates(line, fileName) + Editor_1.ADDITIONAL_SHIFTING_TO_Y;
332
- const xPosition = char + Editor_1.ADDITIONAL_SHIFTING_TO_X;
333
- this.driverHelper.getAction()
334
- .keyDown(selenium_webdriver_1.Key.CONTROL)
335
- .move({ x: xPosition, y: yPosition })
336
- .click()
337
- .keyDown(selenium_webdriver_1.Key.CONTROL)
338
- .perform();
339
- }
340
- async mouseRightButtonClick(line, char, fileName) {
341
- Logger_1.Logger.debug(`Editor.mouseRightButtonClick line: "${line}" char: "${char}"`);
342
- const yPosition = await this.getLineYCoordinates(line, fileName) + Editor_1.ADDITIONAL_SHIFTING_TO_Y;
343
- const xPosition = char + Editor_1.ADDITIONAL_SHIFTING_TO_X;
344
- this.driverHelper.getAction()
345
- .move({ x: xPosition, y: yPosition })
346
- .contextClick()
347
- .perform();
348
- }
349
- async scrollAndSearchSuggestion(editorTabTitle, suggestionLocator, timeout = 10000) {
350
- await this.driverHelper.getDriver().wait(async () => {
351
- const loadingLocator = selenium_webdriver_1.By.xpath(Editor_1.SUGGESTION_LOADING_XPATH);
352
- await this.waitSuggestionContainer();
353
- await this.driverHelper.waitDisappearance(loadingLocator);
354
- await this.driverHelper.wait(1000);
355
- if (await this.driverHelper.isVisible(suggestionLocator)) {
356
- return true;
357
- }
358
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.ARROW_DOWN);
359
- }, timeout);
360
- }
361
- getTabWithUnsavedStatus(tabTitle) {
362
- return selenium_webdriver_1.By.xpath(`//div[text()='${tabTitle}']/parent::li[contains(@class, 'theia-mod-dirty')]`);
363
- }
364
- getEditorBodyLocator(editorTabTitle) {
365
- const editorXpathLocator = `//div[@id='theia-main-content-panel']//div[contains(@class, 'monaco-editor')` +
366
- ` and contains(@data-uri, '${editorTabTitle}')]//*[contains(@class, 'lines-content')]`;
367
- return selenium_webdriver_1.By.xpath(editorXpathLocator);
368
- }
369
- getEditorActionArreaLocator(editorTabTitle) {
370
- const editorActionArreaXpathLocator = `//div[@id='theia-main-content-panel']//div[contains(@class, 'monaco-editor')` +
371
- ` and contains(@data-uri, '${editorTabTitle}')]//textarea`;
372
- return selenium_webdriver_1.By.xpath(editorActionArreaXpathLocator);
373
- }
374
- getEditorLineXpathLocator(lineNumber) {
375
- return `(//div[contains(@class,'lines-content')]//div[@class='view-lines monaco-mouse-cursor-text']/div[@class='view-line'])[${lineNumber}]`;
376
- }
377
- getSuggestionLineXpathLocator(suggestionText) {
378
- return selenium_webdriver_1.By.xpath(`//div[@widgetid='editor.widget.suggestWidget']//span[@class='monaco-highlighted-label' and contains(.,'${suggestionText}')]`);
379
- }
380
- getTabXpathLocator(tabTitle) {
381
- return `//li[contains(@class, 'p-TabBar-tab')]//div[text()='${tabTitle}']`;
382
- }
383
- async getErrorInLineLocator(lineNumber, fileName) {
384
- const lineYCoordinates = await this.getLineYCoordinates(lineNumber, fileName);
385
- return selenium_webdriver_1.By.xpath(`//div[contains(@style, 'top:${lineYCoordinates}px')]//div[contains(@class, 'squiggly-error')]`);
386
- }
387
- async getWarningInLineLocator(lineNumber, fileName) {
388
- const lineYCoordinates = await this.getLineYCoordinates(lineNumber, fileName);
389
- return selenium_webdriver_1.By.xpath(`//div[contains(@style, 'top:${lineYCoordinates}px')]//div[contains(@class, 'squiggly-warning')]`);
390
- }
391
- async getInfoInLineLocator(lineNumber, fileName) {
392
- const lineYCoordinates = await this.getLineYCoordinates(lineNumber, fileName);
393
- return selenium_webdriver_1.By.xpath(`//div[contains(@style, 'top:${lineYCoordinates}px')]//div[contains(@class, 'squiggly-info')]`);
394
- }
395
- async waitSuggestionWithResettingCursor(editorTabTitle, suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT, lineNumber, charNumber) {
396
- const suggestionLocator = this.getSuggestionLineXpathLocator(suggestionText);
397
- const methodLogText = `Editor.waitSuggestion tabTitle: "${editorTabTitle}" ` +
398
- `suggestion: "${suggestionText}" ` +
399
- `line: "${lineNumber}" ` +
400
- `char: "${charNumber}"`;
401
- Logger_1.Logger.debug(methodLogText);
402
- await this.driverHelper.getDriver().wait(async () => {
403
- await this.selectTab(editorTabTitle);
404
- await this.moveCursorToLineAndChar(editorTabTitle, lineNumber, charNumber);
405
- await this.pressControlSpaceCombination(editorTabTitle);
406
- try {
407
- await this.driverHelper.waitVisibility(suggestionLocator, 5000);
408
- await this.closeSuggestionContainer(editorTabTitle);
409
- return true;
410
- }
411
- catch (err) {
412
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
413
- throw err;
414
- }
415
- }
416
- }, timeout);
417
- }
418
- async waitSuggestionWithoutResettingCursor(editorTabTitle, suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
419
- Logger_1.Logger.debug(`Editor.waitSuggestion tabTitle: "${editorTabTitle}" suggestion: "${suggestionText}"`);
420
- const suggestionLocator = this.getSuggestionLineXpathLocator(suggestionText);
421
- await this.driverHelper.getDriver().wait(async () => {
422
- try {
423
- await this.driverHelper.waitVisibility(suggestionLocator, 5000);
424
- await this.closeSuggestionContainer(editorTabTitle);
425
- return true;
426
- }
427
- catch (err) {
428
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
429
- throw err;
430
- }
431
- await this.closeSuggestionContainer(editorTabTitle, timeout);
432
- await this.pressControlSpaceCombination(editorTabTitle);
433
- }
434
- }, timeout);
435
- }
436
- /**
437
- * Checks for breakpoint presence in currently opened editor on given line.
438
- *
439
- * @param lineNumber Line number to check the breakpoint presence on.
440
- * @param triggered Whether this breakpoint is triggered or not. Default false.
441
- */
442
- async isBreakpointPresent(tabTitle, lineNumber, triggered = false) {
443
- Logger_1.Logger.debug('Editor.isBreakpointPresent');
444
- const linesBarXpathLocator = `//div[contains(@id, '${tabTitle}')]//div[@class='margin']`;
445
- const triggeredBreakpointXpathLocator = `//div[contains(@class, 'theia-debug-breakpoint') and contains(@class, 'theia-debug-top-stack-frame')]`;
446
- const regularBreakpointXpathLocator = `//div[contains(@class, 'theia-debug-breakpoint')]`;
447
- const lineNumberRelativeXpathLocator = `/parent::div/div[contains(@class, 'line-numbers') and text()=${lineNumber}]`;
448
- const breakpointLocator = (triggered ? triggeredBreakpointXpathLocator : regularBreakpointXpathLocator);
449
- const breakpointLineNumberXpathLocator = linesBarXpathLocator + breakpointLocator + lineNumberRelativeXpathLocator;
450
- return await this.driverHelper.isVisible(selenium_webdriver_1.By.xpath(breakpointLineNumberXpathLocator));
451
- }
452
- };
453
- Editor.SUGGESTION_WIDGET_BODY_CSS = 'div.visible[widgetId=\'editor.widget.suggestWidget\']';
454
- Editor.SUGGESTION_LOADING_XPATH = '//div[@widgetid=\'editor.widget.suggestWidget\']//div[@class=\'message\' and contains(.,\'Loading...\')]';
455
- Editor.ADDITIONAL_SHIFTING_TO_Y = 19;
456
- Editor.ADDITIONAL_SHIFTING_TO_X = 1;
457
- Editor = Editor_1 = __decorate([
458
- inversify_1.injectable(),
459
- __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
460
- __metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
461
- ], Editor);
462
- exports.Editor = Editor;
463
- //# sourceMappingURL=Editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Editor.js","sourceRoot":"","sources":["../../../../pageobjects/ide/theia/Editor.ts"],"names":[],"mappings":"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"}