hotstaq 0.5.3

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 (318) hide show
  1. package/.dockerignore +123 -0
  2. package/.eslintignore +17 -0
  3. package/.eslintrc.js +11 -0
  4. package/.vscode/launch.json +201 -0
  5. package/.vscode/settings.json +2 -0
  6. package/.vscode/tasks.json +88 -0
  7. package/CONTRIBUTING.md +157 -0
  8. package/LICENSE +21 -0
  9. package/README.md +128 -0
  10. package/bin/hotstaq +3 -0
  11. package/bin/hotstaq.cmd +1 -0
  12. package/build/src/Hot.d.ts +167 -0
  13. package/build/src/Hot.d.ts.map +1 -0
  14. package/build/src/Hot.js +365 -0
  15. package/build/src/Hot.js.map +1 -0
  16. package/build/src/HotAPI.d.ts +137 -0
  17. package/build/src/HotAPI.d.ts.map +1 -0
  18. package/build/src/HotAPI.js +353 -0
  19. package/build/src/HotAPI.js.map +1 -0
  20. package/build/src/HotAgentAPI.d.ts +22 -0
  21. package/build/src/HotAgentAPI.d.ts.map +1 -0
  22. package/build/src/HotAgentAPI.js +85 -0
  23. package/build/src/HotAgentAPI.js.map +1 -0
  24. package/build/src/HotAgentRoute.d.ts +17 -0
  25. package/build/src/HotAgentRoute.d.ts.map +1 -0
  26. package/build/src/HotAgentRoute.js +109 -0
  27. package/build/src/HotAgentRoute.js.map +1 -0
  28. package/build/src/HotBuilder.d.ts +52 -0
  29. package/build/src/HotBuilder.d.ts.map +1 -0
  30. package/build/src/HotBuilder.js +242 -0
  31. package/build/src/HotBuilder.js.map +1 -0
  32. package/build/src/HotClient.d.ts +31 -0
  33. package/build/src/HotClient.d.ts.map +1 -0
  34. package/build/src/HotClient.js +19 -0
  35. package/build/src/HotClient.js.map +1 -0
  36. package/build/src/HotComponent.d.ts +118 -0
  37. package/build/src/HotComponent.d.ts.map +1 -0
  38. package/build/src/HotComponent.js +89 -0
  39. package/build/src/HotComponent.js.map +1 -0
  40. package/build/src/HotCreator.d.ts +88 -0
  41. package/build/src/HotCreator.d.ts.map +1 -0
  42. package/build/src/HotCreator.js +445 -0
  43. package/build/src/HotCreator.js.map +1 -0
  44. package/build/src/HotDB.d.ts +69 -0
  45. package/build/src/HotDB.d.ts.map +1 -0
  46. package/build/src/HotDB.js +29 -0
  47. package/build/src/HotDB.js.map +1 -0
  48. package/build/src/HotDBConnectionInterface.d.ts +40 -0
  49. package/build/src/HotDBConnectionInterface.d.ts.map +1 -0
  50. package/build/src/HotDBConnectionInterface.js +3 -0
  51. package/build/src/HotDBConnectionInterface.js.map +1 -0
  52. package/build/src/HotFile.d.ts +134 -0
  53. package/build/src/HotFile.d.ts.map +1 -0
  54. package/build/src/HotFile.js +454 -0
  55. package/build/src/HotFile.js.map +1 -0
  56. package/build/src/HotGenerator.d.ts +80 -0
  57. package/build/src/HotGenerator.d.ts.map +1 -0
  58. package/build/src/HotGenerator.js +342 -0
  59. package/build/src/HotGenerator.js.map +1 -0
  60. package/build/src/HotHTTPServer.d.ts +162 -0
  61. package/build/src/HotHTTPServer.d.ts.map +1 -0
  62. package/build/src/HotHTTPServer.js +863 -0
  63. package/build/src/HotHTTPServer.js.map +1 -0
  64. package/build/src/HotIO.d.ts +47 -0
  65. package/build/src/HotIO.d.ts.map +1 -0
  66. package/build/src/HotIO.js +232 -0
  67. package/build/src/HotIO.js.map +1 -0
  68. package/build/src/HotLog.d.ts +60 -0
  69. package/build/src/HotLog.d.ts.map +1 -0
  70. package/build/src/HotLog.js +126 -0
  71. package/build/src/HotLog.js.map +1 -0
  72. package/build/src/HotPage.d.ts +125 -0
  73. package/build/src/HotPage.d.ts.map +1 -0
  74. package/build/src/HotPage.js +178 -0
  75. package/build/src/HotPage.js.map +1 -0
  76. package/build/src/HotRoute.d.ts +82 -0
  77. package/build/src/HotRoute.d.ts.map +1 -0
  78. package/build/src/HotRoute.js +83 -0
  79. package/build/src/HotRoute.js.map +1 -0
  80. package/build/src/HotRouteMethod.d.ts +129 -0
  81. package/build/src/HotRouteMethod.d.ts.map +1 -0
  82. package/build/src/HotRouteMethod.js +84 -0
  83. package/build/src/HotRouteMethod.js.map +1 -0
  84. package/build/src/HotServer.d.ts +152 -0
  85. package/build/src/HotServer.d.ts.map +1 -0
  86. package/build/src/HotServer.js +109 -0
  87. package/build/src/HotServer.js.map +1 -0
  88. package/build/src/HotSetAsWeb.d.ts +2 -0
  89. package/build/src/HotSetAsWeb.d.ts.map +1 -0
  90. package/build/src/HotSetAsWeb.js +5 -0
  91. package/build/src/HotSetAsWeb.js.map +1 -0
  92. package/build/src/HotStaq.d.ts +603 -0
  93. package/build/src/HotStaq.d.ts.map +1 -0
  94. package/build/src/HotStaq.js +1260 -0
  95. package/build/src/HotStaq.js.map +1 -0
  96. package/build/src/HotStaqWeb.d.ts +18 -0
  97. package/build/src/HotStaqWeb.d.ts.map +1 -0
  98. package/build/src/HotStaqWeb.js +44 -0
  99. package/build/src/HotStaqWeb.js.map +1 -0
  100. package/build/src/HotTestDriver.d.ts +63 -0
  101. package/build/src/HotTestDriver.d.ts.map +1 -0
  102. package/build/src/HotTestDriver.js +187 -0
  103. package/build/src/HotTestDriver.js.map +1 -0
  104. package/build/src/HotTestElement.d.ts +71 -0
  105. package/build/src/HotTestElement.d.ts.map +1 -0
  106. package/build/src/HotTestElement.js +37 -0
  107. package/build/src/HotTestElement.js.map +1 -0
  108. package/build/src/HotTestMap.d.ts +83 -0
  109. package/build/src/HotTestMap.d.ts.map +1 -0
  110. package/build/src/HotTestMap.js +58 -0
  111. package/build/src/HotTestMap.js.map +1 -0
  112. package/build/src/HotTestSeleniumDriver.d.ts +86 -0
  113. package/build/src/HotTestSeleniumDriver.d.ts.map +1 -0
  114. package/build/src/HotTestSeleniumDriver.js +400 -0
  115. package/build/src/HotTestSeleniumDriver.js.map +1 -0
  116. package/build/src/HotTester.d.ts +188 -0
  117. package/build/src/HotTester.d.ts.map +1 -0
  118. package/build/src/HotTester.js +622 -0
  119. package/build/src/HotTester.js.map +1 -0
  120. package/build/src/HotTesterAPI.d.ts +15 -0
  121. package/build/src/HotTesterAPI.d.ts.map +1 -0
  122. package/build/src/HotTesterAPI.js +161 -0
  123. package/build/src/HotTesterAPI.js.map +1 -0
  124. package/build/src/HotTesterMocha.d.ts +50 -0
  125. package/build/src/HotTesterMocha.d.ts.map +1 -0
  126. package/build/src/HotTesterMocha.js +205 -0
  127. package/build/src/HotTesterMocha.js.map +1 -0
  128. package/build/src/HotTesterMochaSelenium.d.ts +70 -0
  129. package/build/src/HotTesterMochaSelenium.d.ts.map +1 -0
  130. package/build/src/HotTesterMochaSelenium.js +257 -0
  131. package/build/src/HotTesterMochaSelenium.js.map +1 -0
  132. package/build/src/HotTesterServer.d.ts +114 -0
  133. package/build/src/HotTesterServer.d.ts.map +1 -0
  134. package/build/src/HotTesterServer.js +575 -0
  135. package/build/src/HotTesterServer.js.map +1 -0
  136. package/build/src/api copy.d.ts +2 -0
  137. package/build/src/api copy.d.ts.map +1 -0
  138. package/build/src/api copy.js +153 -0
  139. package/build/src/api copy.js.map +1 -0
  140. package/build/src/api-web.d.ts +2 -0
  141. package/build/src/api-web.d.ts.map +1 -0
  142. package/build/src/api-web.js +45 -0
  143. package/build/src/api-web.js.map +1 -0
  144. package/build/src/api.d.ts +33 -0
  145. package/build/src/api.d.ts.map +1 -0
  146. package/build/src/api.js +78 -0
  147. package/build/src/api.js.map +1 -0
  148. package/build/src/cli.d.ts +2 -0
  149. package/build/src/cli.d.ts.map +1 -0
  150. package/build/src/cli.js +1040 -0
  151. package/build/src/cli.js.map +1 -0
  152. package/build/src/schemas/HotDBInflux.d.ts +63 -0
  153. package/build/src/schemas/HotDBInflux.d.ts.map +1 -0
  154. package/build/src/schemas/HotDBInflux.js +239 -0
  155. package/build/src/schemas/HotDBInflux.js.map +1 -0
  156. package/build/src/schemas/HotDBMigration.d.ts +19 -0
  157. package/build/src/schemas/HotDBMigration.d.ts.map +1 -0
  158. package/build/src/schemas/HotDBMigration.js +15 -0
  159. package/build/src/schemas/HotDBMigration.js.map +1 -0
  160. package/build/src/schemas/HotDBMySQL.d.ts +65 -0
  161. package/build/src/schemas/HotDBMySQL.d.ts.map +1 -0
  162. package/build/src/schemas/HotDBMySQL.js +387 -0
  163. package/build/src/schemas/HotDBMySQL.js.map +1 -0
  164. package/build/src/schemas/HotDBSchema.d.ts +15 -0
  165. package/build/src/schemas/HotDBSchema.d.ts.map +1 -0
  166. package/build/src/schemas/HotDBSchema.js +19 -0
  167. package/build/src/schemas/HotDBSchema.js.map +1 -0
  168. package/build/src/schemas/influx/InfluxSchema.d.ts +14 -0
  169. package/build/src/schemas/influx/InfluxSchema.d.ts.map +1 -0
  170. package/build/src/schemas/influx/InfluxSchema.js +33 -0
  171. package/build/src/schemas/influx/InfluxSchema.js.map +1 -0
  172. package/build/src/schemas/mysql/MySQLSchema.d.ts +39 -0
  173. package/build/src/schemas/mysql/MySQLSchema.d.ts.map +1 -0
  174. package/build/src/schemas/mysql/MySQLSchema.js +151 -0
  175. package/build/src/schemas/mysql/MySQLSchema.js.map +1 -0
  176. package/build/src/schemas/mysql/MySQLSchemaField.d.ts +168 -0
  177. package/build/src/schemas/mysql/MySQLSchemaField.d.ts.map +1 -0
  178. package/build/src/schemas/mysql/MySQLSchemaField.js +260 -0
  179. package/build/src/schemas/mysql/MySQLSchemaField.js.map +1 -0
  180. package/build/src/schemas/mysql/MySQLSchemaTable.d.ts +49 -0
  181. package/build/src/schemas/mysql/MySQLSchemaTable.d.ts.map +1 -0
  182. package/build/src/schemas/mysql/MySQLSchemaTable.js +310 -0
  183. package/build/src/schemas/mysql/MySQLSchemaTable.js.map +1 -0
  184. package/build-web/HotStaq.js +2 -0
  185. package/build-web/HotStaq.min.js +119 -0
  186. package/build-web/HotStaqTests_HelloWorldAPI.js +133 -0
  187. package/builder/docker/Dockerfile.linux.gen +42 -0
  188. package/builder/docker/README.md +36 -0
  189. package/builder/docker/app/start.sh +8 -0
  190. package/builder/docker/dockerignore +3 -0
  191. package/builder/docker/scripts/build.bat +11 -0
  192. package/builder/docker/scripts/build.sh +11 -0
  193. package/builder/docker/scripts/start-app.bat +7 -0
  194. package/builder/docker/scripts/start-app.sh +7 -0
  195. package/builder/docker/scripts/stop-app.bat +5 -0
  196. package/builder/docker/scripts/stop-app.sh +5 -0
  197. package/builder/docker-compose/docker-compose.gen.yaml +41 -0
  198. package/builder/docker-compose/env-skeleton +4 -0
  199. package/creator/project/.vscode/launch.json +59 -0
  200. package/creator/project/README.md +20 -0
  201. package/creator/project/gitignore +118 -0
  202. package/creator/project/npmignore +118 -0
  203. package/creator/public/api-test.hott +28 -0
  204. package/creator/public/index.hott +12 -0
  205. package/creator/ts/src/AppAPI.ts +30 -0
  206. package/creator/ts/src/HelloWorld.ts +39 -0
  207. package/creator/ts/src/WebExport.ts +7 -0
  208. package/creator/ts/tsconfig-web.json +73 -0
  209. package/creator/ts/tsconfig.json +73 -0
  210. package/creator/ts/webpack-api.config.js +57 -0
  211. package/dbstart.sh +19 -0
  212. package/dbstop.sh +4 -0
  213. package/docs/.nojekyll +1 -0
  214. package/docs/README.md +130 -0
  215. package/docs/classes/Hot.md +477 -0
  216. package/docs/classes/HotAPI.md +369 -0
  217. package/docs/classes/HotClient.md +95 -0
  218. package/docs/classes/HotComponent.md +279 -0
  219. package/docs/classes/HotDB.md +247 -0
  220. package/docs/classes/HotDBInflux.md +404 -0
  221. package/docs/classes/HotDBMigration.md +80 -0
  222. package/docs/classes/HotDBMySQL.md +310 -0
  223. package/docs/classes/HotDBSchema.md +51 -0
  224. package/docs/classes/HotFile.md +353 -0
  225. package/docs/classes/HotHTTPServer.md +700 -0
  226. package/docs/classes/HotLog.md +162 -0
  227. package/docs/classes/HotPage.md +357 -0
  228. package/docs/classes/HotRoute.md +312 -0
  229. package/docs/classes/HotRouteMethod.md +271 -0
  230. package/docs/classes/HotServer.md +311 -0
  231. package/docs/classes/HotStaq.md +1155 -0
  232. package/docs/classes/HotTestDestination.md +58 -0
  233. package/docs/classes/HotTestDriver.md +332 -0
  234. package/docs/classes/HotTestElement.md +88 -0
  235. package/docs/classes/HotTestElementOptions.md +71 -0
  236. package/docs/classes/HotTestMap.md +92 -0
  237. package/docs/classes/HotTestSeleniumDriver.md +542 -0
  238. package/docs/classes/HotTester.md +653 -0
  239. package/docs/classes/HotTesterAPI.md +493 -0
  240. package/docs/classes/HotTesterMocha.md +843 -0
  241. package/docs/classes/HotTesterMochaSelenium.md +896 -0
  242. package/docs/classes/HotTesterServer.md +633 -0
  243. package/docs/classes/InfluxSchema.md +74 -0
  244. package/docs/classes/MySQLSchema.md +199 -0
  245. package/docs/classes/MySQLSchemaField.md +330 -0
  246. package/docs/classes/MySQLSchemaTable.md +176 -0
  247. package/docs/enums/ConnectionStatus.md +43 -0
  248. package/docs/enums/DeveloperMode.md +38 -0
  249. package/docs/enums/EventExecutionType.md +43 -0
  250. package/docs/enums/HTTPMethod.md +32 -0
  251. package/docs/enums/HotDBGenerationType.md +30 -0
  252. package/docs/enums/HotLogLevel.md +88 -0
  253. package/docs/interfaces/HotDBConnectionInterface.md +116 -0
  254. package/docs/interfaces/HotDestination.md +62 -0
  255. package/docs/interfaces/HotSite.md +187 -0
  256. package/docs/interfaces/HotSiteMapPath.md +37 -0
  257. package/docs/interfaces/HotSiteRoute.md +79 -0
  258. package/docs/interfaces/HotStartOptions.md +115 -0
  259. package/docs/interfaces/HotTestPage.md +44 -0
  260. package/docs/interfaces/HotTestStop.md +62 -0
  261. package/docs/interfaces/IHotComponent.md +135 -0
  262. package/docs/interfaces/IHotStaq.md +118 -0
  263. package/docs/interfaces/IHotTestElement.md +54 -0
  264. package/docs/interfaces/IHotTestElementOptions.md +43 -0
  265. package/docs/interfaces/MySQLResults.md +43 -0
  266. package/docs/interfaces/MySQLSchemaFieldResult.md +75 -0
  267. package/docs/modules.md +182 -0
  268. package/package.json +65 -0
  269. package/selenium-start.sh +7 -0
  270. package/selenium-stop.sh +3 -0
  271. package/src/Hot.ts +319 -0
  272. package/src/HotAPI.ts +386 -0
  273. package/src/HotAgentAPI.ts +43 -0
  274. package/src/HotAgentRoute.ts +44 -0
  275. package/src/HotBuilder.ts +221 -0
  276. package/src/HotClient.ts +40 -0
  277. package/src/HotComponent.ts +158 -0
  278. package/src/HotCreator.ts +470 -0
  279. package/src/HotDB.ts +79 -0
  280. package/src/HotDBConnectionInterface.ts +40 -0
  281. package/src/HotFile.ts +617 -0
  282. package/src/HotGenerator.ts +446 -0
  283. package/src/HotHTTPServer.ts +954 -0
  284. package/src/HotIO.ts +160 -0
  285. package/src/HotLog.ts +158 -0
  286. package/src/HotPage.ts +206 -0
  287. package/src/HotRoute.ts +137 -0
  288. package/src/HotRouteMethod.ts +216 -0
  289. package/src/HotServer.ts +211 -0
  290. package/src/HotSetAsWeb.ts +3 -0
  291. package/src/HotStaq.ts +1881 -0
  292. package/src/HotTestDriver.ts +171 -0
  293. package/src/HotTestElement.ts +97 -0
  294. package/src/HotTestMap.ts +130 -0
  295. package/src/HotTestSeleniumDriver.ts +381 -0
  296. package/src/HotTester.ts +696 -0
  297. package/src/HotTesterAPI.ts +126 -0
  298. package/src/HotTesterMocha.ts +133 -0
  299. package/src/HotTesterMochaSelenium.ts +189 -0
  300. package/src/HotTesterServer.ts +551 -0
  301. package/src/api-web.ts +48 -0
  302. package/src/api.ts +103 -0
  303. package/src/cli.ts +1225 -0
  304. package/src/schemas/HotDBInflux.ts +211 -0
  305. package/src/schemas/HotDBMigration.ts +24 -0
  306. package/src/schemas/HotDBMySQL.ts +312 -0
  307. package/src/schemas/HotDBSchema.ts +21 -0
  308. package/src/schemas/influx/InfluxSchema.ts +19 -0
  309. package/src/schemas/mysql/MySQLSchema.ts +90 -0
  310. package/src/schemas/mysql/MySQLSchemaField.ts +408 -0
  311. package/src/schemas/mysql/MySQLSchemaTable.ts +353 -0
  312. package/temp/HotStaqWeb.ts +59 -0
  313. package/tsconfig-generator.json +17 -0
  314. package/tsconfig-web.json +74 -0
  315. package/tsconfig.json +73 -0
  316. package/webpack.config.generator.js +41 -0
  317. package/webpack.config.js +53 -0
  318. package/webpack.config.tests.js +56 -0
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HotTestMap = exports.HotTestDestination = void 0;
4
+ /**
5
+ * The destination to take in a map.
6
+ */
7
+ var HotTestDestination = /** @class */ (function () {
8
+ function HotTestDestination(destination, autoStart) {
9
+ if (destination === void 0) { destination = ""; }
10
+ if (autoStart === void 0) { autoStart = true; }
11
+ if (typeof (destination) === "string") {
12
+ this.destination = destination;
13
+ this.autoStart = autoStart;
14
+ }
15
+ else {
16
+ if (destination instanceof HotTestDestination) {
17
+ this.destination = destination.destination;
18
+ this.autoStart = destination.autoStart;
19
+ }
20
+ else {
21
+ this.destination = destination.path;
22
+ this.autoStart = destination.autoStart;
23
+ }
24
+ }
25
+ }
26
+ return HotTestDestination;
27
+ }());
28
+ exports.HotTestDestination = HotTestDestination;
29
+ /**
30
+ * Maps the paths that are taken to complete a test.
31
+ */
32
+ var HotTestMap = /** @class */ (function () {
33
+ function HotTestMap(destinations, pages, destinationOrder) {
34
+ if (destinations === void 0) { destinations = []; }
35
+ if (pages === void 0) { pages = {}; }
36
+ if (destinationOrder === void 0) { destinationOrder = []; }
37
+ // Go through and convert any strings into HotTestDestinations.
38
+ if (destinations instanceof Array) {
39
+ this.destinations = [];
40
+ for (var iIdx = 0; iIdx < destinations.length; iIdx++) {
41
+ var dest = destinations[iIdx];
42
+ this.destinations.push(new HotTestDestination(dest));
43
+ }
44
+ }
45
+ else {
46
+ this.destinations = {};
47
+ for (var key in destinations) {
48
+ var dest = destinations[key];
49
+ this.destinations[key] = new HotTestDestination(dest);
50
+ }
51
+ }
52
+ this.destinationOrder = destinationOrder;
53
+ this.pages = pages;
54
+ }
55
+ return HotTestMap;
56
+ }());
57
+ exports.HotTestMap = HotTestMap;
58
+ //# sourceMappingURL=HotTestMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HotTestMap.js","sourceRoot":"","sources":["../../src/HotTestMap.ts"],"names":[],"mappings":";;;AASA;;GAEG;AACH;IAYC,4BAAa,WAA8D,EAAE,SAAyB;QAAzF,4BAAA,EAAA,gBAA8D;QAAE,0BAAA,EAAA,gBAAyB;QAErG,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,EACrC;YACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC3B;aAED;YACC,IAAI,WAAW,YAAY,kBAAkB,EAC7C;gBACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;aACvC;iBAED;gBACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;aACvC;SACD;IACF,CAAC;IACF,yBAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,gDAAkB;AAkD/B;;GAEG;AACH;IAkCC,oBAAa,YAAqG,EACjH,KAA2C,EAAE,gBAA+B;QADhE,6BAAA,EAAA,iBAAqG;QACjH,sBAAA,EAAA,UAA2C;QAAE,iCAAA,EAAA,qBAA+B;QAE5E,+DAA+D;QAC/D,IAAI,YAAY,YAAY,KAAK,EACjC;YACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAEvB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EACrD;gBACC,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBAE9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,IAAI,kBAAkB,CAAE,IAAI,CAAC,CAAC,CAAC;aACvD;SACD;aAED;YACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAEvB,KAAK,IAAI,GAAG,IAAI,YAAY,EAC5B;gBACC,IAAI,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAE7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,kBAAkB,CAAE,IAAI,CAAC,CAAC;aACvD;SACD;QAED,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IACF,iBAAC;AAAD,CAAC,AAhED,IAgEC;AAhEY,gCAAU"}
@@ -0,0 +1,86 @@
1
+ import { HotTestElement, HotTestElementOptions } from "./HotTestElement";
2
+ import { HotTestDriver } from "./HotTestDriver";
3
+ import { HotTestPage } from "./HotTestMap";
4
+ import { By, WebDriver, WebElement, Session } from "selenium-webdriver";
5
+ /**
6
+ * Runs and executes tests using Selenium.
7
+ */
8
+ export declare class HotTestSeleniumDriver extends HotTestDriver {
9
+ /**
10
+ * The current selenium session running.
11
+ */
12
+ session: Session;
13
+ /**
14
+ * The selenium webdriver.
15
+ */
16
+ driver: WebDriver;
17
+ /**
18
+ * The browser to use.
19
+ */
20
+ browser: string;
21
+ /**
22
+ * Run the tests headless.
23
+ */
24
+ headless: boolean;
25
+ /**
26
+ * Disable GPU usage and the Chrome Sandbox. Mostly for usage within Docker.
27
+ */
28
+ disableGPUAndSandbox: boolean;
29
+ /**
30
+ * Automatically open the developer tools on start.
31
+ */
32
+ openDevTools: boolean;
33
+ /**
34
+ * Set the remote server to use for testing.
35
+ */
36
+ remoteServer: string;
37
+ /**
38
+ * Set the window size on start.
39
+ */
40
+ windowSize: {
41
+ /**
42
+ * The width of the window.
43
+ */
44
+ width: number;
45
+ /**
46
+ * The height of the window.
47
+ */
48
+ height: number;
49
+ };
50
+ constructor(page?: HotTestPage);
51
+ /**
52
+ * Disconnect this server or destroy anything associated with this HotTestDriver.
53
+ */
54
+ destroy(): Promise<void>;
55
+ /**
56
+ * Load the selenium driver.
57
+ */
58
+ loadSeleniumDriver(): Promise<void>;
59
+ /**
60
+ * Get a test object by it's name. If a * is used, it will be used as a
61
+ * wildcard for the object's name. If a > is used, then the name will
62
+ * be treated as a CSS selector.
63
+ */
64
+ getTestObjectByName(name: string): By;
65
+ /**
66
+ * Navigate to a url.
67
+ */
68
+ navigateToUrl(url: string): Promise<void>;
69
+ /**
70
+ * Wait for a test element using Selenium Webdriver.
71
+ */
72
+ waitForTestElement(name: string | HotTestElement, options?: HotTestElementOptions): Promise<WebElement>;
73
+ /**
74
+ * Get a test element using selenium webdriver.
75
+ */
76
+ findTestElement(name: string | HotTestElement, options?: HotTestElementOptions): Promise<WebElement>;
77
+ /**
78
+ * Run a command using Selenium Webdriver.
79
+ */
80
+ runCommand(testElm: string | HotTestElement, funcName?: string, valueStr?: string, options?: HotTestElementOptions): Promise<any>;
81
+ /**
82
+ * An expression to test.
83
+ */
84
+ assertElementValue(name: string | HotTestElement, value: any, errorMessage?: string, options?: HotTestElementOptions): Promise<any>;
85
+ }
86
+ //# sourceMappingURL=HotTestSeleniumDriver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HotTestSeleniumDriver.d.ts","sourceRoot":"","sources":["../../src/HotTestSeleniumDriver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,EAAE,EAAS,SAAS,EAAE,UAAU,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AAIxF;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IAEvD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE;QACV;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;gBAEU,IAAI,GAAE,WAAkB;IAcrC;;OAEG;IACG,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAW/B;;OAEG;IACG,kBAAkB,IAAK,OAAO,CAAC,IAAI,CAAC;IAoF1C;;;;OAIG;IACH,mBAAmB,CAAE,IAAI,EAAE,MAAM,GAAG,EAAE;IAOtC;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACG,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EACtD,OAAO,GAAE,qBAAoD,GAAG,OAAO,CAAC,UAAU,CAAC;IAiCpF;;OAEG;IACG,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EACnD,OAAO,GAAE,qBAAoD,GAAG,OAAO,CAAC,UAAU,CAAC;IAsCpF;;OAEG;IACG,UAAU,CAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,QAAQ,GAAE,MAAW,EACvE,QAAQ,GAAE,MAAW,EACrB,OAAO,GAAE,qBAAoD,GAAG,OAAO,CAAC,GAAG,CAAC;IAkD9E;;OAEG;IACG,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,KAAK,EAAE,GAAG,EAClE,YAAY,GAAE,MAAW,EACzB,OAAO,GAAE,qBAAoD,GAAG,OAAO,CAAC,GAAG,CAAC;CAiD7E"}
@@ -0,0 +1,400 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.HotTestSeleniumDriver = void 0;
58
+ var HotTestElement_1 = require("./HotTestElement");
59
+ var HotTestDriver_1 = require("./HotTestDriver");
60
+ var selenium_webdriver_1 = require("selenium-webdriver");
61
+ var chrome_1 = __importDefault(require("selenium-webdriver/chrome"));
62
+ var firefox_1 = __importDefault(require("selenium-webdriver/firefox"));
63
+ /**
64
+ * Runs and executes tests using Selenium.
65
+ */
66
+ var HotTestSeleniumDriver = /** @class */ (function (_super) {
67
+ __extends(HotTestSeleniumDriver, _super);
68
+ function HotTestSeleniumDriver(page) {
69
+ if (page === void 0) { page = null; }
70
+ var _this = _super.call(this, page) || this;
71
+ _this.driver = null;
72
+ _this.session = null;
73
+ _this.browser = "chrome";
74
+ _this.headless = false;
75
+ _this.disableGPUAndSandbox = false;
76
+ _this.openDevTools = false;
77
+ _this.remoteServer = "";
78
+ _this.windowSize = null;
79
+ return _this;
80
+ }
81
+ /**
82
+ * Disconnect this server or destroy anything associated with this HotTestDriver.
83
+ */
84
+ HotTestSeleniumDriver.prototype.destroy = function () {
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ return __generator(this, function (_a) {
87
+ switch (_a.label) {
88
+ case 0:
89
+ if (!(this.driver != null)) return [3 /*break*/, 2];
90
+ return [4 /*yield*/, this.driver.quit()];
91
+ case 1:
92
+ _a.sent();
93
+ this.driver = null;
94
+ this.session = null;
95
+ _a.label = 2;
96
+ case 2: return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ /**
102
+ * Load the selenium driver.
103
+ */
104
+ HotTestSeleniumDriver.prototype.loadSeleniumDriver = function () {
105
+ return __awaiter(this, void 0, void 0, function () {
106
+ var createWindowSize, builder, options, options, _a, _b;
107
+ var _this = this;
108
+ return __generator(this, function (_c) {
109
+ switch (_c.label) {
110
+ case 0:
111
+ createWindowSize = function () {
112
+ if (_this.windowSize == null)
113
+ _this.windowSize = { width: 1920, height: 1080 };
114
+ };
115
+ builder = new selenium_webdriver_1.Builder();
116
+ builder = builder.forBrowser(this.browser);
117
+ if (process.env["SELENIUM_REMOTE_SERVER"] != null)
118
+ this.remoteServer = process.env["SELENIUM_REMOTE_SERVER"];
119
+ if (process.env["SELENIUM_WINDOW_WIDTH"] != null) {
120
+ createWindowSize();
121
+ this.windowSize.width = parseFloat(process.env["SELENIUM_WINDOW_WIDTH"]);
122
+ }
123
+ if (process.env["SELENIUM_WINDOW_HEIGHT"] != null) {
124
+ createWindowSize();
125
+ this.windowSize.height = parseFloat(process.env["SELENIUM_WINDOW_HEIGHT"]);
126
+ }
127
+ if (this.remoteServer !== "") {
128
+ builder = builder.usingServer(this.remoteServer);
129
+ createWindowSize();
130
+ this.headless = true;
131
+ }
132
+ if (this.browser === "firefox") {
133
+ options = new firefox_1.default.Options();
134
+ if (this.openDevTools === true)
135
+ options = options.addArguments("-devtools");
136
+ if (this.headless === true)
137
+ options = options.headless();
138
+ if (this.windowSize != null)
139
+ options = options.windowSize(this.windowSize);
140
+ if (process.env.NODE_TLS_REJECT_UNAUTHORIZED != null) {
141
+ if (process.env.NODE_TLS_REJECT_UNAUTHORIZED == "0")
142
+ options.setAcceptInsecureCerts(true);
143
+ }
144
+ builder = builder.setFirefoxOptions(options);
145
+ }
146
+ if (this.browser === "chrome") {
147
+ options = new chrome_1.default.Options();
148
+ if (this.disableGPUAndSandbox === true)
149
+ options = options.addArguments("--disable-gpu", "--no-sandbox");
150
+ if (this.openDevTools === true)
151
+ options = options.addArguments("--auto-open-devtools-for-tabs");
152
+ if (this.headless === true)
153
+ options = options.headless();
154
+ if (this.windowSize != null)
155
+ options = options.windowSize(this.windowSize);
156
+ if (process.env.NODE_TLS_REJECT_UNAUTHORIZED != null) {
157
+ if (process.env.NODE_TLS_REJECT_UNAUTHORIZED == "0")
158
+ options.setAcceptInsecureCerts(true);
159
+ }
160
+ builder = builder.setChromeOptions(options);
161
+ }
162
+ _a = this;
163
+ return [4 /*yield*/, builder.build()];
164
+ case 1:
165
+ _a.driver = _c.sent();
166
+ _b = this;
167
+ return [4 /*yield*/, this.driver.getSession()];
168
+ case 2:
169
+ _b.session = _c.sent();
170
+ return [2 /*return*/];
171
+ }
172
+ });
173
+ });
174
+ };
175
+ /**
176
+ * Get a test object by it's name. If a * is used, it will be used as a
177
+ * wildcard for the object's name. If a > is used, then the name will
178
+ * be treated as a CSS selector.
179
+ */
180
+ HotTestSeleniumDriver.prototype.getTestObjectByName = function (name) {
181
+ var selector = this.parseTestObject(name);
182
+ return (selenium_webdriver_1.By.css(selector));
183
+ };
184
+ /**
185
+ * Navigate to a url.
186
+ */
187
+ HotTestSeleniumDriver.prototype.navigateToUrl = function (url) {
188
+ return __awaiter(this, void 0, void 0, function () {
189
+ return __generator(this, function (_a) {
190
+ switch (_a.label) {
191
+ case 0: return [4 /*yield*/, this.driver.get(url)];
192
+ case 1:
193
+ _a.sent();
194
+ return [2 /*return*/];
195
+ }
196
+ });
197
+ });
198
+ };
199
+ /**
200
+ * Wait for a test element using Selenium Webdriver.
201
+ */
202
+ HotTestSeleniumDriver.prototype.waitForTestElement = function (name, options) {
203
+ if (options === void 0) { options = new HotTestElement_1.HotTestElementOptions(); }
204
+ return __awaiter(this, void 0, void 0, function () {
205
+ var nameStr, foundElm, elms, iIdx, elm;
206
+ return __generator(this, function (_a) {
207
+ switch (_a.label) {
208
+ case 0:
209
+ nameStr = "";
210
+ if (typeof (name) === "string")
211
+ nameStr = name;
212
+ else
213
+ nameStr = name.name;
214
+ foundElm = null;
215
+ if (!(options.mustBeVisible === false)) return [3 /*break*/, 2];
216
+ return [4 /*yield*/, this.driver.wait(selenium_webdriver_1.until.elementLocated(this.getTestObjectByName(nameStr)))];
217
+ case 1:
218
+ foundElm = _a.sent();
219
+ return [3 /*break*/, 7];
220
+ case 2: return [4 /*yield*/, this.driver.wait(selenium_webdriver_1.until.elementsLocated(this.getTestObjectByName(nameStr)))];
221
+ case 3:
222
+ elms = _a.sent();
223
+ iIdx = 0;
224
+ _a.label = 4;
225
+ case 4:
226
+ if (!(iIdx < elms.length)) return [3 /*break*/, 7];
227
+ elm = elms[iIdx];
228
+ return [4 /*yield*/, elm.isDisplayed()];
229
+ case 5:
230
+ if ((_a.sent()) === true) {
231
+ foundElm = elm;
232
+ return [3 /*break*/, 7];
233
+ }
234
+ _a.label = 6;
235
+ case 6:
236
+ iIdx++;
237
+ return [3 /*break*/, 4];
238
+ case 7: return [2 /*return*/, (foundElm)];
239
+ }
240
+ });
241
+ });
242
+ };
243
+ /**
244
+ * Get a test element using selenium webdriver.
245
+ */
246
+ HotTestSeleniumDriver.prototype.findTestElement = function (name, options) {
247
+ if (options === void 0) { options = new HotTestElement_1.HotTestElementOptions(); }
248
+ return __awaiter(this, void 0, void 0, function () {
249
+ var nameStr, foundElm, elms, elms, iIdx, elm;
250
+ return __generator(this, function (_a) {
251
+ switch (_a.label) {
252
+ case 0:
253
+ nameStr = "";
254
+ if (typeof (name) === "string")
255
+ nameStr = name;
256
+ else
257
+ nameStr = name.name;
258
+ foundElm = null;
259
+ if (!(options.mustBeVisible === false)) return [3 /*break*/, 2];
260
+ return [4 /*yield*/, this.driver.findElements(this.getTestObjectByName(nameStr))];
261
+ case 1:
262
+ elms = _a.sent();
263
+ if (elms.length > 0)
264
+ foundElm = elms[0];
265
+ return [3 /*break*/, 7];
266
+ case 2: return [4 /*yield*/, this.driver.findElements(this.getTestObjectByName(nameStr))];
267
+ case 3:
268
+ elms = _a.sent();
269
+ iIdx = 0;
270
+ _a.label = 4;
271
+ case 4:
272
+ if (!(iIdx < elms.length)) return [3 /*break*/, 7];
273
+ elm = elms[iIdx];
274
+ return [4 /*yield*/, elm.isDisplayed()];
275
+ case 5:
276
+ if ((_a.sent()) === true) {
277
+ foundElm = elm;
278
+ return [3 /*break*/, 7];
279
+ }
280
+ _a.label = 6;
281
+ case 6:
282
+ iIdx++;
283
+ return [3 /*break*/, 4];
284
+ case 7: return [2 /*return*/, (foundElm)];
285
+ }
286
+ });
287
+ });
288
+ };
289
+ /**
290
+ * Run a command using Selenium Webdriver.
291
+ */
292
+ HotTestSeleniumDriver.prototype.runCommand = function (testElm, funcName, valueStr, options) {
293
+ if (funcName === void 0) { funcName = ""; }
294
+ if (valueStr === void 0) { valueStr = ""; }
295
+ if (options === void 0) { options = new HotTestElement_1.HotTestElementOptions(); }
296
+ return __awaiter(this, void 0, void 0, function () {
297
+ var name, func, value, elm, result;
298
+ return __generator(this, function (_a) {
299
+ switch (_a.label) {
300
+ case 0:
301
+ name = "";
302
+ func = "";
303
+ value = "";
304
+ if (typeof (testElm) !== "string") {
305
+ name = testElm.name;
306
+ func = testElm.func;
307
+ value = testElm.value;
308
+ }
309
+ else {
310
+ name = testElm;
311
+ func = funcName;
312
+ value = valueStr;
313
+ }
314
+ return [4 /*yield*/, this.findTestElement(name, options)];
315
+ case 1:
316
+ elm = _a.sent();
317
+ result = null;
318
+ if (elm == null) {
319
+ if (options.ignoreMissingElementError === true)
320
+ return [2 /*return*/, (result)];
321
+ throw new Error("HotTestSeleniumDriver: Unable to find test element ".concat(name, "!"));
322
+ }
323
+ if (!(func != null)) return [3 /*break*/, 5];
324
+ if (!(func !== "")) return [3 /*break*/, 5];
325
+ if (!(value != null)) return [3 /*break*/, 3];
326
+ return [4 /*yield*/, elm[func](value)];
327
+ case 2:
328
+ /// @ts-ignore
329
+ result = _a.sent();
330
+ return [3 /*break*/, 5];
331
+ case 3: return [4 /*yield*/, elm[func]()];
332
+ case 4:
333
+ /// @ts-ignore
334
+ result = _a.sent();
335
+ _a.label = 5;
336
+ case 5: return [2 /*return*/, (result)];
337
+ }
338
+ });
339
+ });
340
+ };
341
+ /**
342
+ * An expression to test.
343
+ */
344
+ HotTestSeleniumDriver.prototype.assertElementValue = function (name, value, errorMessage, options) {
345
+ if (errorMessage === void 0) { errorMessage = ""; }
346
+ if (options === void 0) { options = new HotTestElement_1.HotTestElementOptions(); }
347
+ return __awaiter(this, void 0, void 0, function () {
348
+ var elm, realName, elmValue, elmValue2, elmValue3, finalElmValue;
349
+ return __generator(this, function (_a) {
350
+ switch (_a.label) {
351
+ case 0: return [4 /*yield*/, this.findTestElement(name, options)];
352
+ case 1:
353
+ elm = _a.sent();
354
+ if (elm == null) {
355
+ realName = "";
356
+ if (typeof (name) === "string")
357
+ realName = name;
358
+ else
359
+ realName = name.name;
360
+ if (options.ignoreMissingElementError === true)
361
+ return [2 /*return*/];
362
+ throw new Error("Unable to find test object ".concat(realName));
363
+ }
364
+ return [4 /*yield*/, elm.getText()];
365
+ case 2:
366
+ elmValue = _a.sent();
367
+ elmValue2 = "";
368
+ elmValue3 = "";
369
+ finalElmValue = elmValue;
370
+ if (!(finalElmValue === "")) return [3 /*break*/, 4];
371
+ return [4 /*yield*/, elm.getAttribute("value")];
372
+ case 3:
373
+ elmValue2 = _a.sent();
374
+ if (elmValue2 != null) {
375
+ if (elmValue2 !== "")
376
+ finalElmValue = elmValue2;
377
+ }
378
+ _a.label = 4;
379
+ case 4:
380
+ if (!(finalElmValue === "")) return [3 /*break*/, 6];
381
+ return [4 /*yield*/, elm.getAttribute("innerHTML")];
382
+ case 5:
383
+ elmValue3 = _a.sent();
384
+ if (elmValue3 != null) {
385
+ if (elmValue3 !== "")
386
+ finalElmValue = elmValue3;
387
+ }
388
+ _a.label = 6;
389
+ case 6:
390
+ if (finalElmValue != value)
391
+ throw new Error("Error: ".concat(errorMessage, ". Expected: ").concat(JSON.stringify(value), ", Actual: ").concat(JSON.stringify(finalElmValue)));
392
+ return [2 /*return*/];
393
+ }
394
+ });
395
+ });
396
+ };
397
+ return HotTestSeleniumDriver;
398
+ }(HotTestDriver_1.HotTestDriver));
399
+ exports.HotTestSeleniumDriver = HotTestSeleniumDriver;
400
+ //# sourceMappingURL=HotTestSeleniumDriver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HotTestSeleniumDriver.js","sourceRoot":"","sources":["../../src/HotTestSeleniumDriver.ts"],"names":[],"mappings":"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"}