KEITH Release Checklist
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:
General
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)
Views
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?
Compiler View
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.
Simulation View
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.
Can a simulation be started by clicking the play icon in the "Compile with Netlist-based Simulation (C)" compile chain?
Diagram View
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
Check modifiable styles (test with on-edge labels with direction in SCCharts)
...
Diagram Option View
Do all listed diagram options work?
Diagram Interaction
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
OS/Browser compatibility
Does it run on Linux/Windows/maybe Mac?
Does in run in Chrome/Chromium/Chromium in Electron/Firefox/...?