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

Headless tests for the full WorksheetLayout pipeline. More...

#include <wx/app.h>
#include <wx/bitmap.h>
#include <wx/dcmemory.h>
#include <wx/event.h>
#include <wx/log.h>
#include "CellPointers.h"
#include "Configuration.h"
#include "worksheet/WorksheetLayout.h"
#include "cells/CellList.h"
#include "cells/EditorCell.h"
#include "cells/GroupCell.h"
#include <cstdlib>
#include <memory>
#include <unistd.h>
#include <catch2/catch.hpp>
Include dependency graph for test_WorksheetLayout.cpp:

Data Structures

class  TestApp
 

Functions

 SCENARIO ("The full pipeline lays out cells and pushes a virtual size - windowless")
 
 SCENARIO ("A time-sliced pass resumes across yields - windowless")
 
 SCENARIO ("An unchanged virtual size is not re-applied to the view")
 
 SCENARIO ("A cell growing taller reaches the view through the callbacks")
 
 SCENARIO ("AdjustSize() defers while a recalculation is pending")
 
 SCENARIO ("A zero-sized canvas blocks the layout walk")
 
 SCENARIO ("A localized change recalculates only the cell that changed")
 
 SCENARIO ("The layout pass stops early once the dirty range is covered")
 
 SCENARIO ("A global invalidation recalculates everything (the costly path)")
 
 SCENARIO ("A config-counter bump while a bounded range is pending is absorbed fully")
 
 wxDECLARE_APP (TestApp)
 
int main (int argc, char **argv)
 

Detailed Description

Headless tests for the full WorksheetLayout pipeline.

The point of the WorksheetLayout extraction is that the complete request -> recalculate -> resize pipeline can run without any Worksheet window: real GroupCells are laid out against a Configuration whose drawing context is an off-screen wxMemoryDC, and everything the engine tells the window goes through a MockView that just records it. Unlike test_GroupCellLayout there is no wxFrame and no Worksheet instance here at all - which is exactly what these tests pin down.