wxMaxima
Loading...
Searching...
No Matches
Data Structures | Macros | Functions
test_Accessibility.cpp File Reference

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>
Include dependency graph for test_Accessibility.cpp:

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)
 

Detailed Description

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".