Drupal is a registered trademark of Dries Buytaert
cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! linkit 7.0.15 Minor update available for module linkit (7.0.15). views_data_export 8.x-1.10 Minor update available for module views_data_export (8.x-1.10).

theming_tools

9 sites No security coverage
View on drupal.org

A suite of test modules for Drupal admin theme development. Each submodule exercises one UI component or form pattern — buttons, dialogs, tables, form widgets, pagers, tabs, and so on — across multiple themes so regressions can be spotted visually.

None of the test pages are theme-specific — each renders in whatever theme is active, so the suite works equally well against Claro, Admin, Olivero, Stark, and any contrib or custom admin theme. The whole point is to surface cross-theme rendering differences.

Not for production

This module is intended for local development and regression testing only. Several submodules intentionally open admin routes to anonymous users, ship fixture content types and test data, or disable render caching. Do not install on a public site.

Features

  • Dashboard at /admin/modules/theming-tools listing every test submodule with enable/disable operations and bulk actions.
  • Navigation drawer — a "Theming Tools" expandable group auto-injected into the admin menu. Every enabled test submodule's page appears here automatically, sorted alphabetically.
  • Auto-discovery — submodules tagged theming_test: true are picked up by the dashboard and navigation drawer with zero configuration.
  • 3 test themes — fixture themes for the Appearance admin page, including an intentionally incompatible theme for testing that code path.

Not for production damnit!

This module is intended for local development and regression testing only. Several submodules intentionally open admin routes to anonymous users, ship fixture content types and test data, or disable render caching. Do not install on a public site.

Included submodules

actionlink Action Link component autocomplete Autocomplete form widget button Buttons and button links (primary, secondary, small variants) card Card component (appearance admin page) checkboxradio Checkboxes and radios on a contact form details Details element (site information form) devhelp Disables render caching and enables debug mode dialog Regular, modal, off-canvas, and off-canvas-top dialogs dropbutton Dropbutton / Operations component exposed_form Views exposed form and bulk operations fieldcardinality Multi-cardinality field widgets fieldset Fieldset component imagefile Image and managed file form widgets lang_hebrew Hebrew language + language switcher for RTL tests message Message component and Drupal.Message JS API pager Pagers (via Views) password Password-confirm widget pointertracker Crosshair overlay following mouse/touch pointer presuf Form item prefixes and suffixes progress Progress indicators (throbber, progress bar, fullscreen) select Single- and multi-value select widgets sidebar Entity meta sidebar tab Local task tabs table Table component (sortable, selectable, responsive) tabledrag Draggable tables (nested hierarchy, mixed-height rows) testfilters Text formats and CKEditor 5 editor config textarea Plain and formatted textarea widgets textfixtures Color, password, and search field types textform Text-like form items (textfield, telephone, email, url, datetime) themeswitcher Footer form to switch active theme via cookie title_shortcut Page titles alongside shortcut badges tt_navigation Core Navigation block rendering tt_node Minimal test content type used as a fixture vertical_tabs Vertical Tabs component

Installation

drush en theming_tools
  # then enable specific test submodules as needed:
  drush en button dialog table tabledrag dropbutton textform textarea
  

Or enable everything at once through the dashboard at /admin/modules/theming-tools.

Some submodules depend on the Contact contrib module (moved out of core in Drupal 11). If it isn't installed, those submodules simply won't enable; everything else works without it.

Drupal version support

Supports Drupal 10.3, 11, and 12. Actively tested against the main branch of Drupal core.

BTW, this is not for production

This module is intended for local development and regression testing only. Several submodules intentionally open admin routes to anonymous users, ship fixture content types and test data, or disable render caching. Do not install on a public site.

History

This module was originally created by Zoltan Horvath as cd_tools to support development of the Claro admin theme. It has since been renamed and generalized into a theme-agnostic test harness for any Drupal admin theme.

Activity

Total releases
3
First release
Apr 2026
Latest release
4 weeks ago
Release cadence
9 days
Stability
67% stable

Release Timeline

Releases

Version Type Release date
1.0.1 Stable Apr 27, 2026
1.0.0 Stable Apr 9, 2026
1.0.x-dev Dev Apr 9, 2026