This guide should be consulted whenever one adds a major change to KEITH.
This can either be a Theia or Sprotty update, merging with the master (this is hopefully no longer needed in the future), or a major functionality upgrade.
For checking UI elements you should always use a Chrome or Chromium browser.
Check before building a product/merging:
- Does the LS start in socket mode? (stdin/out not possible to check efficiently)
- Do all supported languages have syntax highlighting?
- Do language features such as content assist work for the supported languages? (Check at least one from pragmatic and semantic and two from the some language hierarchy)
- Does the compiler/simulation/diagram/diagram-option/.. view open
- Are keybindings assigned to open/close each view?
- Check what happens if all views are initially closed before reload?
- Is the welcome page visible if you initially open a workspace?
- Try to compile a model
- Click on a snapshot and look whether it is displayed in the diagram view
- Is the progress bar visible during compilation, is there something weird displayed in the progress bar.
- Simulate a model. Can you step, show input/output, play, pause, stop, ...?
- Are current states correctly highlighted in the model?
- Are current states correctly highlighted if a snapshot model is simulated? To check this you have to simulate a model that introduces different states in their snapshot model.
- Source code highlighting
- Highlighting of elements
- In the future: does diagram interaction still work
- Check collapse/expand
- Check whether clicking on the label "+" expands it nevertheless
Diagram Option View
- Do all diagram options work? (TODO list all that are know to not work correctly)
- Check all directions
- Check hierarchical graphs
- Check whether ctrl+z works
- Check adding layer only constraint
- Check position only constraint
- Check deleting constraint
- Check different shift modi
- Does it run on Linux/Windows/maybe Mac?
- Does in run in Chrome/Chromium/Chromium in Electron/Firefox/...?