Skip to content

Commit ec96022

Browse files
STetsingci-bot
authored andcommitted
udated unfold
1 parent 33037f1 commit ec96022

File tree

2 files changed

+21
-26
lines changed

2 files changed

+21
-26
lines changed

apps/remix-ide-e2e/src/commands/expandAllFolders.ts

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,38 +33,33 @@ function expandAllFolders (browser: NightwatchBrowser, targetDirectory?: string,
3333
})
3434
})
3535
.perform(() => {
36-
let iteration = 0
37-
const maxIterations = 20 // Prevent infinite loops
36+
let attempts = 0
37+
const maxAttempts = 200
3838

39-
const clickNext = () => {
40-
if (iteration >= maxIterations) {
39+
const expandNextClosedFolder = () => {
40+
if (attempts >= maxAttempts) {
4141
if (done) done()
4242
return
4343
}
44+
attempts++
4445

45-
iteration++
46+
const closedFolderSelector = targetDirectory
47+
? `li[data-id*="treeViewLitreeViewItem${targetDirectory}"] .fa-folder:not(.fa-folder-open)`
48+
: 'li[data-id*="treeViewLitreeViewItem"] .fa-folder:not(.fa-folder-open)'
4649

47-
// Find folders that are not expanded, / in case no folder is passed
48-
const folderSelector = targetDirectory ?
49-
`li[data-id*="treeViewLitreeViewItem${targetDirectory}"] li[data-id*="treeViewLitreeViewItem"] .fa-folder:not(.fa-folder-open)` :
50-
'li[data-id*="treeViewLitreeViewItem"] .fa-folder:not(.fa-folder-open)'
51-
52-
browser.element('css selector', folderSelector, (result) => {
50+
browser.element('css selector', closedFolderSelector, (result) => {
5351
if (result.status === 0 && result.value) {
54-
// Found a closed folder, click its parent li element
55-
browser.element('css selector', folderSelector, (elementResult) => {
56-
if (elementResult.status === 0) {
57-
browser.elementIdElement((elementResult.value as any)['element-6066-11e4-a52e-4f735466cecf'], 'xpath', './..', (parentResult) => {
58-
if (parentResult.status === 0) {
59-
browser.elementIdClick((parentResult.value as any)['element-6066-11e4-a52e-4f735466cecf']) // click on folder name
60-
.pause(100)
61-
.perform(() => clickNext()) // recursive nested folders
62-
} else {
63-
if (done) done()
64-
}
65-
})
52+
// Found a closed folder icon, now find its parent li element and click it
53+
browser.elementIdElement((result.value as any)['element-6066-11e4-a52e-4f735466cecf'], 'xpath', './..', (parentResult) => {
54+
if (parentResult.status === 0) {
55+
browser.elementIdClick((parentResult.value as any)['element-6066-11e4-a52e-4f735466cecf'])
56+
.pause(100) // Wait for folder to expand and DOM to update
57+
.perform(() => expandNextClosedFolder()) // Look for next closed folder
6658
} else {
67-
if (done) done()
59+
// Failed to find parent, try alternative approach
60+
browser.click(closedFolderSelector)
61+
.pause(100)
62+
.perform(() => expandNextClosedFolder()) // recursive call
6863
}
6964
})
7065
} else {
@@ -73,7 +68,7 @@ function expandAllFolders (browser: NightwatchBrowser, targetDirectory?: string,
7368
})
7469
}
7570

76-
clickNext()
71+
expandNextClosedFolder()
7772
})
7873
}
7974

apps/remix-ide-e2e/src/tests/solidityImport.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ module.exports = {
129129
.click('li[data-id="treeViewLitreeViewItemREADME.txt"')
130130
.addFile('package.json', sources[9]['package.json'])
131131
.addFile('Untitled10.sol', sources[9]['Untitled10.sol'])
132-
.expandAllFolders() // unfold also .deps folder and nested folders
132+
.expandAllFolders()
133133
// avoid invalid source issues
134134
.isVisible({
135135
selector: '*[data-id="treeViewLitreeViewItem.deps/npm/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"]',

0 commit comments

Comments
 (0)