mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-02-09 09:24:35 +01:00
The goal of this change is to let plugins register their own self-tests. We do this through the `ISelfTestRegistry` interface. For a plugin it would look like this: ```csharp [PluginService] public ISelfTestRegistry SelfTestRegistry // Somewhere that gets called by your plugin SelfTestRegistry.RegisterTestSteps([ new MySelfTestStep(), new MyOtherSelfTestStep() ]) ``` Where `MySelfTest` and `MyOtherSelfTest` are instances of the existing `ISelfTestStep` interface. The biggest changes are to `SelfTestWindow` and the introduction of `SelfTestWithResults`. I wanted to make sure test state wasn't lost when changing the dropdown state and I was finding it a bit annoying to work with the Dictionary now that we can't just rely on the index of the item. To fix this I moved all the "test run" state into `SelfTestWithResults`, most of the changes to `SelfTestWindow` are derived from that, other then the addition of the combo box. The documentation for this service is a bit sparse, but I wanted to put it up for review first before I invest a bunch of time making nice documentation. I'm keen to hear if we think this is useful or if any changes are needed. |
||
|---|---|---|
| .. | ||
| Asserts | ||
| DesignSystem | ||
| ReShadeHandling | ||
| UiDebug2 | ||
| Windows | ||
| DalamudCommands.cs | ||
| DalamudIme.cs | ||
| DalamudInterface.cs | ||
| ImGuiClipboardFunctionProvider.cs | ||
| ImGuiInputTextStatePtrExtensions.cs | ||
| InterfaceManager.AsHook.cs | ||
| InterfaceManager.AsReShadeAddon.cs | ||
| InterfaceManager.cs | ||
| PluginCategoryManager.cs | ||
| StaThreadService.cs | ||
| SwapChainHelper.cs | ||
| UiDebug.cs | ||