Render Proof

A comprehensive set of tests to validate your custom render objects.

Render Objects Are Hard

RenderObjects (and their associated Element) bring together the full variety of UI responsibilities that exist in Flutter. While any given piece of a RenderObject might be simple, the overall collection of responsibilities is overwhelming, poorly documented, and incredibly easy to screw up.

Run a Render Object Checkup

This package contains a comprehensive suite of tests, which are designed to find bugs in how your render objects handle fundamental responsibilities.

For example, the following can be tested:

Visuals:

  • Layout with constrained and unconstrained bounds.
  • Layout with/without "sized by parent".
  • Layout supports intrinsic sizing.

Framework Compliance:

  • Establishes correct inherited widget dependencies, including cleanup.
  • Semantic child traversal.
  • Describes children for debugging.
  • Implements debug painting.

Children:

  • Child mounting, activation, deactivation, and unmounting.
  • Child re-parenting.
  • Child traversal.
  • Child offset reporting.
  • Reports hit tests on itself, and its children.