|
| 1 | +# QA Guide |
| 2 | + |
| 3 | +This QA guide takes you through the process of testing `reflex-vty` from a visual observer's perspective. The goal is to ensure that `reflex-vty` does not contain bugs/regressions that are visual in nature, which are hard to detect with automated testing. This guide assumes you have Nix installed. |
| 4 | + |
| 5 | +## Steps |
| 6 | + |
| 7 | +Clone and examples |
| 8 | + |
| 9 | +```bash |
| 10 | +cd $(mktemp -d) |
| 11 | +nix run -f https://releases.nixos.org/nixos/20.03/nixos-20.03.2059.05a32d8e771/nixexprs.tar.xz binutils git ghc cabal-install icu |
| 12 | +git clone https://github.com/reflex-frp/reflex-vty.git |
| 13 | +cd reflex-vty |
| 14 | +cabal update |
| 15 | +cabal run example |
| 16 | +``` |
| 17 | + |
| 18 | +The build may take a while to complete. |
| 19 | + |
| 20 | +Once it's done you can test the following: |
| 21 | + |
| 22 | + * Make sure that resizing your terminal window causes the editor to resize as well. |
| 23 | + |
| 24 | + * Click on `Todo List`. |
| 25 | + * Make sure you can check tasks, uncheck tasks, add new tasks, and edit the text of tasks. |
| 26 | + * Make sure that resizing your terminal window causes the editor to resize as well. |
| 27 | + * Type <kbd>Esc</kbd>. |
| 28 | + |
| 29 | + * Click on `Text Editor`. |
| 30 | + * Make sure you can edit text in the "Text Edit" box. Try entering lots of text so that it doesn't all fit. It should scroll down as you type. Using they arrow keys on your keyboard should move the cursor and let you go back up and see text that was out of view before. |
| 31 | + * Make sure that clicking, right-clicking, using the scroll-wheel on your mouse, and dragging in the "Text Edit" box updates the message in the box lying above and behind the "Text Edit" box. |
| 32 | + * Make sure that dragging your mouse cursor around inside the lowest box causes the message to update. This should update only when dragging *inside* that box, not outside of it. |
| 33 | + * Make sure that resizing your terminal window causes the boxes to resize as well. |
| 34 | + * Type <kbd>Esc</kbd>. |
| 35 | + |
| 36 | + * Click on `Scrollable text display`. |
| 37 | + * Make sure that you can scroll up and down through the small box of text with your mouse's scroll wheel. |
| 38 | + * Make sure that resizing your terminal window causes the boxes to resize as well. |
| 39 | + * Type <kbd>Esc</kbd>. |
| 40 | + |
| 41 | + * Type <kbd>Ctrl</kbd>+<kbd>C</kbd> to quit. |
| 42 | + |
| 43 | +There should be only 3 examples to cover. If there are more or less than this then this QA guide is out of date and QA should fail. |
0 commit comments