@ -0,0 +1,6 @@ |
||||
{ |
||||
"presets": ["@babel/preset-env"], |
||||
"ignore": [ |
||||
"node_modules" |
||||
] |
||||
} |
@ -0,0 +1,193 @@ |
||||
# Javascript Node CircleCI 2.0 configuration file |
||||
# |
||||
# Check https://circleci.com/docs/2.0/language-javascript/ for more details |
||||
# |
||||
version: 2 |
||||
jobs: |
||||
remix-ide-chrome: |
||||
docker: |
||||
# specify the version you desire here |
||||
- image: circleci/node:9.11.2-browsers |
||||
|
||||
# Specify service dependencies here if necessary |
||||
# CircleCI maintains a library of pre-built images |
||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
resource_class: xlarge |
||||
# - image: circleci/mongo:3.4.4 |
||||
environment: |
||||
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" |
||||
- COMMIT_AUTHOR: "Circle CI" |
||||
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json" |
||||
working_directory: ~/remix-project |
||||
|
||||
parallelism: 20 |
||||
steps: |
||||
- checkout |
||||
- run: npm install |
||||
- run: npm run lint && npm run test && npm run make-mock-compiler |
||||
- run: |
||||
name: Download Selenium |
||||
command: ./node_modules/.bin/selenium-standalone install --config=../remix-project/apps/remix-ide/seleniumConfig.js |
||||
- run: |
||||
name: Start Selenium |
||||
command: ./node_modules/.bin/selenium-standalone start --config=../remix-project/apps/remix-ide/seleniumConfig.js |
||||
background: true |
||||
- run: ./apps/remix-ide/ci/browser_tests_chrome.sh |
||||
- store_test_results: |
||||
path: ./apps/remix-ide/reports/tests |
||||
- store_artifacts: |
||||
path: ./apps/remix-ide/reports/screenshots |
||||
|
||||
remix-ide-firefox: |
||||
docker: |
||||
# specify the version you desire here |
||||
- image: circleci/node:9.11.2-browsers |
||||
|
||||
# Specify service dependencies here if necessary |
||||
# CircleCI maintains a library of pre-built images |
||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
resource_class: xlarge |
||||
# - image: circleci/mongo:3.4.4 |
||||
environment: |
||||
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" |
||||
- COMMIT_AUTHOR: "Circle CI" |
||||
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json" |
||||
working_directory: ~/remix-project |
||||
|
||||
parallelism: 20 |
||||
steps: |
||||
- checkout |
||||
- run: npm install |
||||
- run: npm run lint && npm run test && npm run make-mock-compiler |
||||
- run: |
||||
name: Download Selenium |
||||
command: ./node_modules/.bin/selenium-standalone install --config=../remix-project/apps/remix-ide/seleniumConfig.js |
||||
- run: |
||||
name: Start Selenium |
||||
command: ./node_modules/.bin/selenium-standalone start --config=../remix-project/apps/remix-ide/seleniumConfig.js |
||||
background: true |
||||
- run: |
||||
name: Download Latest Firefox |
||||
command: sudo apt-get purge -y firefox && wget https://sourceforge.net/projects/ubuntuzilla/files/mozilla/apt/pool/main/f/firefox-mozilla-build/firefox-mozilla-build_73.0.1-0ubuntu1_amd64.deb |
||||
- run: |
||||
name: Install Firefox |
||||
command: sudo dpkg -i firefox-mozilla-build_73.0.1-0ubuntu1_amd64.deb |
||||
- run: ./apps/remix-ide/ci/browser_tests_firefox.sh |
||||
- store_test_results: |
||||
path: ./apps/remix-ide/reports/tests |
||||
- store_artifacts: |
||||
path: ./apps/remix-ide/reports/screenshots |
||||
|
||||
remix-ide-run-deploy: |
||||
docker: |
||||
# specify the version you desire here |
||||
- image: circleci/node:9.11.2-browsers |
||||
|
||||
# Specify service dependencies here if necessary |
||||
# CircleCI maintains a library of pre-built images |
||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
resource_class: xlarge |
||||
# - image: circleci/mongo:3.4.4 |
||||
environment: |
||||
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" |
||||
- COMMIT_AUTHOR: "Circle CI" |
||||
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json" |
||||
working_directory: ~/remix-project |
||||
|
||||
steps: |
||||
- checkout |
||||
- run: npm install |
||||
- run: npm run lint && npm run test && npm run make-mock-compiler |
||||
- run: |
||||
name: Download Selenium |
||||
command: ./node_modules/.bin/selenium-standalone install --config=../remix-project/apps/remix-ide/seleniumConfig.js |
||||
- run: |
||||
name: Start Selenium |
||||
command: ./node_modules/.bin/selenium-standalone start --config=../remix-project/apps/remix-ide/seleniumConfig.js |
||||
background: true |
||||
- run: ./apps/remix-ide/ci/browser_tests_run_deploy.sh |
||||
- store_artifacts: |
||||
path: ./apps/remix-ide/reports/screenshots |
||||
|
||||
|
||||
deploy-remix-live: |
||||
docker: |
||||
# specify the version you desire here |
||||
- image: circleci/node:9.11.2-browsers |
||||
|
||||
# Specify service dependencies here if necessary |
||||
# CircleCI maintains a library of pre-built images |
||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
resource_class: xlarge |
||||
# - image: circleci/mongo:3.4.4 |
||||
environment: |
||||
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" |
||||
- COMMIT_AUTHOR: "Circle CI" |
||||
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json" |
||||
working_directory: ~/remix-project |
||||
|
||||
steps: |
||||
- checkout |
||||
- run: npm install |
||||
- run: npm run lint && npm run test && npm run make-mock-compiler |
||||
- run: |
||||
name: Deploy |
||||
command: | |
||||
if [ "${CIRCLE_BRANCH}" == "remix_live" ]; then |
||||
./ci/deploy_from_travis_remix-live.sh; |
||||
fi |
||||
- store_artifacts: |
||||
path: ./apps/remix-ide/reports/screenshots |
||||
|
||||
deploy-remix-alpha: |
||||
docker: |
||||
# specify the version you desire here |
||||
- image: circleci/node:9.11.2-browsers |
||||
|
||||
# Specify service dependencies here if necessary |
||||
# CircleCI maintains a library of pre-built images |
||||
resource_class: xlarge |
||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
# - image: circleci/mongo:3.4.4 |
||||
environment: |
||||
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" |
||||
- COMMIT_AUTHOR: "Circle CI" |
||||
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json" |
||||
working_directory: ~/remix-project |
||||
|
||||
steps: |
||||
- checkout |
||||
- run: npm install |
||||
- run: npm run lint && npm run test && npm run make-mock-compiler |
||||
- run: |
||||
name: Deploy |
||||
command: | |
||||
if [ "${CIRCLE_BRANCH}" == "master" ]; then |
||||
./ci/deploy_from_travis_remix-alpha.sh; |
||||
fi |
||||
- store_artifacts: |
||||
path: ./apps/reports/screenshots |
||||
|
||||
workflows: |
||||
version: 2 |
||||
build_all: |
||||
jobs: |
||||
- remix-ide-chrome |
||||
- remix-ide-firefox |
||||
- remix-ide-run-deploy |
||||
- deploy-remix-live: |
||||
requires: |
||||
- remix-ide-chrome |
||||
- remix-ide-firefox |
||||
- remix-ide-run-deploy |
||||
filters: |
||||
branches: |
||||
only: remix_live |
||||
- deploy-remix-alpha: |
||||
requires: |
||||
- remix-ide-chrome |
||||
- remix-ide-firefox |
||||
- remix-ide-run-deploy |
||||
filters: |
||||
branches: |
||||
only: master |
@ -0,0 +1,4 @@ |
||||
NODE_OPTIONS=--max-old-space-size=3072 |
||||
gist_token = <token> |
||||
account_passphrase = <passphrase> |
||||
account_password = <password> |
@ -0,0 +1,69 @@ |
||||
.highlight { background: #ffffff; } |
||||
.highlight .c { color: #999988; font-style: italic } /* Comment */ |
||||
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ |
||||
.highlight .k { font-weight: bold } /* Keyword */ |
||||
.highlight .o { font-weight: bold } /* Operator */ |
||||
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ |
||||
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ |
||||
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ |
||||
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ |
||||
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ |
||||
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ |
||||
.highlight .ge { font-style: italic } /* Generic.Emph */ |
||||
.highlight .gr { color: #aa0000 } /* Generic.Error */ |
||||
.highlight .gh { color: #999999 } /* Generic.Heading */ |
||||
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ |
||||
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ |
||||
.highlight .go { color: #888888 } /* Generic.Output */ |
||||
.highlight .gp { color: #555555 } /* Generic.Prompt */ |
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */ |
||||
.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ |
||||
.highlight .gt { color: #aa0000 } /* Generic.Traceback */ |
||||
.highlight .kc { font-weight: bold } /* Keyword.Constant */ |
||||
.highlight .kd { font-weight: bold } /* Keyword.Declaration */ |
||||
.highlight .kn { font-weight: bold } /* Keyword.Namespace */ |
||||
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ |
||||
.highlight .kr { font-weight: bold } /* Keyword.Reserved */ |
||||
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ |
||||
.highlight .m { color: #009999 } /* Literal.Number */ |
||||
.highlight .s { color: #d14 } /* Literal.String */ |
||||
.highlight .na { color: #008080 } /* Name.Attribute */ |
||||
.highlight .nb { color: #0086B3 } /* Name.Builtin */ |
||||
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ |
||||
.highlight .no { color: #008080 } /* Name.Constant */ |
||||
.highlight .ni { color: #800080 } /* Name.Entity */ |
||||
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ |
||||
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ |
||||
.highlight .nn { color: #555555 } /* Name.Namespace */ |
||||
.highlight .nt { color: #000080 } /* Name.Tag */ |
||||
.highlight .nv { color: #008080 } /* Name.Variable */ |
||||
.highlight .ow { font-weight: bold } /* Operator.Word */ |
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */ |
||||
.highlight .mf { color: #009999 } /* Literal.Number.Float */ |
||||
.highlight .mh { color: #009999 } /* Literal.Number.Hex */ |
||||
.highlight .mi { color: #009999 } /* Literal.Number.Integer */ |
||||
.highlight .mo { color: #009999 } /* Literal.Number.Oct */ |
||||
.highlight .sb { color: #d14 } /* Literal.String.Backtick */ |
||||
.highlight .sc { color: #d14 } /* Literal.String.Char */ |
||||
.highlight .sd { color: #d14 } /* Literal.String.Doc */ |
||||
.highlight .s2 { color: #d14 } /* Literal.String.Double */ |
||||
.highlight .se { color: #d14 } /* Literal.String.Escape */ |
||||
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ |
||||
.highlight .si { color: #d14 } /* Literal.String.Interpol */ |
||||
.highlight .sx { color: #d14 } /* Literal.String.Other */ |
||||
.highlight .sr { color: #009926 } /* Literal.String.Regex */ |
||||
.highlight .s1 { color: #d14 } /* Literal.String.Single */ |
||||
.highlight .ss { color: #990073 } /* Literal.String.Symbol */ |
||||
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ |
||||
.highlight .vc { color: #008080 } /* Name.Variable.Class */ |
||||
.highlight .vg { color: #008080 } /* Name.Variable.Global */ |
||||
.highlight .vi { color: #008080 } /* Name.Variable.Instance */ |
||||
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ |
||||
|
||||
.type-csharp .highlight .k { color: #0000FF } |
||||
.type-csharp .highlight .kt { color: #0000FF } |
||||
.type-csharp .highlight .nf { color: #000000; font-weight: normal } |
||||
.type-csharp .highlight .nc { color: #2B91AF } |
||||
.type-csharp .highlight .nn { color: #000000 } |
||||
.type-csharp .highlight .s { color: #A31515 } |
||||
.type-csharp .highlight .sc { color: #A31515 } |
After Width: | Height: | Size: 434 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 960 B |
After Width: | Height: | Size: 423 KiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 668 B |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 3.7 KiB |
@ -0,0 +1,30 @@ |
||||
const EventEmitter = require('events') |
||||
|
||||
class clearEditablecontent extends EventEmitter { |
||||
command (cssSelector) { |
||||
this.api.perform((done) => { |
||||
clearContent(this.api, cssSelector, () => { |
||||
done() |
||||
this.emit('complete') |
||||
}) |
||||
}) |
||||
return this |
||||
} |
||||
} |
||||
|
||||
function clearContent (browser, cssSelector, callback) { |
||||
browser.execute(function (cssSelector) { |
||||
const selection = window.getSelection() |
||||
const range = document.createRange() |
||||
|
||||
range.selectNodeContents(document.querySelector(cssSelector)) |
||||
selection.removeAllRanges() |
||||
selection.addRange(range) |
||||
}, [cssSelector], function () { |
||||
browser.sendKeys(cssSelector, browser.Keys.BACK_SPACE) |
||||
.pause(5000) |
||||
callback() |
||||
}) |
||||
} |
||||
|
||||
module.exports = clearEditablecontent |
@ -0,0 +1,84 @@ |
||||
'use strict' |
||||
require('@babel/register')() |
||||
|
||||
const crxFile = require('fs').readFileSync('apps/remix-ide/test-browser/extensions/chrome/metamask.crx') |
||||
const metamaskExtension = new Buffer.from(crxFile).toString('base64') // eslint-disable-line
|
||||
|
||||
module.exports = { |
||||
'src_folders': ['apps/remix-ide/test-browser/tests'], |
||||
'output_folder': 'apps/remix-ide/reports/tests', |
||||
'custom_commands_path': ['apps/remix-ide/test-browser/commands'], |
||||
'custom_assertions_path': '', |
||||
'page_objects_path': '', |
||||
'globals_path': '', |
||||
|
||||
'test_settings': { |
||||
'default': { |
||||
'selenium_port': 4444, |
||||
'selenium_host': 'localhost', |
||||
'globals': { |
||||
'waitForConditionTimeout': 10000, |
||||
'asyncHookTimeout': 100000 |
||||
}, |
||||
'screenshots': { |
||||
'enabled': true, |
||||
'path': 'apps/remix-ide/reports/screenshots', |
||||
'on_failure': true, |
||||
'on_error': true |
||||
}, |
||||
'desiredCapabilities': { |
||||
'browserName': 'firefox', |
||||
'javascriptEnabled': true, |
||||
'acceptSslCerts': true |
||||
}, |
||||
'exclude': ['apps/remix-ide/test-browser/tests/runAndDeploy.js'] |
||||
}, |
||||
|
||||
'chrome': { |
||||
'desiredCapabilities': { |
||||
'browserName': 'chrome', |
||||
'javascriptEnabled': true, |
||||
'acceptSslCerts': true, |
||||
'goog:chromeOptions': { |
||||
'args': ['window-size=2560,1440', 'start-fullscreen'] |
||||
} |
||||
} |
||||
}, |
||||
|
||||
'chrome-runAndDeploy': { |
||||
'desiredCapabilities': { |
||||
'browserName': 'chrome', |
||||
'javascriptEnabled': true, |
||||
'acceptSslCerts': true, |
||||
'goog:chromeOptions': { |
||||
'args': ['window-size=2560,1440', 'start-fullscreen'], |
||||
'extensions': [metamaskExtension] |
||||
} |
||||
} |
||||
}, |
||||
|
||||
'safari': { |
||||
'desiredCapabilities': { |
||||
'browserName': 'safari', |
||||
'javascriptEnabled': true, |
||||
'acceptSslCerts': true |
||||
} |
||||
}, |
||||
|
||||
'ie': { |
||||
'desiredCapabilities': { |
||||
'browserName': 'internet explorer', |
||||
'javascriptEnabled': true, |
||||
'acceptSslCerts': true |
||||
} |
||||
}, |
||||
|
||||
'firefox': { |
||||
'desiredCapabilities': { |
||||
'browserName': 'firefox', |
||||
'javascriptEnabled': true, |
||||
'acceptSslCerts': true |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
module.exports = { |
||||
version: '3.8.1', |
||||
baseURL: 'https://selenium-release.storage.googleapis.com', |
||||
drivers: { |
||||
chrome: { |
||||
version: '2.39', |
||||
arch: process.arch, |
||||
baseURL: 'https://chromedriver.storage.googleapis.com' |
||||
} |
||||
} |
||||
} |