|
|
|
@ -56,10 +56,10 @@ module.exports = { |
|
|
|
|
}, |
|
|
|
|
'Should load the code from URL params (code param) #group1': function (browser: NightwatchBrowser) { |
|
|
|
|
browser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.url('http://127.0.0.1:8080/#autoCompile=true&optimize=true&runs=300&code=cHJhZ21hIHNvbGlkaXR5ID49MC42LjAgPDAuNy4wOwoKaW1wb3J0ICJodHRwczovL2dpdGh1Yi5jb20vT3BlblplcHBlbGluL29wZW56ZXBwZWxpbi1jb250cmFjdHMvYmxvYi9tYXN0ZXIvY29udHJhY3RzL2FjY2Vzcy9Pd25hYmxlLnNvbCI7Cgpjb250cmFjdCBHZXRQYWlkIGlzIE93bmFibGUgewogIGZ1bmN0aW9uIHdpdGhkcmF3KCkgZXh0ZXJuYWwgb25seU93bmVyIHsKICB9Cn0') |
|
|
|
|
.refreshPage() // we do one reload for making sure we already have the default workspace
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.verify.elementPresent('[data-id="compilerContainerAutoCompile"]:checked') |
|
|
|
|
.click('[for="autoCompile"]') // we set it too false again
|
|
|
|
|
.click('[for="autoCompile"]') // back to True in the local storage
|
|
|
|
@ -75,7 +75,7 @@ module.exports = { |
|
|
|
|
|
|
|
|
|
'Should load the code from URL params (url param) #group1': function (browser: NightwatchBrowser) { |
|
|
|
|
browser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.url('http://127.0.0.1:8080/#optimize=true&runs=300&url=https://github.com/ethereum/remix-project/blob/master/apps/remix-ide/contracts/app/solidity/mode.sol') |
|
|
|
|
.refreshPage() // we do one reload for making sure we already have the default workspace
|
|
|
|
|
.waitForElementVisible({ |
|
|
|
@ -92,7 +92,7 @@ module.exports = { |
|
|
|
|
|
|
|
|
|
'Should load Etherscan verified contracts from URL "address" param)': !function (browser: NightwatchBrowser) { |
|
|
|
|
browser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.url('http://127.0.0.1:8080/#address=0x56db08fb78bc6689a1ef66efd079083fed0e4915') |
|
|
|
|
.refreshPage() |
|
|
|
|
|
|
|
|
@ -141,11 +141,11 @@ module.exports = { |
|
|
|
|
|
|
|
|
|
'Should load the code from language & code params #group1': function (browser: NightwatchBrowser) { |
|
|
|
|
browser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.url('http://127.0.0.1:8080/#language=yul&code=Ly8gQSBjb250cmFjdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBvYmplY3Qgd2l0aCBzdWItb2JqZWN0cyByZXByZXNlbnRpbmcKLy8gdGhlIGNvZGUgdG8gYmUgZGVwbG95ZWQgb3Igb3RoZXIgY29udHJhY3RzIGl0IGNhbiBjcmVhdGUuCi8vIFRoZSBzaW5nbGUgImNvZGUiIG5vZGUgaXMgdGhlIGV4ZWN1dGFibGUgY29kZSBvZiB0aGUgb2JqZWN0LgovLyBFdmVyeSAob3RoZXIpIG5hbWVkIG9iamVjdCBvciBkYXRhIHNlY3Rpb24gaXMgc2VyaWFsaXplZCBhbmQKLy8gbWFkZSBhY2Nlc3NpYmxlIHRvIHRoZSBzcGVjaWFsIGJ1aWx0LWluIGZ1bmN0aW9ucyBkYXRhY29weSAvIGRhdGFvZmZzZXQgLyBkYXRhc2l6ZQovLyBUaGUgY3VycmVudCBvYmplY3QsIHN1Yi1vYmplY3RzIGFuZCBkYXRhIGl0ZW1zIGluc2lkZSB0aGUgY3VycmVudCBvYmplY3QKLy8gYXJlIGluIHNjb3BlLgpvYmplY3QgIkNvbnRyYWN0MSIgewogICAgLy8gVGhpcyBpcyB0aGUgY29uc3RydWN0b3IgY29kZSBvZiB0aGUgY29udHJhY3QuCiAgICBjb2RlIHsKICAgICAgICBmdW5jdGlvbiBhbGxvY2F0ZShzaXplKSAtPiBwdHIgewogICAgICAgICAgICBwdHIgOj0gbWxvYWQoMHg0MCkKICAgICAgICAgICAgaWYgaXN6ZXJvKHB0cikgeyBwdHIgOj0gMHg2MCB9CiAgICAgICAgICAgIG1zdG9yZSgweDQwLCBhZGQocHRyLCBzaXplKSkKICAgICAgICB9CgogICAgICAgIC8vIGZpcnN0IGNyZWF0ZSAiQ29udHJhY3QyIgogICAgICAgIGxldCBzaXplIDo9IGRhdGFzaXplKCJDb250cmFjdDIiKQogICAgICAgIGxldCBvZmZzZXQgOj0gYWxsb2NhdGUoc2l6ZSkKICAgICAgICAvLyBUaGlzIHdpbGwgdHVybiBpbnRvIGNvZGVjb3B5IGZvciBFVk0KICAgICAgICBkYXRhY29weShvZmZzZXQsIGRhdGFvZmZzZXQoIkNvbnRyYWN0MiIpLCBzaXplKQogICAgICAgIC8vIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBpcyBhIHNpbmdsZSBudW1iZXIgMHgxMjM0CiAgICAgICAgbXN0b3JlKGFkZChvZmZzZXQsIHNpemUpLCAweDEyMzQpCiAgICAgICAgcG9wKGNyZWF0ZShvZmZzZXQsIGFkZChzaXplLCAzMiksIDApKQoKICAgICAgICAvLyBub3cgcmV0dXJuIHRoZSBydW50aW1lIG9iamVjdCAodGhlIGN1cnJlbnRseQogICAgICAgIC8vIGV4ZWN1dGluZyBjb2RlIGlzIHRoZSBjb25zdHJ1Y3RvciBjb2RlKQogICAgICAgIHNpemUgOj0gZGF0YXNpemUoIkNvbnRyYWN0MV9kZXBsb3llZCIpCiAgICAgICAgb2Zmc2V0IDo9IGFsbG9jYXRlKHNpemUpCiAgICAgICAgLy8gVGhpcyB3aWxsIHR1cm4gaW50byBhIG1lbW9yeS0+bWVtb3J5IGNvcHkgZm9yIEV3YXNtIGFuZAogICAgICAgIC8vIGEgY29kZWNvcHkgZm9yIEVWTQogICAgICAgIGRhdGFjb3B5KG9mZnNldCwgZGF0YW9mZnNldCgiQ29udHJhY3QxX2RlcGxveWVkIiksIHNpemUpCiAgICAgICAgcmV0dXJuKG9mZnNldCwgc2l6ZSkKICAgIH0KCiAgICBkYXRhICJUYWJsZTIiIGhleCI0MTIzIgoKICAgIG9iamVjdCAiQ29udHJhY3QxX2RlcGxveWVkIiB7CiAgICAgICAgY29kZSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGFsbG9jYXRlKHNpemUpIC0+IHB0ciB7CiAgICAgICAgICAgICAgICBwdHIgOj0gbWxvYWQoMHg0MCkKICAgICAgICAgICAgICAgIGlmIGlzemVybyhwdHIpIHsgcHRyIDo9IDB4NjAgfQogICAgICAgICAgICAgICAgbXN0b3JlKDB4NDAsIGFkZChwdHIsIHNpemUpKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBydW50aW1lIGNvZGUKCiAgICAgICAgICAgIG1zdG9yZSgwLCAiSGVsbG8sIFdvcmxkISIpCiAgICAgICAgICAgIHJldHVybigwLCAweDIwKQogICAgICAgIH0KICAgIH0KCiAgICAvLyBFbWJlZGRlZCBvYmplY3QuIFVzZSBjYXNlIGlzIHRoYXQgdGhlIG91dHNpZGUgaXMgYSBmYWN0b3J5IGNvbnRyYWN0LAogICAgLy8gYW5kIENvbnRyYWN0MiBpcyB0aGUgY29kZSB0byBiZSBjcmVhdGVkIGJ5IHRoZSBmYWN0b3J5CiAgICBvYmplY3QgIkNvbnRyYWN0MiIgewogICAgICAgIGNvZGUgewogICAgICAgICAgICAvLyBjb2RlIGhlcmUgLi4uCiAgICAgICAgfQoKICAgICAgICBvYmplY3QgIkNvbnRyYWN0Ml9kZXBsb3llZCIgewogICAgICAgICAgICBjb2RlIHsKICAgICAgICAgICAgICAgIC8vIGNvZGUgaGVyZSAuLi4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZGF0YSAiVGFibGUxIiBoZXgiNDEyMyIKICAgIH0KfQ&optimize=false&runs=200&evmVersion=null') |
|
|
|
|
.refreshPage() |
|
|
|
|
.waitForElementVisible('[data-id="compilerContainerCompileBtn"]') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.clickLaunchIcon('filePanel') |
|
|
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcontract-eaa022e37e.yul"]') |
|
|
|
|
.currentWorkspaceIs('code-sample') |
|
|
|
@ -165,6 +165,21 @@ module.exports = { |
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
.pause(2000) |
|
|
|
|
.click('[data-id="compilerContainerCompileBtn"]') |
|
|
|
|
.clickLaunchIcon('filePanel') |
|
|
|
|
.waitForElementVisible({ |
|
|
|
|
selector: '*[data-id="treeViewDivtreeViewItem.deps/npm/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol"]', |
|
|
|
|
timeout: 120000, |
|
|
|
|
abortOnFailure: false, |
|
|
|
|
suppressNotFoundErrors: true |
|
|
|
|
}) |
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
.click('[data-id="compilerContainerCompileBtn"]') |
|
|
|
|
.clickLaunchIcon('filePanel') |
|
|
|
|
.waitForElementVisible({ |
|
|
|
|
selector: '*[data-id="treeViewDivtreeViewItem.deps/npm/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol"]', |
|
|
|
|
timeout: 120000, |
|
|
|
|
}) |
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
.waitForElementPresent('select[id="compiledContracts"] option[value=MyToken]', 60000) |
|
|
|
|
.clickLaunchIcon('udapp') |
|
|
|
|
.click('select.udapp_contractNames') |
|
|
|
@ -196,12 +211,13 @@ module.exports = { |
|
|
|
|
|
|
|
|
|
'Should load using various URL compiler params #group2': function (browser: NightwatchBrowser) { |
|
|
|
|
browser |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.url('http://127.0.0.1:8080/#optimize=true&runs=300&autoCompile=true&evmVersion=istanbul&version=soljson-v0.8.16+commit.07a7930e.js&language=Yul') |
|
|
|
|
.refreshPage() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
.click('*[data-id="scConfigExpander"]') |
|
|
|
|
.waitForElementVisible('#versionSelector option[data-id="selected"]') |
|
|
|
|
.assert.containsText('#versionSelector option[data-id="selected"]', '0.8.16+commit.07a7930e') |
|
|
|
|
.assert.containsText('#evmVersionSelector option[data-id="selected"]', 'istanbul') |
|
|
|
|
.assert.containsText('#compilierLanguageSelector option[data-id="selected"]', 'Yul') |
|
|
|
@ -210,13 +226,15 @@ module.exports = { |
|
|
|
|
.verify.attributeEquals('#runs', 'value', '300') |
|
|
|
|
.url('http://127.0.0.1:8080/#version=0.8.7') |
|
|
|
|
.refreshPage() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
.waitForElementVisible('#versionSelector option[data-id="selected"]') |
|
|
|
|
.assert.containsText('#versionSelector option[data-id="selected"]', '0.8.7+commit.e28d00a7') |
|
|
|
|
.url('http://127.0.0.1:8080/#version=0.8.15+commit.e14f2714') |
|
|
|
|
.refreshPage() |
|
|
|
|
|
|
|
|
|
.pause(3000) |
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
.waitForElementVisible('#versionSelector option[data-id="selected"]') |
|
|
|
|
.assert.containsText('#versionSelector option[data-id="selected"]', '0.8.15+commit.e14f2714') |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
@ -224,9 +242,9 @@ module.exports = { |
|
|
|
|
browser |
|
|
|
|
.url('http://127.0.0.1:8080/#version=https://solidity-blog.s3.eu-central-1.amazonaws.com/data/08preview/soljson.js&optimize=false') |
|
|
|
|
.refreshPage() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.clickLaunchIcon('solidity') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.click('*[data-id="scConfigExpander"]') |
|
|
|
|
.assert.containsText('#versionSelector option[data-id="selected"]', 'custom') |
|
|
|
|
// default values
|
|
|
|
@ -242,7 +260,7 @@ module.exports = { |
|
|
|
|
browser |
|
|
|
|
.url('http://127.0.0.1:8080/#optimize=false&runs=200&url=https://raw.githubusercontent.com/EthVM/evm-source-verification/main/contracts/1/0x011e5846975c6463a8c6337eecf3cbf64e328884/input.json') |
|
|
|
|
.refreshPage() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.switchWorkspace('code-sample') |
|
|
|
|
.openFile('@openzeppelin') |
|
|
|
|
.openFile('@openzeppelin/contracts') |
|
|
|
|