[GB.TEST]
* BUG: Do not trim whitespace from diagnostic lines.
* NEW: Show TODOs (failed and bonus) and SKIPs in summary.
Previously, TapPrinter.Diagnostic would Trim$ its argument before
splitting it by line. This would remove any indentation that may
be useful for formatted diagnostics output, so it has to go.
Additionally I special-case Null and gb.Lf to print exactly "#\n",
which is a common use case as a visual separator.
This is a big refactor of the TapPrinter and Assert interaction with
the goal of enabling gb.test to print a self-summary after a TAP session
(without storing the TAP we printed and parsing it afterwards). The main
feature addition is a new class representing an assertion (together with
its subtests). Objects of this type are now produced by TapPrinter when
it prints an assertion and by TapParser alike when it parses TAP.
This allows more uniform and more detailed reporting of failures, too.
For organizational reasons, subtest support was moved into the printer.
[GB.TEST]
* NEW: Expose the TapContext class which holds the current TAP session's state.
* NEW: Represent assertions (and entire subtests) by TestAssertion objects in both TapPrinter and TapParser.
* NEW: Coalesce the four TapParser events for assertions into one.
* OPT: Move subtest support into TapPrinter, removing the need to create multiple TapPrinter objects.
* OPT: Remove the need for buffering the TAP to print a self-summary.
* BUG: Fix the buffering issue that would lose TAP when the process crashes.
This is a big refactor of the TapPrinter and Assert interaction with
the goal of enabling gb.test to print a self-summary after a TAP session
(without storing the TAP we printed and parsing it afterwards). The main
feature addition is a new class representing an assertion (together with
its subtests). Objects of this type are now produced by TapPrinter when
it prints an assertion and by TapParser alike when it parses TAP.
This allows more uniform and more detailed reporting of failures, too.
For organizational reasons, subtest support was moved into the printer.
[GB.TEST]
* NEW: Expose the TapContext class which holds the current TAP session's state.
* NEW: Represent assertions (and entire subtests) by TestAssertion objects in both TapPrinter and TapParser.
* NEW: Coalesce the four TapParser events for assertions into one.
* OPT: Move subtest support into TapPrinter, removing the need to create multiple TapPrinter objects.
* OPT: Remove the need for buffering the TAP to print a self-summary.
* BUG: Fix the buffering issue that would lose TAP when the process crashes.
[GB.GTK]
* BUG: The Window State event is correctly raised now, and the state properties are now correctly synchronized.
[GB.GTK3]
* BUG: The Window State event is correctly raised now, and the state properties are now correctly synchronized.
[DEVELOPMENT ENVIRONMENT]
* BUG: Hitting ESC key when the focus is on the console immediate command textbox now always closes the console tab.
* NEW: Form editor: Add a information line on the toolbox that displays the name of the current hovered toolbox control, and the component it belongs to.
[GB.GTK]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
[GB.GTK3]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
[GB.QT4]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
[GB.QT5]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
[DEVELOPMENT ENVIRONMENT]
* BUG: Code editor: The automatic completion now appears at the correct position when the view is splitted.
* NEW: Search dialog: The project browsing is now done through a background task.
* NEW: Redraw the module icons.
[GB.FORM.EDITOR]
* NEW: TextEditor: Do not use Application.Busy in Load() and Save() methods.
* BUG: TextEditor: TextEditor[].Purge() works as expected now.