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/...?
Overview
Content Tools