Skip to content

Commit 7c8e95b

Browse files
author
David Haeffner
committed
Added sub-closures to commands that use local variables
1 parent 0bbc6f8 commit 7c8e95b

File tree

2 files changed

+144
-80
lines changed

2 files changed

+144
-80
lines changed

packages/code-export-javascript-mocha/__test__/src/command.spec.js

Lines changed: 53 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ describe('command code emitter', () => {
5858
value: 'label=A label',
5959
}
6060
return expect(prettify(command)).resolves.toBe(
61-
`const dropdown = await driver.findElement(By.css("select"))\nawait dropdown.findElement(By.xpath("//option[. = 'A label']")).click()`
61+
`{\n${commandPrefixPadding}const dropdown = await driver.findElement(By.css("select"))\n${commandPrefixPadding}await dropdown.findElement(By.xpath("//option[. = 'A label']")).click()\n}`
6262
)
6363
})
6464
it('should emit `assert` command', () => {
@@ -108,7 +108,7 @@ describe('command code emitter', () => {
108108
value: '',
109109
}
110110
return expect(prettify(command)).resolves.toBe(
111-
`const element = await driver.findElement(By.id("text"))\nassert(await element.isEnabled())`
111+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("text"))\n${commandPrefixPadding}assert(await element.isEnabled())\n}`
112112
)
113113
})
114114
it('should emit `assert element present` command', () => {
@@ -118,7 +118,7 @@ describe('command code emitter', () => {
118118
value: '',
119119
}
120120
return expect(prettify(command)).resolves.toBe(
121-
`const elements = await driver.findElements(By.id("element"))\nassert(elements.length)`
121+
`{\n${commandPrefixPadding}const elements = await driver.findElements(By.id("element"))\n${commandPrefixPadding}assert(elements.length)\n}`
122122
)
123123
})
124124
it('should emit `assert element not present` command', () => {
@@ -128,7 +128,7 @@ describe('command code emitter', () => {
128128
value: '',
129129
}
130130
return expect(prettify(command)).resolves.toBe(
131-
`const elements = await driver.findElements(By.id("element"))\nassert(!elements.length)`
131+
`{\n${commandPrefixPadding}const elements = await driver.findElements(By.id("element"))\n${commandPrefixPadding}assert(!elements.length)\n}`
132132
)
133133
})
134134
it('should emit `assert not checked` command', () => {
@@ -148,7 +148,7 @@ describe('command code emitter', () => {
148148
value: '',
149149
}
150150
return expect(prettify(command)).resolves.toBe(
151-
`const element = await driver.findElement(By.id("text"))\nassert(!await element.isEnabled())`
151+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("text"))\n${commandPrefixPadding}assert(!await element.isEnabled())\n}`
152152
)
153153
})
154154
it('should emit `assert not selected value` command', () => {
@@ -158,7 +158,7 @@ describe('command code emitter', () => {
158158
value: 'test',
159159
}
160160
return expect(prettify(command)).resolves.toBe(
161-
`const value = await driver.findElement(By.id("select")).getAttribute("value")\nassert(value !== "test")`
161+
`{\n${commandPrefixPadding}const value = await driver.findElement(By.id("select")).getAttribute("value")\n${commandPrefixPadding}assert(value !== "test")\n}`
162162
)
163163
})
164164
it('should emit `assert not text` command', () => {
@@ -168,7 +168,7 @@ describe('command code emitter', () => {
168168
value: 'text',
169169
}
170170
return expect(prettify(command)).resolves.toBe(
171-
`const text = await driver.findElement(By.id("test")).getText()\nassert(text !== "text")`
171+
`{\n${commandPrefixPadding}const text = await driver.findElement(By.id("test")).getText()\n${commandPrefixPadding}assert(text !== "text")\n}`
172172
)
173173
})
174174
it('should emit `assert prompt` command', () => {
@@ -188,7 +188,15 @@ describe('command code emitter', () => {
188188
value: 'test',
189189
}
190190
return expect(prettify(command)).resolves.toBe(
191-
'const element = await driver.findElement(By.id("test")).getAttribute("value")\nconst locator = `option[@value=\'${element}\']`\nconst selectedText = element.findElement(By.xpath(locator)).getText()\nassert(selectedText == "test")'
191+
'{\n' +
192+
commandPrefixPadding +
193+
'const element = await driver.findElement(By.id("test")).getAttribute("value")\n' +
194+
commandPrefixPadding +
195+
"const locator = `option[@value='${element}']`\n" +
196+
commandPrefixPadding +
197+
'const selectedText = element.findElement(By.xpath(locator)).getText()\n' +
198+
commandPrefixPadding +
199+
'assert(selectedText == "test")\n}'
192200
)
193201
})
194202
it('should emit `assert selected value` command', () => {
@@ -198,7 +206,7 @@ describe('command code emitter', () => {
198206
value: 'test',
199207
}
200208
return expect(prettify(command)).resolves.toBe(
201-
`const value = await driver.findElement(By.id("select")).getAttribute("value")\nassert(value == "test")`
209+
`{\n${commandPrefixPadding}const value = await driver.findElement(By.id("select")).getAttribute("value")\n${commandPrefixPadding}assert(value == "test")\n}`
202210
)
203211
})
204212
it('should emit `assert text` command', () => {
@@ -228,7 +236,7 @@ describe('command code emitter', () => {
228236
value: 'test',
229237
}
230238
return expect(prettify(command)).resolves.toBe(
231-
`const value = await driver.findElement(By.id("select")).getAttribute("value")\nassert(value == "test")`
239+
`{\n${commandPrefixPadding}const value = await driver.findElement(By.id("select")).getAttribute("value")\n${commandPrefixPadding}assert(value == "test")\n}`
232240
)
233241
})
234242
it('should emit `click` command', () => {
@@ -258,7 +266,7 @@ describe('command code emitter', () => {
258266
value: '',
259267
}
260268
return expect(prettify(command)).resolves.toBe(
261-
`const element = await driver.findElement(By.id("f"))\nif (await element.isSelected()) await element.click()`
269+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("f"))\n${commandPrefixPadding}if (!(await element.isSelected())) await element.click()\n}`
262270
)
263271
})
264272
it('should emit `close` command', () => {
@@ -287,7 +295,7 @@ describe('command code emitter', () => {
287295
value: '',
288296
}
289297
return expect(prettify(command)).resolves.toBe(
290-
`const element = await driver.findElement(By.linkText("button"))\nawait driver.actions({ bridge: true}).doubleClick(element).perform()`
298+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.linkText("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true}).doubleClick(element).perform()\n}`
291299
)
292300
})
293301
it('should emit `double click at` command', () => {
@@ -297,7 +305,7 @@ describe('command code emitter', () => {
297305
value: '',
298306
}
299307
return expect(prettify(command)).resolves.toBe(
300-
`const element = await driver.findElement(By.linkText("button"))\nawait driver.actions({ bridge: true}).doubleClick(element).perform()`
308+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.linkText("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true}).doubleClick(element).perform()\n}`
301309
)
302310
})
303311
it('should emit `drag and drop to object` command', () => {
@@ -307,7 +315,7 @@ describe('command code emitter', () => {
307315
value: 'link=dropped',
308316
}
309317
return expect(prettify(command)).resolves.toBe(
310-
`const dragged = await driver.findElement(By.linkText("dragged"))\nconst dropped = await driver.findElement(By.linkText("dropped"))\nawait driver.actions({ bridge: true }).dragAndDrop(dragged, dropped).perform()`
318+
`{\n${commandPrefixPadding}const dragged = await driver.findElement(By.linkText("dragged"))\n${commandPrefixPadding}const dropped = await driver.findElement(By.linkText("dropped"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).dragAndDrop(dragged, dropped).perform()\n}`
311319
)
312320
})
313321
it('should emit `echo` command', () => {
@@ -333,7 +341,7 @@ describe('command code emitter', () => {
333341
value: '<button>test</button>',
334342
}
335343
return expect(prettify(command)).resolves.toBe(
336-
`const element = await driver.findElement(By.id("contentEditable"))\nawait driver.executeScript("if(arguments[0].contentEditable === 'true') {arguments[0].innerText = '<button>test</button>'}", element)`
344+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("contentEditable"))\n${commandPrefixPadding}await driver.executeScript("if(arguments[0].contentEditable === 'true') {arguments[0].innerText = '<button>test</button>'}", element)\n}`
337345
)
338346
})
339347
it('should emit `else` command', () => {
@@ -428,7 +436,7 @@ describe('command code emitter', () => {
428436
value: '',
429437
}
430438
return expect(prettify(command)).resolves.toBe(
431-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).clickAndHold().perform()`
439+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).clickAndHold().perform()\n}`
432440
)
433441
})
434442
it('should emit `mouse down at` event', () => {
@@ -438,7 +446,7 @@ describe('command code emitter', () => {
438446
value: '',
439447
}
440448
return expect(prettify(command)).resolves.toBe(
441-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).clickAndHold().perform()`
449+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).clickAndHold().perform()\n}`
442450
)
443451
})
444452
it('should emit `mouse move` event', () => {
@@ -448,7 +456,7 @@ describe('command code emitter', () => {
448456
value: '',
449457
}
450458
return expect(prettify(command)).resolves.toBe(
451-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).perform()`
459+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).perform()\n}`
452460
)
453461
})
454462
it('should emit `mouse move at` event', () => {
@@ -458,7 +466,7 @@ describe('command code emitter', () => {
458466
value: '',
459467
}
460468
return expect(prettify(command)).resolves.toBe(
461-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).perform()`
469+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).perform()\n}`
462470
)
463471
})
464472
it('should emit `mouse out` event', () => {
@@ -468,7 +476,7 @@ describe('command code emitter', () => {
468476
value: '',
469477
}
470478
return expect(prettify(command)).resolves.toBe(
471-
`const element = await driver.findElement(By.CSS_SELECTOR, "body")\nawait driver.actions({ bridge: true }).moveToElement(element, 0, 0).perform()`
479+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.CSS_SELECTOR, "body")\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element, 0, 0).perform()\n}`
472480
)
473481
})
474482
it('should emit `mouse over` event', () => {
@@ -478,7 +486,7 @@ describe('command code emitter', () => {
478486
value: '',
479487
}
480488
return expect(prettify(command)).resolves.toBe(
481-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).perform()`
489+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).perform()\n}`
482490
)
483491
})
484492
it('should emit `mouse up` event', () => {
@@ -488,7 +496,7 @@ describe('command code emitter', () => {
488496
value: '',
489497
}
490498
return expect(prettify(command)).resolves.toBe(
491-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).release().perform()`
499+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).release().perform()\n}`
492500
)
493501
})
494502
it('should emit `mouse up at` event', () => {
@@ -498,7 +506,7 @@ describe('command code emitter', () => {
498506
value: '',
499507
}
500508
return expect(prettify(command)).resolves.toBe(
501-
`const element = await driver.findElement(By.id("button"))\nawait driver.actions({ bridge: true }).moveToElement(element).release().perform()`
509+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("button"))\n${commandPrefixPadding}await driver.actions({ bridge: true }).moveToElement(element).release().perform()\n}`
502510
)
503511
})
504512
it('should emit `open` with absolute url', () => {
@@ -526,7 +534,7 @@ describe('command code emitter', () => {
526534
value: 'label=A label',
527535
}
528536
return expect(prettify(command)).resolves.toBe(
529-
`const dropdown = await driver.findElement(By.css("select"))\nawait dropdown.findElement(By.xpath("//option[. = 'A label']")).click()`
537+
`{\n${commandPrefixPadding}const dropdown = await driver.findElement(By.css("select"))\n${commandPrefixPadding}await dropdown.findElement(By.xpath("//option[. = 'A label']")).click()\n}`
530538
)
531539
})
532540
it('should emit `repeatIf` command', () => {
@@ -564,7 +572,7 @@ describe('command code emitter', () => {
564572
value: 'label=A label',
565573
}
566574
return expect(prettify(command)).resolves.toBe(
567-
`const dropdown = await driver.findElement(By.css("select"))\nawait dropdown.findElement(By.xpath("//option[. = 'A label']")).click()`
575+
`{\n${commandPrefixPadding}const dropdown = await driver.findElement(By.css("select"))\n${commandPrefixPadding}await dropdown.findElement(By.xpath("//option[. = 'A label']")).click()\n}`
568576
)
569577
})
570578
it('should emit `select frame` to select the top frame', () => {
@@ -703,7 +711,7 @@ describe('command code emitter', () => {
703711
value: 'myVar',
704712
}
705713
return expect(prettify(command)).resolves.toBe(
706-
`const attribute = await driver.findElement(By.xpath("button[3]")).getAttribute("id")\nvars["myVar"] = attribute`
714+
`{\n${commandPrefixPadding}const attribute = await driver.findElement(By.xpath("button[3]")).getAttribute("id")\n${commandPrefixPadding}vars["myVar"] = attribute\n}`
707715
)
708716
})
709717
it('should emit `store text` command', () => {
@@ -804,7 +812,7 @@ describe('command code emitter', () => {
804812
value: '',
805813
}
806814
return expect(prettify(command)).resolves.toBe(
807-
`const element = await driver.findElement(By.id("f"))\nif (await element.isSelected()) await element.click()`
815+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("f"))\n${commandPrefixPadding}if (await element.isSelected()) await element.click()\n}`
808816
)
809817
})
810818
it('should emit `verify` command', () => {
@@ -834,7 +842,7 @@ describe('command code emitter', () => {
834842
value: '',
835843
}
836844
return expect(prettify(command)).resolves.toBe(
837-
`const element = await driver.findElement(By.id("text"))\nassert(await element.isEnabled())`
845+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("text"))\n${commandPrefixPadding}assert(await element.isEnabled())\n}`
838846
)
839847
})
840848
it('should emit `verify element present` command', () => {
@@ -844,7 +852,7 @@ describe('command code emitter', () => {
844852
value: '',
845853
}
846854
return expect(prettify(command)).resolves.toBe(
847-
`const elements = await driver.findElements(By.id("element"))\nassert(elements.length)`
855+
`{\n${commandPrefixPadding}const elements = await driver.findElements(By.id("element"))\n${commandPrefixPadding}assert(elements.length)\n}`
848856
)
849857
})
850858
it('should emit `verify element not present` command', () => {
@@ -854,7 +862,7 @@ describe('command code emitter', () => {
854862
value: '',
855863
}
856864
return expect(prettify(command)).resolves.toBe(
857-
`const elements = await driver.findElements(By.id("element"))\nassert(!elements.length)`
865+
`{\n${commandPrefixPadding}const elements = await driver.findElements(By.id("element"))\n${commandPrefixPadding}assert(!elements.length)\n}`
858866
)
859867
})
860868
it('should emit `verify not checked` command', () => {
@@ -874,7 +882,7 @@ describe('command code emitter', () => {
874882
value: '',
875883
}
876884
return expect(prettify(command)).resolves.toBe(
877-
`const element = await driver.findElement(By.id("text"))\nassert(!await element.isEnabled())`
885+
`{\n${commandPrefixPadding}const element = await driver.findElement(By.id("text"))\n${commandPrefixPadding}assert(!await element.isEnabled())\n}`
878886
)
879887
})
880888
it('should emit `verify not selected value` command', () => {
@@ -884,7 +892,7 @@ describe('command code emitter', () => {
884892
value: 'test',
885893
}
886894
return expect(prettify(command)).resolves.toBe(
887-
`const value = await driver.findElement(By.id("select")).getAttribute("value")\nassert(value !== "test")`
895+
`{\n${commandPrefixPadding}const value = await driver.findElement(By.id("select")).getAttribute("value")\n${commandPrefixPadding}assert(value !== "test")\n}`
888896
)
889897
})
890898
it('should emit `verify not text` command', () => {
@@ -894,7 +902,7 @@ describe('command code emitter', () => {
894902
value: 'text',
895903
}
896904
return expect(prettify(command)).resolves.toBe(
897-
`const text = await driver.findElement(By.id("test")).getText()\nassert(text !== "text")`
905+
`{\n${commandPrefixPadding}const text = await driver.findElement(By.id("test")).getText()\n${commandPrefixPadding}assert(text !== "text")\n}`
898906
)
899907
})
900908
it("should emit 'verify selected label' command", () => {
@@ -904,7 +912,15 @@ describe('command code emitter', () => {
904912
value: 'test',
905913
}
906914
return expect(prettify(command)).resolves.toBe(
907-
'const element = await driver.findElement(By.id("test")).getAttribute("value")\nconst locator = `option[@value=\'${element}\']`\nconst selectedText = element.findElement(By.xpath(locator)).getText()\nassert(selectedText == "test")'
915+
'{\n' +
916+
commandPrefixPadding +
917+
'const element = await driver.findElement(By.id("test")).getAttribute("value")\n' +
918+
commandPrefixPadding +
919+
"const locator = `option[@value='${element}']`\n" +
920+
commandPrefixPadding +
921+
'const selectedText = element.findElement(By.xpath(locator)).getText()\n' +
922+
commandPrefixPadding +
923+
'assert(selectedText == "test")\n}'
908924
)
909925
})
910926
it('should emit `verify value` command', () => {
@@ -914,7 +930,7 @@ describe('command code emitter', () => {
914930
value: 'test',
915931
}
916932
return expect(prettify(command)).resolves.toBe(
917-
`const value = await driver.findElement(By.id("select")).getAttribute("value")\nassert(value == "test")`
933+
`{\n${commandPrefixPadding}const value = await driver.findElement(By.id("select")).getAttribute("value")\n${commandPrefixPadding}assert(value == "test")\n}`
918934
)
919935
})
920936
it('should emit `verify selected value` command', () => {
@@ -924,7 +940,7 @@ describe('command code emitter', () => {
924940
value: 'test',
925941
}
926942
return expect(prettify(command)).resolves.toBe(
927-
`const value = await driver.findElement(By.id("select")).getAttribute("value")\nassert(value == "test")`
943+
`{\n${commandPrefixPadding}const value = await driver.findElement(By.id("select")).getAttribute("value")\n${commandPrefixPadding}assert(value == "test")\n}`
928944
)
929945
})
930946
it('should emit `verify text` command', () => {
@@ -1014,7 +1030,7 @@ describe('command code emitter', () => {
10141030
value: '',
10151031
}
10161032
return expect(prettify(command)).resolves.toBe(
1017-
`const alert = await driver.switchTo().alert()\nawait alert.sendKeys("an answer")\nawait alert.accept()`
1033+
`{\n${commandPrefixPadding}const alert = await driver.switchTo().alert()\n${commandPrefixPadding}await alert.sendKeys("an answer")\n${commandPrefixPadding}await alert.accept()\n}`
10181034
)
10191035
})
10201036
it('should emit `choose cancel on visible prompt` command', () => {

0 commit comments

Comments
 (0)