Repository navigation
Tests: Add unit test coverage for Walker_Category_Checklist - #14180
huzaifaalmesbah wants to merge 1 commit into
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Excellent work on this, @huzaifaalmesbah! Adding dedicated unit tests for The matrix in |
Description
Adds a test class for
Walker_Category_Checklist, which was only exercised indirectly throughwp_terms_checklist(). The tests call the walker directly. For list-only mode they assert the literal list item markup for selected and popular categories, including IDs passed as strings. For the checkbox markup, where the element IDs are unique per call, they read the attributes with the HTML Tag Processor: the checkbox name for the category and other taxonomies, the ID prefix, distinct IDs for the list item and the checkbox, and the checked, disabled and popular states. They also cover the level and element wrappers, thethe_categoryfilter arguments and escaping of its result in both modes, and nesting of child categories throughwalk().Category objects are built in memory, so the tests do not touch the database.
This is a test-only change; no production code is modified.
Testing Instructions
npm run test:php -- --filter 'Tests_Admin_Walker_Category_Checklist'npm run test:php -- --filter 'Tests_Admin_Walker_Category_Checklist' -c tests/phpunit/multisite.xmlnpm run test:php -- --filter 'Tests_Admin_Walker_Category_Checklist' --order-by=randomnpm run test:php -- --group adminnode ./tools/local-env/scripts/docker.js run --rm php ./vendor/bin/phpcs tests/phpunit/tests/admin/walkerCategoryChecklist.phpTrac ticket: https://core.trac.wordpress.org/ticket/65819
Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5.5
Used for: Brainstorming edge-case scenarios and drafting test boilerplate; test architecture, assertions, and local PHPUnit verification were written and validated by me.