diff --git a/CHANGES.md b/CHANGES.md index 97d5347d..fae97f67 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,25 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +# 5.0.0 +This version mostly contains some long overdue house cleaning. When I first created Gut I tried to keep it all to a single file so that deployment was easier. With the advent of the Addons system, I have a lot more freedom in structuring the files. I had also based the structure of the classes on another unit test tool I had cobbled together for a procedural language. This refactoring of the files will make changes easier in the future and separates out the various responsibilities into their own files and classes better. + +So that this wasn't JUST a reorganization release I also added an method for asserting instance type and inheritance. + +### Breaking Changes from 4.1.0 +Due to the restructuring I've completely moved the various `asserts` out of the core gut object and put them in the test object that all unit tests inherit from. This means that any asserts or pending calls that are prefixed with `gut.` need to have the `gut.` prefix removed. To cut down on the annoyance level of this change, I've added the methods back into gut but they fail with a message indicating that the method has been moved. + +- New Methdos + - `assert_extends` Asserts that an instance of an object inherits from the class passed. +- Some changes to the log output. + - Quick summary about each test script is included at the end of the run. + - Scripts that had a failing assert are listed together in the quick summary. +- Changed the GUI to have a fixed width font. It makes formatting the output easier and I like it more. Future changes should make customizing the GUI possible, so if you aren't fond of it you'll be able to change it sometime soon. +- All asserts were moved from the `gut` class to the `test` class so you don't need to prefix them. Placeholder methods were put back into `gut` so your tests will run but fail with a message indicating the assert has been moved. + + + + # 4.1.0 - Added the ability to assert that signals did or did not fire. By calling `watch_signals` Gut will monitor any signals emitted by the object. You can then later make assertions about whether or not a signal was emitted or whether it emitted a desired number of times, and even if it was emitted and passed specific parameters. You can also verify that the signal was emitted with the right parameters. The following methods were added for this feature, see the README for more information about them. - `watch_signals` @@ -26,8 +45,5 @@ __Note:__ just about everything you had to code to get your main testing scene 0. The object that all test scripts must extend has changed to `res://addons/gut/test.gd`. 0. All examples and tests for Gut itself have been moved to the new repo https://github.com/bitwes/GutTests/ -### Other Changes -- I think there were other changes that went into this but I started keeping a change log with 4.0.1. If it is really important to you then you could probably figure it out through the history. - -# Earlier versions -- I didn't track changes for earlier versions. I know I should have. Trust me, you can't make me feel any worse about it so just get off my back already. +### Earlier Versions: +- There were earlier versions, they had changes but I can't remember what they were. diff --git a/README.md b/README.md index 032cde0c..8b755c5f 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,65 @@ # Gut GUT (Godot Unit Test) is a utility for writing tests for your Godot Engine game. It allows you to write tests for your gdscript in gdscript. -## 4.x.x Breaking changes from 3.0.x -In 4.0.0 Gut was changed to be a plugin. This has some setup ramifications. __These changes only apply when upgrading from a version earlier than 4.0.0__. See the 4.0.0 section in CHANGES.md for upgrade information. +### Breaking Changes from 4.1.0 +Due to the restructuring I've completely moved the various `asserts` out of the core gut object and put them in the test object that all unit tests inherit from. This means that any asserts or pending calls that are prefixed with `gut.` need to have the `gut.` prefix removed. To cut down on the annoyance level of this change, I've added the methods back into gut but they fail with a message indicating that the method has been moved. + +# Method Links +
+
+[assert_between](#assert_between) +[assert_does_not_have](#assert_does_not_have) +[assert_eq](#assert_eq) +[assert_extends](#assert_extends) +[assert_false](#assert_false) +[assert_file_does_not_exist](#assert_file_does_not_exist) +[assert_file_empty](#assert_file_empty) +[assert_file_exists](#assert_file_exists) +[assert_file_not_empty](#assert_file_not_empty) +[assert_get_set_methods](#assert_get_set_methods) +[assert_gt](#assert_gt) +[assert_has_signal](#assert_has_signal) + + |
+
+[assert_has](#assert_has) +[assert_lt](#assert_lt) +[assert_ne](#assert_ne) +[assert_signal_emit_count](#assert_signal_emit_count) +[assert_signal_emitted_with_parameters](#assert_signal_emitted_with_parameters) +[assert_signal_emitted](#assert_signal_emitted) +[assert_signal_not_emitted](#assert_signal_not_emitted) +[assert_true](#assert_true) +[get_signal_emit_count](#get_signal_emit_count) +[get_signal_parameters](#get_signal_parameters) +[watch_signals](#watch_signals) + + |
+