Skip to content

Tests: Add unit tests for the Bookmark Administration API - #13362

Open
itzmekhokan wants to merge 1 commit into
WordPress:trunkfrom
itzmekhokan:fix/bookmark-admin-tests
Open

Tests: Add unit tests for the Bookmark Administration API#13362
itzmekhokan wants to merge 1 commit into
WordPress:trunkfrom
itzmekhokan:fix/bookmark-admin-tests

Conversation

@itzmekhokan

Copy link
Copy Markdown

None of the ten functions in src/wp-admin/includes/bookmark.php had direct test coverage; wp_insert_link() and wp_delete_link() appeared only as fixtures for the get_bookmark() tests.

This adds a test file per function under tests/phpunit/tests/admin/includes/bookmark/, mirroring the source path and the structure used for wp-admin/includes/misc.php in [62369]. The cases pin the documented contracts: the empty-URL and name-fallback returns in wp_insert_link(), its $wp_error branch, the manage_links check and $_POST escaping in edit_link(), category replacement and integer casting in wp_set_link_cats(), the partial-merge behaviour of wp_update_link(), and the branches of wp_link_manager_disabled_message().

No production code is changed.

Trac ticket: https://core.trac.wordpress.org/ticket/66019

Use of AI Tools

AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5
Used for: writing the test cases and checking that each one fails when the function under test is broken. All changes were reviewed and validated by me.


This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

Adds coverage for the functions in `src/wp-admin/includes/bookmark.php`,
none of which were previously exercised directly: `add_link()`,
`edit_link()`, `get_default_link_to_edit()`, `wp_delete_link()`,
`wp_get_link_cats()`, `get_link_to_edit()`, `wp_insert_link()`,
`wp_set_link_cats()`, `wp_update_link()`, and
`wp_link_manager_disabled_message()`.

Fixes #66019.
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

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 props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props khokansardar.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant