diff --git a/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts b/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts index f834a91a1f..9611071f9a 100644 --- a/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts +++ b/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts @@ -229,7 +229,7 @@ module.exports = { .removeFile('tests/ballotFailedLog_test.sol', 'workspace_new') }, - 'Debug failed test using debugger': function (browser: NightwatchBrowser) { + 'Debug tests using debugger': function (browser: NightwatchBrowser) { browser .waitForElementPresent('*[data-id="verticalIconsKindfilePanel"]') .addFile('tests/ballotFailedDebug_test.sol', sources[0]['tests/ballotFailedDebug_test.sol']) @@ -239,17 +239,19 @@ module.exports = { .click('#runTestsTabRunAction') .waitForElementVisible('*[data-id="testTabSolidityUnitTestsOutputheader"]', 120000) .waitForElementContainsText('#solidityUnittestsOutput', 'tests/ballotFailedDebug_test.sol', 60000) - .waitForElementContainsText('#solidityUnittestsOutput', '✘ Check winning proposal', 60000) + .waitForElementContainsText('#solidityUnittestsOutput', '✘ Check winning proposal failed', 60000) + .waitForElementContainsText('#solidityUnittestsOutput', '✓ Check winnin proposal passed', 60000) + .waitForElementContainsText('#solidityUnittestsOutput', '✘ Check winnin proposal again', 60000) .waitForElementContainsText('#solidityUnittestsOutput', '✓ Check winnin proposal with return value', 60000) - .click('.fa-bug') + .click('#Check_winning_proposal_failed > i') .waitForElementContainsText('*[data-id="sidePanelSwapitTitle"]', 'DEBUGGER', 60000) - .waitForElementContainsText('*[data-id="functionPanel"]', 'checkWinningProposal()', 60000) + .waitForElementContainsText('*[data-id="functionPanel"]', 'checkWinningProposalFailed()', 60000) .click('*[data-id="dropdownPanelSolidityLocals"]') .waitForElementContainsText('*[data-id="solidityLocals"]', 'no locals', 60000) // eslint-disable-next-line dot-notation .execute(function () { document.getElementById('slider')['value'] = '235' }) // It only moves slider to 235 but vm traces are not updated .setValue('*[data-id="slider"]', new Array(1).fill(browser.Keys.RIGHT_ARROW)) - .waitForElementContainsText('*[data-id="functionPanel"]', 'checkWinningProposal()', 60000) + .waitForElementContainsText('*[data-id="functionPanel"]', 'checkWinningProposalFailed()', 60000) .waitForElementContainsText('*[data-id="functionPanel"]', 'vote(proposal)', 60000) .pause(2000) .checkVariableDebug('soliditylocals', locals) @@ -495,11 +497,20 @@ const sources = [ ballotToTest = new Ballot(proposalNames); } - function checkWinningProposal () public { - ballotToTest.vote(1); // This will revert the transaction + function checkWinningProposalFailed () public { + ballotToTest.vote(1); Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); } + function checkWinningProposalPassed () public { + ballotToTest.vote(0); + Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); + } + + function checkWinningProposalAgain () public { + Assert.equal(ballotToTest.winningProposal(), uint(1), "proposal at index 0 should be the winning proposal"); + } + function checkWinninProposalWithReturnValue () public view returns (bool) { return ballotToTest.winningProposal() == 0; } diff --git a/apps/remix-ide/src/app/tabs/test-tab.js b/apps/remix-ide/src/app/tabs/test-tab.js index 239090655a..e7536b181f 100644 --- a/apps/remix-ide/src/app/tabs/test-tab.js +++ b/apps/remix-ide/src/app/tabs/test-tab.js @@ -250,7 +250,7 @@ module.exports = class TestTab extends ViewPlugin { let debugBtn = yo`` if ((result.type === 'testPass' || result.type === 'testFailure') && result.debugTxHash) { const { web3, debugTxHash } = result - debugBtn = yo`
this.startDebug(debugTxHash, web3)}> + debugBtn = yo`
this.startDebug(debugTxHash, web3)}>
` debugBtn.style.cursor = 'pointer'