Merge branch 'master' into gistListFix

pull/1/head
Rob Stupay 6 years ago
commit ee63b60829
  1. 6
      package-lock.json
  2. 1
      package.json
  3. 2
      src/app/editor/editor.js
  4. 4
      src/app/files/file-explorer.js
  5. 8
      src/app/tabs/test-tab.js
  6. 26
      src/remixAppManager.js

6
package-lock.json generated

@ -1717,6 +1717,12 @@
"negotiator": "0.6.2"
}
},
"ace-mode-move": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/ace-mode-move/-/ace-mode-move-0.0.1.tgz",
"integrity": "sha512-RRckwbouhlCg1n8LQrZ87ojVdJg8FZYxa6d4ot8PNNBRKHLvJagPu/poW9mmRCW4YAGvOfrGpJpZH1kOjitj/Q==",
"dev": true
},
"ace-mode-solidity": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ace-mode-solidity/-/ace-mode-solidity-0.1.1.tgz",

@ -13,6 +13,7 @@
"@babel/register": "^7.4.4",
"@fortawesome/fontawesome-free": "^5.8.1",
"@resolver-engine/imports": "^0.3.0",
"ace-mode-move": "0.0.1",
"ace-mode-solidity": "^0.1.0",
"async": "^2.1.2",
"babel-eslint": "^10.0.0",

@ -12,6 +12,7 @@ require('brace/ext/language_tools')
require('brace/ext/searchbox')
const langTools = ace.acequire('ace/ext/language_tools')
require('ace-mode-solidity/build/remix-ide/mode-solidity')
require('ace-mode-move/build/remix-ide/mode-move')
require('brace/mode/javascript')
require('brace/mode/python')
require('brace/mode/json')
@ -65,6 +66,7 @@ class Editor {
this.emptySession = this._createSession('')
this.modes = {
sol: 'ace/mode/solidity',
mvir: 'ace/mode/move',
js: 'ace/mode/javascript',
py: 'ace/mode/python',
vy: 'ace/mode/python',

@ -421,7 +421,9 @@ fileExplorer.prototype.toGist = function (id) {
[deleteFileName]: null
}), this.files.origGistFiles)
// adding new files
updatedFileList.forEach(file => allItems[file] = packaged[file])
updatedFileList.forEach((file) => {
allItems[file] = packaged[file]
})
tooltip('Saving gist (' + id + ') ...')
gists.edit({

@ -10,7 +10,7 @@ const TestTabLogic = require('./testTab/testTab')
const profile = {
name: 'solidityUnitTesting',
displayName: 'Solidity unit testing',
methods: ['startTestFromPath', 'startTestFromSourceCode'],
methods: ['testFromPath', 'testFromSource'],
events: [],
icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4wUDEhQZ0zbrmQAAAfNJREFUWMPF17lrFVEUx/EPaIKovfAScSndjUtULFQSYhHF0r/Dwsa/RywUiTaWgvaChWsiKkSMZte4o7G5A49x7r0zLy/PA6eZOef3PXebuYfu2xCmcQ9b9NgOYw6rwR9ia6/gR7HQBi/8PjavN/w4FivghV9bT/gwlhLwHzjTVPQ8rqAvE3ciA/+O8abwy/gVBG4lijiJ5czIL64FXvhNbCzFnaoBv9AUPo7fEcEb2BDiTuNTAv4NYxX6u/EIM7GZuZoQXcX1sJk+J2K+YrRCexfetsX9xKVyUB9uZ4r4k3j3BSMR+JvIMv2zQfsxkSkiBj9XAd8ZgRf+vmop+nGnAXwlcs534HUm93FsQ9YtIjby7XiVyZ3BntSpyBWxgrMR+FQG/gF76xzNftxtMO1rgo+G5AdBqLBN4d9eCCyHD1En8Oi0j4UPSBE4hcFSERN4Fz7BZRvEZKcjHynBC5/EQI1lGqgJ3xcTmE4kvswUMRBiUvCPKTg8zQi8QKsirxXe5eD7c1N4ALMZoeelIlrhWSpnNmjXsoM1iihmYhueZGIXcKTp7/hQ6UZb5c+Cp2LmglZHVqeIlC+G2/GarNMiFnGsWzfdpkV0Fd7e5czXgC+FvmDdWq35/wVvbzbnI/DhXvV9Q6W+r6fw9hZsKnjX4H8B0Aamri7CrBsAAAAASUVORK5CYII=',
description: 'Fast tool to generate unit tests for your contracts',
@ -139,15 +139,15 @@ module.exports = class TestTab extends ViewPlugin {
})
}
async startTestFromPath (path) {
async testFromPath (path) {
const fileContent = await this.fileManager.getFile(path)
return this.startTestFromSourceCode(fileContent, path)
return this.testFromSource(fileContent, path)
}
/*
Test are not associated with the UI
*/
startTestFromSourceCode (content, path = 'unit-test.sol') {
testFromSource (content, path = 'browser/unit_test.sol') {
return new Promise((resolve, reject) => {
let runningTest = {}
runningTest[path] = { content }

@ -157,13 +157,37 @@ export class RemixAppManager extends PluginEngine {
icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNTcuNTMgMTU5Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6I2IzYjNiMztzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6OHB4O308L3N0eWxlPjwvZGVmcz48dGl0bGU+bG9nby1vdXRibGFjay1pbm5lcmdyYXk8L3RpdGxlPjxnIGlkPSJmZzEiPjxwYXRoIGQ9Ik0xNjkuMjksNjZDMTU5LjM3LDQ1LjQ5LDE0MiwyOS4xMywxMTkuNzYsMjMuMTVBNzkuMDgsNzkuMDgsMCwwLDAsNDgsMzkuNTVjLTMuNjgsMy4xMywxLjY1LDguNDIsNS4zLDUuMzFhNzEuMjYsNzEuMjYsMCwwLDEsNjUuNzgtMTQuMTFjMTkuOTIsNS43NywzNC44MywyMC42Niw0My43MiwzOSwyLjEsNC4zNSw4LjU3LjU1LDYuNDgtMy43OFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMS42NSAtMjAuNDgpIi8+PHBhdGggZD0iTTEyNiwxNzAuNDJjMTUuNzQtNi4xOSwyOS41Ny0xNi4zMSwzOC42OC0zMC43NCw5LjY5LTE1LjMyLDEzLjA3LTM0LjE0LDEwLjc5LTUyLS42LTQuNzItOC4xMS00Ljc4LTcuNSwwLDIuMDcsMTYuMjEtLjU0LDMzLTkuMDgsNDcuMTEtOCwxMy4yMS0yMC42MSwyMi43OC0zNC44OCwyOC40LTQuNDQsMS43NC0yLjUxLDksMiw3LjIzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjY1IC0yMC40OCkiLz48cGF0aCBkPSJNMzQuMDgsNTUuNThjLTE1Ljc5LDI1LjQxLTE3LDU3LjQ0LTEsODMuMThBNzguMiw3OC4yLDAsMCwwLDEwMiwxNzUuNDFjNC44MS0uMTYsNC44NC03LjY2LDAtNy41LTI1LjE0LjgtNDkuMTItMTEuNDMtNjIuNDYtMzIuOTMtMTQuNjEtMjMuNTQtMTMuNDMtNTIuMzksMS03NS42MSwyLjU2LTQuMTEtMy45My03Ljg4LTYuNDctMy43OVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMS42NSAtMjAuNDgpIi8+PHBhdGggZD0iTTk4Ljg0LDQwLjg2YTU4LDU4LDAsMCwwLTQ5LDI3Ljc4Yy0xMi4xNiwyMC0xMC44NCw0My44OSwzLjM2LDYyLjQ1LDIuODksMy43OCw5LjQxLDAsNi40OC0zLjc5LTYuNTMtOC41Mi0xMS4yMS0xOC40OC0xMS0yOS40MkE1Mi4xMSw1Mi4xMSwwLDAsMSw1Ni4zLDcyLjQyLDUwLjI4LDUwLjI4LDAsMCwxLDk4Ljg0LDQ4LjM2YzQuODMtLjA2LDQuODQtNy41NiwwLTcuNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMS42NSAtMjAuNDgpIi8+PHBhdGggZD0iTTcxLjIyLDE0OC4wNWMyMSwxMi4wOSw0OC4zMyw4LjQyLDY2LjIxLTcuODFBNTcuMjksNTcuMjksMCwwLDAsMTI0LjUsNDYuNzdjLTQuMjktMi4xOS04LjA5LDQuMjctMy43OSw2LjQ4LDI0LjYzLDEyLjYzLDM1LjM3LDQzLjMxLDIyLDY4LjEtMTIuOCwyMy44My00NCwzMy44Ni02Ny43NSwyMC4yMy00LjItMi40MS04LDQuMDctMy43OSw2LjQ3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjY1IC0yMC40OCkiLz48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9Ijc3LjE5IiBjeT0iNzcuNDgiIHI9IjMzIi8+PGNpcmNsZSBjeD0iMjkuNTQiIGN5PSIyMS43NSIgcj0iNy43NSIvPjxjaXJjbGUgY3g9IjgwLjU0IiBjeT0iMTUxLjI1IiByPSI3Ljc1Ii8+PGNpcmNsZSBjeD0iMTQ5Ljc4IiBjeT0iNjcuMjUiIHI9IjcuNzUiLz48Y2lyY2xlIGN4PSIxMDAuNzkiIGN5PSIyOS41IiByPSI3Ljc1Ii8+PGNpcmNsZSBjeD0iMzQuNzkiIGN5PSIxMTAuNSIgcj0iNy43NSIvPjwvZz48L3N2Zz4=',
location: 'sidePanel'
}
const threeBox = {
name: '3box',
displayName: '3Box Spaces',
description: 'A decentralized storage for everything that happen on Remix',
methods: ['isEnabled', 'openSpace', 'getValue', 'setValue'],
events: [],
version: '0.1.0-beta',
url: 'https://remix-3box.surge.sh',
icon: 'https://raw.githubusercontent.com/3box/3box-dapp/master/public/3Box3.png',
location: 'sidePanel'
}
const remixWorkshop = {
name: 'workshop',
displayName: 'Remix Workshop',
description: 'Learn Solidity with Remix !',
methods: [],
events: [],
version: '0.1.0-alpha',
url: 'https://remix-plugin-workshops.surge.sh',
icon: 'https://image.flaticon.com/icons/svg/1570/1570493.svg',
location: 'sidePanel'
}
return [
new IframePlugin(pipeline),
new IframePlugin(vyper),
new IframePlugin(etherscan),
new IframePlugin(ethdoc),
new IframePlugin(mythx),
new IframePlugin(provable)
new IframePlugin(provable),
new IframePlugin(threeBox),
new IframePlugin(remixWorkshop)
]
}
}

Loading…
Cancel
Save