|
wxMaxima
|
Logic-level regression tests for wxMaxima's custom wxAccessible classes. More...
#include <wx/app.h>#include <wx/artprov.h>#include <wx/bitmap.h>#include <wx/dcmemory.h>#include <wx/frame.h>#include <wx/log.h>#include "Configuration.h"#include "ToolBar.h"#include "worksheet/Worksheet.h"#include "wxMaximaArtProvider.h"#include "cells/GroupCell.h"#include "sidebars/CharButton.h"#include <cstdlib>#include <unistd.h>#include <catch2/catch.hpp>Data Structures | |
| class | TestApp |
Functions | |
| SCENARIO ("The accessibility test harness builds the worksheet and a toolbar") | |
| wxDECLARE_APP (TestApp) | |
| int | main (int argc, char **argv) |
Logic-level regression tests for wxMaxima's custom wxAccessible classes.
Screen-reader behaviour can only be validated on Windows with an actual screen reader, and that feedback loop is measured in days. But every accessibility bug we have hit lived in the logic of our own wxAccessible code – the worksheet accessible was never attached, its role was a plain panel instead of a document, the toolbar exposed no tools – and that logic is just C++ methods returning values we can assert on, no screen reader required.
These tests call those methods directly. They only do real work where wxWidgets was built with wxUSE_ACCESSIBILITY (the Windows CI, and any wx built with –enable-accessibility); on the Linux dev build (accessibility off) the guarded scenarios compile out and the harness sanity check still runs. This turns the whole logic layer from "wait days for the tester" into "seconds in CI".