parent
8c14ed384a
commit
5633de3ad2
@ -0,0 +1,16 @@ |
|||||||
|
import { NightwatchBrowser } from 'nightwatch' |
||||||
|
import EventEmitter from 'events' |
||||||
|
|
||||||
|
class SetSolidityCompilerVersion extends EventEmitter { |
||||||
|
command (this: NightwatchBrowser, version: string): NightwatchBrowser { |
||||||
|
this.api |
||||||
|
.click(`#compileTabView #versionSelector [value="${version}"]`) |
||||||
|
.pause(5000) |
||||||
|
.perform(() => { |
||||||
|
this.emit('complete') |
||||||
|
}) |
||||||
|
return this |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = SetSolidityCompilerVersion |
@ -0,0 +1,89 @@ |
|||||||
|
'use strict' |
||||||
|
import { NightwatchBrowser } from "nightwatch" |
||||||
|
import init from '../helpers/init' |
||||||
|
import sauce from './sauce' |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
before: function (browser: NightwatchBrowser, done: VoidFunction) { |
||||||
|
init(browser, done) |
||||||
|
}, |
||||||
|
|
||||||
|
'@sources': function () { |
||||||
|
return sources |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Simple Contract': function (browser: NightwatchBrowser) { |
||||||
|
browser.testContracts('Untitled.sol', sources[0]['browser/Untitled.sol'], ['test1', 'test2']) |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Success Import': function (browser: NightwatchBrowser) { |
||||||
|
browser.addFile('Untitled1.sol', sources[1]['browser/Untitled1.sol']) |
||||||
|
.addFile('Untitled2.sol', sources[1]['browser/Untitled2.sol']) |
||||||
|
.openFile('browser/Untitled1.sol') |
||||||
|
.verifyContracts(['test6', 'test4', 'test5']) |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Failed Import': function (browser: NightwatchBrowser) { |
||||||
|
browser.addFile('Untitled3.sol', sources[2]['browser/Untitled3.sol']) |
||||||
|
.clickLaunchIcon('solidity') |
||||||
|
.assert.containsText('#compileTabView .error pre', 'not found browser/Untitled11.sol') |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Github Import - from master branch': function (browser: NightwatchBrowser) { |
||||||
|
browser |
||||||
|
.setSolidityCompilerVersion('soljson-v0.6.2+commit.bacdbe57.js') // open-zeppelin moved to pragma ^0.6.0 (master branch)
|
||||||
|
.addFile('Untitled4.sol', sources[3]['browser/Untitled4.sol']) |
||||||
|
.clickLaunchIcon('fileExplorers') |
||||||
|
.verifyContracts(['test7', 'ERC20', 'SafeMath'], {wait: 10000}) |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Github Import - from other branch': function (browser: NightwatchBrowser) { |
||||||
|
browser |
||||||
|
.setSolidityCompilerVersion('soljson-v0.5.0+commit.1d4f565a.js') // switch back to 0.5.0 : release-v2.3.0 branch is not solidity 0.6 compliant
|
||||||
|
.addFile('Untitled5.sol', sources[4]['browser/Untitled5.sol']) |
||||||
|
.clickLaunchIcon('fileExplorers') |
||||||
|
.verifyContracts(['test8', 'ERC20', 'SafeMath'], {wait: 10000}) |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Github Import - no branch specified': function (browser: NightwatchBrowser) { |
||||||
|
browser |
||||||
|
.setSolidityCompilerVersion('soljson-v0.6.2+commit.bacdbe57.js') // open-zeppelin moved to pragma ^0.6.0 (master branch)
|
||||||
|
.addFile('Untitled6.sol', sources[5]['browser/Untitled6.sol']) |
||||||
|
.clickLaunchIcon('fileExplorers') |
||||||
|
.verifyContracts(['test10', 'ERC20', 'SafeMath'], {wait: 10000}) |
||||||
|
}, |
||||||
|
|
||||||
|
'Test Github Import - raw URL': function (browser: NightwatchBrowser) { |
||||||
|
browser |
||||||
|
.addFile('Untitled7.sol', sources[6]['browser/Untitled7.sol']) |
||||||
|
.clickLaunchIcon('fileExplorers') |
||||||
|
.verifyContracts(['test11', 'ERC20', 'SafeMath'], {wait: 10000}) |
||||||
|
.end() |
||||||
|
}, |
||||||
|
tearDown: sauce |
||||||
|
} |
||||||
|
|
||||||
|
const sources = [ |
||||||
|
{ |
||||||
|
'browser/Untitled.sol': {content: 'contract test1 {} contract test2 {}'} |
||||||
|
}, |
||||||
|
{ |
||||||
|
'browser/Untitled1.sol': {content: 'import "./Untitled2.sol"; contract test6 {}'}, |
||||||
|
'browser/Untitled2.sol': {content: 'contract test4 {} contract test5 {}'} |
||||||
|
}, |
||||||
|
{ |
||||||
|
'browser/Untitled3.sol': {content: 'import "./Untitled11.sol"; contract test6 {}'} |
||||||
|
}, |
||||||
|
{ |
||||||
|
'browser/Untitled4.sol': {content: 'import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol"; contract test7 {}'} |
||||||
|
}, |
||||||
|
{ |
||||||
|
'browser/Untitled5.sol': {content: 'import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.3.0/contracts/token/ERC20/ERC20.sol"; contract test8 {}'} |
||||||
|
}, |
||||||
|
{ |
||||||
|
'browser/Untitled6.sol': {content: 'import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; contract test10 {}'} |
||||||
|
}, |
||||||
|
{ |
||||||
|
'browser/Untitled7.sol': {content: 'import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/master/contracts/token/ERC20/ERC20.sol"; contract test11 {}'} |
||||||
|
} |
||||||
|
] |
Loading…
Reference in new issue