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/...?

Tags: