@eclipse-che/che-e2e 7.50.1-dev-073b203 → 7.50.1-dev-df0db72

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 (215) hide show
  1. package/package.json +1 -1
  2. package/tests/load_test/LoadTest.spec.ts +9 -4
  3. package/testsLibrary/WorkspaceHandlingTests.ts +22 -7
  4. package/dist/TestConstants.js +0 -220
  5. package/dist/TestConstants.js.map +0 -1
  6. package/dist/TimeoutConstants.js +0 -184
  7. package/dist/TimeoutConstants.js.map +0 -1
  8. package/dist/driver/CheReporter.js +0 -181
  9. package/dist/driver/CheReporter.js.map +0 -1
  10. package/dist/driver/ChromeDriver.js +0 -75
  11. package/dist/driver/ChromeDriver.js.map +0 -1
  12. package/dist/driver/IDriver.js +0 -3
  13. package/dist/driver/IDriver.js.map +0 -1
  14. package/dist/index.js +0 -93
  15. package/dist/index.js.map +0 -1
  16. package/dist/inversify.config.js +0 -130
  17. package/dist/inversify.config.js.map +0 -1
  18. package/dist/inversify.types.js +0 -74
  19. package/dist/inversify.types.js.map +0 -1
  20. package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -65
  21. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
  22. package/dist/pageobjects/dashboard/Dashboard.js +0 -115
  23. package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
  24. package/dist/pageobjects/dashboard/Workspaces.js +0 -157
  25. package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
  26. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -138
  27. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
  28. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +0 -97
  29. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +0 -1
  30. package/dist/pageobjects/ide/ContextMenu.js +0 -66
  31. package/dist/pageobjects/ide/ContextMenu.js.map +0 -1
  32. package/dist/pageobjects/ide/DebugView.js +0 -98
  33. package/dist/pageobjects/ide/DebugView.js.map +0 -1
  34. package/dist/pageobjects/ide/DialogWindow.js +0 -102
  35. package/dist/pageobjects/ide/DialogWindow.js.map +0 -1
  36. package/dist/pageobjects/ide/Editor.js +0 -464
  37. package/dist/pageobjects/ide/Editor.js.map +0 -1
  38. package/dist/pageobjects/ide/Ide.js +0 -336
  39. package/dist/pageobjects/ide/Ide.js.map +0 -1
  40. package/dist/pageobjects/ide/LeftToolBar.js +0 -81
  41. package/dist/pageobjects/ide/LeftToolBar.js.map +0 -1
  42. package/dist/pageobjects/ide/NavigationBar.js +0 -57
  43. package/dist/pageobjects/ide/NavigationBar.js.map +0 -1
  44. package/dist/pageobjects/ide/NotificationCenter.js +0 -76
  45. package/dist/pageobjects/ide/NotificationCenter.js.map +0 -1
  46. package/dist/pageobjects/ide/OpenDialogWidget.js +0 -100
  47. package/dist/pageobjects/ide/OpenDialogWidget.js.map +0 -1
  48. package/dist/pageobjects/ide/OpenEditors.js +0 -73
  49. package/dist/pageobjects/ide/OpenEditors.js.map +0 -1
  50. package/dist/pageobjects/ide/OpenWorkspaceWidget.js +0 -62
  51. package/dist/pageobjects/ide/OpenWorkspaceWidget.js.map +0 -1
  52. package/dist/pageobjects/ide/PreviewWidget.js +0 -134
  53. package/dist/pageobjects/ide/PreviewWidget.js.map +0 -1
  54. package/dist/pageobjects/ide/ProjectTree.js +0 -282
  55. package/dist/pageobjects/ide/ProjectTree.js.map +0 -1
  56. package/dist/pageobjects/ide/QuickOpenContainer.js +0 -70
  57. package/dist/pageobjects/ide/QuickOpenContainer.js.map +0 -1
  58. package/dist/pageobjects/ide/RightToolBar.js +0 -51
  59. package/dist/pageobjects/ide/RightToolBar.js.map +0 -1
  60. package/dist/pageobjects/ide/Terminal.js +0 -184
  61. package/dist/pageobjects/ide/Terminal.js.map +0 -1
  62. package/dist/pageobjects/ide/TopMenu.js +0 -109
  63. package/dist/pageobjects/ide/TopMenu.js.map +0 -1
  64. package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.js +0 -128
  65. package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.js.map +0 -1
  66. package/dist/pageobjects/ide/plugins/GitPlugin.js +0 -120
  67. package/dist/pageobjects/ide/plugins/GitPlugin.js.map +0 -1
  68. package/dist/pageobjects/ide/plugins/KubernetesPlugin.js +0 -107
  69. package/dist/pageobjects/ide/plugins/KubernetesPlugin.js.map +0 -1
  70. package/dist/pageobjects/ide/plugins/OpenshiftPlugin.js +0 -99
  71. package/dist/pageobjects/ide/plugins/OpenshiftPlugin.js.map +0 -1
  72. package/dist/pageobjects/ide/plugins/PluginsView.js +0 -166
  73. package/dist/pageobjects/ide/plugins/PluginsView.js.map +0 -1
  74. package/dist/pageobjects/login/ICheLoginPage.js +0 -12
  75. package/dist/pageobjects/login/ICheLoginPage.js.map +0 -1
  76. package/dist/pageobjects/login/IOcpLoginPage.js +0 -12
  77. package/dist/pageobjects/login/IOcpLoginPage.js.map +0 -1
  78. package/dist/pageobjects/login/MultiUserLoginPage.js +0 -49
  79. package/dist/pageobjects/login/MultiUserLoginPage.js.map +0 -1
  80. package/dist/pageobjects/login/OcpUserLoginPage.js +0 -53
  81. package/dist/pageobjects/login/OcpUserLoginPage.js.map +0 -1
  82. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +0 -86
  83. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +0 -1
  84. package/dist/pageobjects/login/UpdateAccountInformationPage.js +0 -74
  85. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +0 -1
  86. package/dist/pageobjects/openshift/CheLoginPage.js +0 -88
  87. package/dist/pageobjects/openshift/CheLoginPage.js.map +0 -1
  88. package/dist/pageobjects/openshift/OcpLoginPage.js +0 -106
  89. package/dist/pageobjects/openshift/OcpLoginPage.js.map +0 -1
  90. package/dist/pageobjects/third-parties/GitLoginPage.js +0 -85
  91. package/dist/pageobjects/third-parties/GitLoginPage.js.map +0 -1
  92. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +0 -110
  93. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +0 -1
  94. package/dist/tests/devfiles/CSlashCPlusPlus.spec.js +0 -73
  95. package/dist/tests/devfiles/CSlashCPlusPlus.spec.js.map +0 -1
  96. package/dist/tests/devfiles/DevfileSmoke.spec.js +0 -47
  97. package/dist/tests/devfiles/DevfileSmoke.spec.js.map +0 -1
  98. package/dist/tests/devfiles/DotNetCore.spec.js +0 -81
  99. package/dist/tests/devfiles/DotNetCore.spec.js.map +0 -1
  100. package/dist/tests/devfiles/Go.spec.js +0 -72
  101. package/dist/tests/devfiles/Go.spec.js.map +0 -1
  102. package/dist/tests/devfiles/JavaMaven.spec.js +0 -60
  103. package/dist/tests/devfiles/JavaMaven.spec.js.map +0 -1
  104. package/dist/tests/devfiles/JavaSpringBoot.spec.js +0 -66
  105. package/dist/tests/devfiles/JavaSpringBoot.spec.js.map +0 -1
  106. package/dist/tests/devfiles/JavaVertx.spec.js +0 -60
  107. package/dist/tests/devfiles/JavaVertx.spec.js.map +0 -1
  108. package/dist/tests/devfiles/NodeJS.spec.js +0 -64
  109. package/dist/tests/devfiles/NodeJS.spec.js.map +0 -1
  110. package/dist/tests/devfiles/PHPSimple.spec.js +0 -74
  111. package/dist/tests/devfiles/PHPSimple.spec.js.map +0 -1
  112. package/dist/tests/devfiles/Python.spec.js +0 -58
  113. package/dist/tests/devfiles/Python.spec.js.map +0 -1
  114. package/dist/tests/devfiles/PythonDjango.spec.js +0 -61
  115. package/dist/tests/devfiles/PythonDjango.spec.js.map +0 -1
  116. package/dist/tests/devfiles/Quarkus.spec.js +0 -69
  117. package/dist/tests/devfiles/Quarkus.spec.js.map +0 -1
  118. package/dist/tests/devfiles/Scala.spec.js +0 -66
  119. package/dist/tests/devfiles/Scala.spec.js.map +0 -1
  120. package/dist/tests/e2e/FactoryUrl.spec.js +0 -40
  121. package/dist/tests/e2e/FactoryUrl.spec.js.map +0 -1
  122. package/dist/tests/e2e/GitPublishBranch.spec.js +0 -90
  123. package/dist/tests/e2e/GitPublishBranch.spec.js.map +0 -1
  124. package/dist/tests/e2e/GitSelfSignCert.spec.js +0 -90
  125. package/dist/tests/e2e/GitSelfSignCert.spec.js.map +0 -1
  126. package/dist/tests/e2e/GitSsh.spec.js +0 -120
  127. package/dist/tests/e2e/GitSsh.spec.js.map +0 -1
  128. package/dist/tests/e2e/OpenshiftConnector.spec.js +0 -124
  129. package/dist/tests/e2e/OpenshiftConnector.spec.js.map +0 -1
  130. package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +0 -50
  131. package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +0 -1
  132. package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.js +0 -48
  133. package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +0 -1
  134. package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +0 -48
  135. package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +0 -1
  136. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js +0 -278
  137. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js.map +0 -1
  138. package/dist/tests/e2e_happy_path/HappyPath.spec.js +0 -314
  139. package/dist/tests/e2e_happy_path/HappyPath.spec.js.map +0 -1
  140. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +0 -39
  141. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +0 -1
  142. package/dist/tests/load_test/LoadTest.spec.js +0 -37
  143. package/dist/tests/load_test/LoadTest.spec.js.map +0 -1
  144. package/dist/tests/login/LinkCheAndOcpUsers.spec.js +0 -39
  145. package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +0 -1
  146. package/dist/tests/login/Login.spec.js +0 -28
  147. package/dist/tests/login/Login.spec.js.map +0 -1
  148. package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js +0 -118
  149. package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js.map +0 -1
  150. package/dist/tests/plugins/InstallPluginUsingUI.spec.js +0 -63
  151. package/dist/tests/plugins/InstallPluginUsingUI.spec.js.map +0 -1
  152. package/dist/tests/plugins/JavaPlugin.spec.js +0 -82
  153. package/dist/tests/plugins/JavaPlugin.spec.js.map +0 -1
  154. package/dist/tests/plugins/PhpPlugin.spec.js +0 -96
  155. package/dist/tests/plugins/PhpPlugin.spec.js.map +0 -1
  156. package/dist/tests/plugins/PythonPlugin.spec.js +0 -72
  157. package/dist/tests/plugins/PythonPlugin.spec.js.map +0 -1
  158. package/dist/tests/plugins/TypescriptPlugin.spec.js +0 -135
  159. package/dist/tests/plugins/TypescriptPlugin.spec.js.map +0 -1
  160. package/dist/tests/plugins/VscodeKubernetesPlugin.spec.js +0 -69
  161. package/dist/tests/plugins/VscodeKubernetesPlugin.spec.js.map +0 -1
  162. package/dist/tests/plugins/VscodeShellcheckPlugin.spec.js +0 -82
  163. package/dist/tests/plugins/VscodeShellcheckPlugin.spec.js.map +0 -1
  164. package/dist/tests/plugins/VscodeValePlugin.spec.js +0 -70
  165. package/dist/tests/plugins/VscodeValePlugin.spec.js.map +0 -1
  166. package/dist/tests/plugins/VscodeXmlPlugin.spec.js +0 -81
  167. package/dist/tests/plugins/VscodeXmlPlugin.spec.js.map +0 -1
  168. package/dist/tests/plugins/VscodeYamlPlugin.spec.js +0 -78
  169. package/dist/tests/plugins/VscodeYamlPlugin.spec.js.map +0 -1
  170. package/dist/testsLibrary/CodeExecutionTests.js +0 -248
  171. package/dist/testsLibrary/CodeExecutionTests.js.map +0 -1
  172. package/dist/testsLibrary/LanguageServerTests.js +0 -230
  173. package/dist/testsLibrary/LanguageServerTests.js.map +0 -1
  174. package/dist/testsLibrary/ProjectAndFileTests.js +0 -105
  175. package/dist/testsLibrary/ProjectAndFileTests.js.map +0 -1
  176. package/dist/testsLibrary/WorkspaceHandlingTests.js +0 -156
  177. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +0 -1
  178. package/dist/utils/AnimationChecker.js +0 -45
  179. package/dist/utils/AnimationChecker.js.map +0 -1
  180. package/dist/utils/BrowserTabsUtil.js +0 -115
  181. package/dist/utils/BrowserTabsUtil.js.map +0 -1
  182. package/dist/utils/DriverHelper.js +0 -616
  183. package/dist/utils/DriverHelper.js.map +0 -1
  184. package/dist/utils/Logger.js +0 -84
  185. package/dist/utils/Logger.js.map +0 -1
  186. package/dist/utils/PreferencesHandler.js +0 -142
  187. package/dist/utils/PreferencesHandler.js.map +0 -1
  188. package/dist/utils/Sanitizer.js +0 -29
  189. package/dist/utils/Sanitizer.js.map +0 -1
  190. package/dist/utils/ScreenCatcher.js +0 -107
  191. package/dist/utils/ScreenCatcher.js.map +0 -1
  192. package/dist/utils/VCS/CheGitApi.js +0 -42
  193. package/dist/utils/VCS/CheGitApi.js.map +0 -1
  194. package/dist/utils/VCS/github/GitHubUtil.js +0 -126
  195. package/dist/utils/VCS/github/GitHubUtil.js.map +0 -1
  196. package/dist/utils/WorkspaceNameHandler.js +0 -60
  197. package/dist/utils/WorkspaceNameHandler.js.map +0 -1
  198. package/dist/utils/requestHandlers/CheApiRequestHandler.js +0 -126
  199. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +0 -1
  200. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -49
  201. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  202. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +0 -12
  203. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  204. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +0 -50
  205. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
  206. package/dist/utils/requestHandlers/tokens/ITokenHandler.js +0 -12
  207. package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +0 -1
  208. package/dist/utils/workspace/ApiUrlResolver.js +0 -67
  209. package/dist/utils/workspace/ApiUrlResolver.js.map +0 -1
  210. package/dist/utils/workspace/ITestWorkspaceUtil.js +0 -12
  211. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +0 -1
  212. package/dist/utils/workspace/TestWorkspaceUtil.js +0 -357
  213. package/dist/utils/workspace/TestWorkspaceUtil.js.map +0 -1
  214. package/dist/utils/workspace/WorkspaceStatus.js +0 -19
  215. package/dist/utils/workspace/WorkspaceStatus.js.map +0 -1
@@ -1,464 +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
- new selenium_webdriver_1.ActionSequence(this.driverHelper.getDriver()).
328
- mouseMove({ x: xPosition, y: yPosition }).
329
- click().
330
- perform();
331
- }
332
- async goToDefinitionWithMouseClicking(line, char, fileName) {
333
- Logger_1.Logger.debug(`Editor.goToDefinitionWithMouseClicking line: "${line}" char: "${char}"`);
334
- const yPosition = await this.getLineYCoordinates(line, fileName) + Editor_1.ADDITIONAL_SHIFTING_TO_Y;
335
- new selenium_webdriver_1.ActionSequence(this.driverHelper.getDriver()).
336
- keyDown(selenium_webdriver_1.Key.CONTROL).
337
- mouseMove({ x: char + Editor_1.ADDITIONAL_SHIFTING_TO_X, y: yPosition }).
338
- click().
339
- keyDown(selenium_webdriver_1.Key.CONTROL).
340
- perform();
341
- }
342
- async mouseRightButtonClick(line, char, fileName) {
343
- Logger_1.Logger.debug(`Editor.mouseRightButtonClick line: "${line}" char: "${char}"`);
344
- const yPosition = await this.getLineYCoordinates(line, fileName) + Editor_1.ADDITIONAL_SHIFTING_TO_Y;
345
- new selenium_webdriver_1.ActionSequence(this.driverHelper.getDriver()).
346
- mouseMove({ x: char + Editor_1.ADDITIONAL_SHIFTING_TO_X, y: yPosition }).
347
- click(selenium_webdriver_1.Button.RIGHT).
348
- perform();
349
- }
350
- async scrollAndSearchSuggestion(editorTabTitle, suggestionLocator, timeout = 10000) {
351
- await this.driverHelper.getDriver().wait(async () => {
352
- const loadingLocator = selenium_webdriver_1.By.xpath(Editor_1.SUGGESTION_LOADING_XPATH);
353
- await this.waitSuggestionContainer();
354
- await this.driverHelper.waitDisappearance(loadingLocator);
355
- await this.driverHelper.wait(1000);
356
- if (await this.driverHelper.isVisible(suggestionLocator)) {
357
- return true;
358
- }
359
- await this.performKeyCombination(editorTabTitle, selenium_webdriver_1.Key.ARROW_DOWN);
360
- }, timeout);
361
- }
362
- getTabWithUnsavedStatus(tabTitle) {
363
- return selenium_webdriver_1.By.xpath(`//div[text()='${tabTitle}']/parent::li[contains(@class, 'theia-mod-dirty')]`);
364
- }
365
- getEditorBodyLocator(editorTabTitle) {
366
- const editorXpathLocator = `//div[@id='theia-main-content-panel']//div[contains(@class, 'monaco-editor')` +
367
- ` and contains(@data-uri, '${editorTabTitle}')]//*[contains(@class, 'lines-content')]`;
368
- return selenium_webdriver_1.By.xpath(editorXpathLocator);
369
- }
370
- getEditorActionArreaLocator(editorTabTitle) {
371
- const editorActionArreaXpathLocator = `//div[@id='theia-main-content-panel']//div[contains(@class, 'monaco-editor')` +
372
- ` and contains(@data-uri, '${editorTabTitle}')]//textarea`;
373
- return selenium_webdriver_1.By.xpath(editorActionArreaXpathLocator);
374
- }
375
- getEditorLineXpathLocator(lineNumber) {
376
- return `(//div[contains(@class,'lines-content')]//div[@class='view-lines monaco-mouse-cursor-text']/div[@class='view-line'])[${lineNumber}]`;
377
- }
378
- getSuggestionLineXpathLocator(suggestionText) {
379
- return selenium_webdriver_1.By.xpath(`//div[@widgetid='editor.widget.suggestWidget']//span[@class='monaco-highlighted-label' and contains(.,'${suggestionText}')]`);
380
- }
381
- getTabXpathLocator(tabTitle) {
382
- return `//li[contains(@class, 'p-TabBar-tab')]//div[text()='${tabTitle}']`;
383
- }
384
- async getErrorInLineLocator(lineNumber, fileName) {
385
- const lineYCoordinates = await this.getLineYCoordinates(lineNumber, fileName);
386
- return selenium_webdriver_1.By.xpath(`//div[contains(@style, 'top:${lineYCoordinates}px')]//div[contains(@class, 'squiggly-error')]`);
387
- }
388
- async getWarningInLineLocator(lineNumber, fileName) {
389
- const lineYCoordinates = await this.getLineYCoordinates(lineNumber, fileName);
390
- return selenium_webdriver_1.By.xpath(`//div[contains(@style, 'top:${lineYCoordinates}px')]//div[contains(@class, 'squiggly-warning')]`);
391
- }
392
- async getInfoInLineLocator(lineNumber, fileName) {
393
- const lineYCoordinates = await this.getLineYCoordinates(lineNumber, fileName);
394
- return selenium_webdriver_1.By.xpath(`//div[contains(@style, 'top:${lineYCoordinates}px')]//div[contains(@class, 'squiggly-info')]`);
395
- }
396
- async waitSuggestionWithResettingCursor(editorTabTitle, suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT, lineNumber, charNumber) {
397
- const suggestionLocator = this.getSuggestionLineXpathLocator(suggestionText);
398
- const methodLogText = `Editor.waitSuggestion tabTitle: "${editorTabTitle}" ` +
399
- `suggestion: "${suggestionText}" ` +
400
- `line: "${lineNumber}" ` +
401
- `char: "${charNumber}"`;
402
- Logger_1.Logger.debug(methodLogText);
403
- await this.driverHelper.getDriver().wait(async () => {
404
- await this.selectTab(editorTabTitle);
405
- await this.moveCursorToLineAndChar(editorTabTitle, lineNumber, charNumber);
406
- await this.pressControlSpaceCombination(editorTabTitle);
407
- try {
408
- await this.driverHelper.waitVisibility(suggestionLocator, 5000);
409
- await this.closeSuggestionContainer(editorTabTitle);
410
- return true;
411
- }
412
- catch (err) {
413
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
414
- throw err;
415
- }
416
- }
417
- }, timeout);
418
- }
419
- async waitSuggestionWithoutResettingCursor(editorTabTitle, suggestionText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SUGGESTION_TIMEOUT) {
420
- Logger_1.Logger.debug(`Editor.waitSuggestion tabTitle: "${editorTabTitle}" suggestion: "${suggestionText}"`);
421
- const suggestionLocator = this.getSuggestionLineXpathLocator(suggestionText);
422
- await this.driverHelper.getDriver().wait(async () => {
423
- try {
424
- await this.driverHelper.waitVisibility(suggestionLocator, 5000);
425
- await this.closeSuggestionContainer(editorTabTitle);
426
- return true;
427
- }
428
- catch (err) {
429
- if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
430
- throw err;
431
- }
432
- await this.closeSuggestionContainer(editorTabTitle, timeout);
433
- await this.pressControlSpaceCombination(editorTabTitle);
434
- }
435
- }, timeout);
436
- }
437
- /**
438
- * Checks for breakpoint presence in currently opened editor on given line.
439
- *
440
- * @param lineNumber Line number to check the breakpoint presence on.
441
- * @param triggered Whether this breakpoint is triggered or not. Default false.
442
- */
443
- async isBreakpointPresent(tabTitle, lineNumber, triggered = false) {
444
- Logger_1.Logger.debug('Editor.isBreakpointPresent');
445
- const linesBarXpathLocator = `//div[contains(@id, '${tabTitle}')]//div[@class='margin']`;
446
- const triggeredBreakpointXpathLocator = `//div[contains(@class, 'theia-debug-breakpoint') and contains(@class, 'theia-debug-top-stack-frame')]`;
447
- const regularBreakpointXpathLocator = `//div[contains(@class, 'theia-debug-breakpoint')]`;
448
- const lineNumberRelativeXpathLocator = `/parent::div/div[contains(@class, 'line-numbers') and text()=${lineNumber}]`;
449
- const breakpointLocator = (triggered ? triggeredBreakpointXpathLocator : regularBreakpointXpathLocator);
450
- const breakpointLineNumberXpathLocator = linesBarXpathLocator + breakpointLocator + lineNumberRelativeXpathLocator;
451
- return await this.driverHelper.isVisible(selenium_webdriver_1.By.xpath(breakpointLineNumberXpathLocator));
452
- }
453
- };
454
- Editor.SUGGESTION_WIDGET_BODY_CSS = 'div.visible[widgetId=\'editor.widget.suggestWidget\']';
455
- Editor.SUGGESTION_LOADING_XPATH = '//div[@widgetid=\'editor.widget.suggestWidget\']//div[@class=\'message\' and contains(.,\'Loading...\')]';
456
- Editor.ADDITIONAL_SHIFTING_TO_Y = 19;
457
- Editor.ADDITIONAL_SHIFTING_TO_X = 1;
458
- Editor = Editor_1 = __decorate([
459
- inversify_1.injectable(),
460
- __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
461
- __metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
462
- ], Editor);
463
- exports.Editor = Editor;
464
- //# sourceMappingURL=Editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Editor.js","sourceRoot":"","sources":["../../../pageobjects/ide/Editor.ts"],"names":[],"mappings":"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"}