Skip to content

Commit a7a6101

Browse files
committed
Add a QA guide
1 parent da146b7 commit a7a6101

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

doc/qa.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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

Comments
 (0)