[GB.TEST.TAP]
* NEW: Assert.SubtestLevel is a new property that returns the number of nested subtests.
* NEW: Assert.BailOut always unwinds the subtest stack and bails out of the entire TAP session.
* BUG: Tests can bail out even if Finished was called.
[GB.TEST]
* NEW: Bail out again if errors from test methods are caught.
* BUG: Don't call Finish on a subtest when it was already finished.
After the Bail out message, we Quit with non-zero exit status to signal
an abnormal termination to the harness.
[GB.TEST]
* NEW: Use gb.test.
This removes the Assert and Track classes and uses gb.test.tap instead.
Test methods are now executed inside subtests, plan lines are auto-
matically emitted by the harness.
Differences between gb.tests's and gb.test.tap's Assert module:
- Instead of Assert.True and Assert.False, use Assert.Ok.
- Instead of Assert.Equals* for every type, there is a generic
Assert.Equals for Variants and a specific Assert.StringEquals
for strings which prints diagnostics when the test fails.
- Assert.BailOut does not terminate the entire program, just
the TAP stream.
- Assert.ErrorWithCode is called Assert.ErrorCode.
All TAP printing is done through Assert now. Errors happening in the
test code are not caught and spoofed in the TAP stream anymore, they
cause a test failure. The system would be more robust if the testee
would be in a different process from the tester.
[GB.TEST.TAP]
* NEW: Add Reset() method to Assert. Useful if you use the same (automatic) instance for multiple TAP streams.
* BUG: Fix state handling in TapPrinter.Finished.
[GB.TEST.TAP]
* NEW: Turn TestStats into a class.
* NEW: Store TestStats.Failures as an Integer[].
* BUG: Do NOT intercept test's stderr and convert it to diagnostics.
[GB.FORM.EDITOR]
* BUG: TextEditor: Correctly handle the drawing of the difference before the first line.
* BUG: TextEditor: Correctly relayout differences when the Wrap property changes.
[GB.UTIL]
* NEW: CsvFile: Open() is a new method for opening a CSV file for reading.
* NEW: CsvFile: Create() is a new method for opening a CSV file for writing.
[GB.UTIL]
* NEW: The Terminal class has been removed, and replace by an extension of the Process class. In other word the Expect() method is now directly a method of the Process class.
[GB.UTIL]
* NEW: Terminal: A new class that allows to answer the prompts of interactive commands running in a virtual terminal easily (think about ssh, scp...).
[GB.WEB.FORM2]
* BUG: Fix component metadata.
* BUG: Don't make test forms exported. They can conflict with other forms with the same name.
* NEW: The Window Close event can be cancelled.
[GB.FORM.MDI]
* NEW: Toolbar: Settings is a new property that allows to return or set the toolbar layout as a string.
* NEW: Toolbar: GetLayout() is a new static method that returns the saved layout of a toolbar from its key.
* NEW: Toolbar: SetLayout() is a new static method that defines the saved layout of a toolbar from its key.
[GB.GTK]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.GTK3]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.GUI.BASE]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.QT4]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[GB.QT5]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE Italian translations are now complete.
[GB.WEB.FORM2]
* NEW: The Italian translation.
[AUTHORS]
* NEW: Added a new italian translator
[GB.FORM]
* NEW: TabPanel: TabBarSize is a new property that returns the height of the tab bar.
* NEW: TabPanel: The "close all" button is now drawn after the right padding.
* NEW: ButtonBox: Custom buttons added with _AddButton() are now always between the clear button, and the standard button.