diff --git a/QA.md b/QA.md index 8cba39f..404f50f 100644 --- a/QA.md +++ b/QA.md @@ -1,12 +1,12 @@ ## 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 +- [ ] k, j: 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 @@ -48,6 +48,55 @@ The behaviors of the console are tested in [Console section](#consoles). - [ ] y: yank current URL and show a message - [ ] Toggle enabled/disabled of plugin bu Shift+Esc +### Keybindings in form settings + +Test operations with default key maps. + +#### Scrolling + +- [ ] k, j: 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 + +#### Console + +The behaviors of the console are tested in [Console section](#consoles). + +- [ ] :: open empty console +- [ ] o, t, w: open a console with `open`, `tabopen`, `winopen` +- [ ] O, T, W: open a console with `open`, `tabopen`, `winopen` and current URL +- [ ] b: open a consolw with `buffer` + +#### Tabs + +- [ ] d: delete current 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 +- [ ] [[, ]]: 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 +- [ ] Toggle enabled/disabled of plugin bu Shift+Esc + + ### Following links - [ ] f: start following links @@ -83,7 +132,7 @@ The behaviors of the console are tested in [Console section](#consoles). - [ ] `buffer`,`buffer`: do nothing - [ ] `buffer `, `buffer <url>`: select tab which has an title matched with - [ ] `buffer 1`: select leftmost tab -- [ ] `buffer 0`, `buffer 99`: shows an error +- [ ] `buffer 0`, `buffer <a number more than count of tabs>`: shows an error - [ ] select tabs rotationally when more than two tabs are matched ### Completions @@ -110,20 +159,22 @@ The behaviors of the console are tested in [Console section](#consoles). ### Settings -#### Validations +#### JSON Settings + +##### Validations - [ ] show error on invalid json - [ ] show error when top-level keys has keys other than `keymaps`, `search`, and `blacklist` -##### `"keymaps"` section +###### `"keymaps"` section - [ ] show error on unknown operation name in `"keymaps"` -##### `"search"` section +###### `"search"` section - validations in `"search"` section are not tested in this release -#### `"blacklist"` section +##### `"blacklist"` section - [ ] `github.com/a` blocks `github.com/a`, and not blocks `github.com/aa` - [ ] `github.com/a*` blocks both `github.com/a` and `github.com/aa` @@ -131,13 +182,44 @@ The behaviors of the console are tested in [Console section](#consoles). - [ ] `github.com` blocks both `github.com/` and `github.com/a` - [ ] `*.github.com` blocks `gist.github.com/`, and not `github.com` -#### Updating +##### Updating - [ ] changes are updated on textarea blure when no errors - [ ] changes are not updated on textarea blure when errors occurs - [ ] keymap settings are applied to open tabs without reload - [ ] search settings are applied to open tabs without reload +#### Form Settings + +<!-- validation on form settings does not implement in 0.7 --> + +##### Search Engines + +- [ ] able to change default +- [ ] able to remove item +- [ ] able to add item + +##### `"blacklist"` section + +- [ ] able to add item +- [ ] able to remove item +- [ ] `github.com/a` blocks `github.com/a`, and not blocks `github.com/aa` +- [ ] `github.com/a*` blocks both `github.com/a` and `github.com/aa` +- [ ] `github.com/` blocks `github.com/`, and not blocks `github.com/a` +- [ ] `github.com` blocks both `github.com/` and `github.com/a` +- [ ] `*.github.com` blocks `gist.github.com/`, and not `github.com` + +##### Updating + +- [ ] keymap settings are applied to open tabs without reload +- [ ] search settings are applied to open tabs without reload + +### Settings source + +- [ ] show confirmation dialog on switched from json to form +- [ ] state is saved on source changed +- [ ] on switching form -> json -> form, first and last form setting is equivalent to first one + ### For certain sites - [ ] scoll on Hacker News