## Checklist for testing Vim Vixen
### Keybindings in JSON settings
Test operations with default key maps.
#### Console
The behaviors of the console are tested in [Console section](#consoles).
#### Misc
- [ ] Toggle enabled/disabled of plugin bu Shift+Esc
- [ ] Hide error and info console by Esc
- [ ] Vim-Vixen icons changes on Shift+Esc
- [ ] Add-on is enabled and disabled by clicking the indicator on the tool bar.
- [ ] The indicator changed on selected tab changed (changes add-on enabled)
- [ ] Notify to users on add-on updated at first time.
- [ ] Reopen tab on *only current window* by u
### Properties
- [ ] Configure custom hint character by `:set hintchars=012345678`
- [ ] Smooth scroll by `:set smoothscroll`
- [ ] Non-smooth scroll by `:set nosmoothscroll`
- [ ] Configure smooth scroll by settings `"smoothscroll": true`, `"smoothscroll": false`
### Settings
#### JSON Settings
##### Validations
- [ ] show error on invalid json
- [ ] show error when top-level keys has keys other than `keymaps`, `search`, `blacklist`, and `properties`
###### `"keymaps"` section
- [ ] show error on unknown operation name in `"keymaps"`
###### `"search"` section
- validations in `"search"` section are not tested in this release
##### 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
##### Properties
- [ ] show errors when invalid property name
- [ ] show errors when invalid property type
#### Form Settings
##### 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
- [ ] scroll on Hacker News
- [ ] able to scroll on Gmail and Slack
- [ ] Focus text box on Twitter or Slack, press j, then j is typed in the box
- [ ] Focus the text box on Twitter or Slack on following mode
- [ ] The pages is shown in https://pitchify.com/
- [ ] Open console in http://www.espncricinfo.com/
## Find mode
- [ ] open console with /
- [ ] highlight a word on Enter pressed in find console
- [ ] Search next/prev by n/N
- [ ] Wrap search by n/N
- [ ] Find with last keyword if keyword is empty
- [ ] Find keyword last used on new tab opened
## Misc
- [ ] Work on `about:blank`
- [ ] Able to map `` key.
- [ ] Open file menu by Alt+F (Other than Mac OS)