Skip to end of metadata
Go to start of metadata

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?

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.

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
  • ...

Diagram Option View

  • Do all diagram options work? (TODO list all that are know to not work correctly)

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/...?
  • No labels