diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..5882b7c --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,45 @@ +version: 2 +jobs: + build: + docker: + - image: circleci/node:9-stretch-browsers + environment: + - FIREFOX_VERSION: "59.0b9" + working_directory: ~ + steps: + - restore_cache: + key: firefox-bin + paths: + - ~/firefox + - run: + name: Install Firefox + command: | + test -d ~/firefox/${FIREFOX_VERSION} && exit 0 + url=https://ftp.mozilla.org/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 + curl -sSL -o- "$url" | tar xvfj - + mkdir -p ~/firefox + mv firefox ~/firefox/${FIREFOX_VERSION} + - save_cache: + key: firefox-bin + paths: + - ~/firefox + - run: sudo apt-get update && sudo apt-get install -y libgtk-3-0 libdbus-glib-1-2 + + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + - run: + name: Install npm wee + command: npm install + - save_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + paths: + - node_modules + + - run: echo 'export PATH=~/firefox/$FIREFOX_VERSION:$PATH' >> $BASH_ENV + - run: npm run lint + - run: npm test + - run: npm run package + - run: npm run build + - run: npm run ambassador:build + - run: node e2e/web-server & npm run test:e2e diff --git a/.eslintrc b/.eslintrc index 949b5a5..0f230c7 100644 --- a/.eslintrc +++ b/.eslintrc @@ -36,6 +36,7 @@ "newline-after-var": "off", "newline-before-return": "off", "newline-per-chained-call": "off", + "no-alert": "off", "no-bitwise": "off", "no-console": ["error", { "allow": ["warn", "error"] }], "no-empty-function": "off", @@ -44,6 +45,8 @@ "no-plusplus": "off", "no-ternary": "off", "no-undefined": "off", + "no-undef-init": "off", + "no-unused-vars": ["error", { "varsIgnorePattern": "h" }], "no-use-before-define": "off", "no-warning-comments": "off", "object-curly-newline": ["error", { "consistent": true }], @@ -65,5 +68,6 @@ "react/jsx-indent": ["error", 2], "react/prop-types": "off", + "react/react-in-jsx-scope": "off" } } diff --git a/.gitignore b/.gitignore index 2515a99..07d22c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules/ /build/ +/e2e/ambassador/build/ *.zip diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8acb121..0000000 --- a/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: node_js -node_js: - - "6" -addons: - firefox: "56.0" -before_script: - - export DISPLAY=:99.0 - - sh -e /etc/init.d/xvfb start -script: - - npm run lint - - npm test - - npm run package diff --git a/QA.md b/QA.md index c1f413d..1670e05 100644 --- a/QA.md +++ b/QA.md @@ -1,17 +1,14 @@ ## Checklist for testing Vim Vixen -### Operations +### Keybindings in JSON settings Test operations with default key maps. #### Scrolling -- [ ] k or Ctrl+Y, j or Ctrl+E: scroll up and down -- [ ] h, l: scroll left and right -- [ ] Ctrl+U, Ctrl+D: scroll up and down by half of screen -- [ ] Ctrl+B, Ctrl+F: scroll up and down by a screen -- [ ] 0, $: scroll to leftmost and rightmost -- [ ] gg, G: scroll to top and bottom +- [ ] Smooth scroll by `:set smoothscroll` +- [ ] Non-smooth scroll by `:set nosmoothscroll` +- [ ] Configure custom hint character by settings `"smoothscroll": true`, `"smoothscroll": false` #### Console @@ -24,28 +21,26 @@ The behaviors of the console are tested in [Console section](#consoles). #### Tabs -- [ ] d: delete current tab +- [ ] !d: delete current tab and pinned tab - [ ] u: reopen close tab -- [ ] K, J: select prev and next tab -- [ ] g0, g$: select first and last tab - [ ] r: reload current tab - [ ] R: reload current tab without cache -- [ ] zd: duplicate current tab -- [ ] zp: toggle pin/unpin state on current tab #### Navigation -- [ ] H, L: go back and forward in histories +- [ ] H, L: go back and forward in history +- [ ] [[, ]]: Open next/prev link in `` tags. - [ ] [[, ]]: find prev and next links and open it - [ ] gu: go to parent directory - [ ] gU: go to root directory #### Misc -- [ ] zi, zo: zoom-in and zoom-out -- [ ] zz: set zoom level as default - [ ] y: yank current URL and show a message +- [ ] p: open clipbord's URL in current tab +- [ ] P: open clipbord's URL in new tab - [ ] Toggle enabled/disabled of plugin bu Shift+Esc +- [ ] Hide error and info console by Esc ### Following links @@ -59,6 +54,9 @@ The behaviors of the console are tested in [Console section](#consoles). - [ ] Select link and open it in the frame in `