Skip to content

chore: check class @example blocks in check_docs - #7339

Open
tomas-zijdemans wants to merge 1 commit into
denoland:mainfrom
tomas-zijdemans:chore/check-docs-class-examples
Open

tomas-zijdemans wants to merge 1 commit into
denoland:mainfrom
tomas-zijdemans:chore/check-docs-class-examples

Conversation

@tomas-zijdemans

Copy link
Copy Markdown
Contributor

check_docs.ts never validated @example blocks on classes. assertClassDocs only called assertHasExampleTag when the class had no @example tag at all, so any class that did have one skipped the title check and the assertion-import check. Functions, methods and properties always got both. The guard came in with #6491.

This PR calls assertHasExampleTag unconditionally. That surfaced four class docs that fail, which I fixed here too:

  • async/unstable_semaphore.ts: the Semaphore example has no assertion. I marked it no-assert, like every member example in the file.
  • cli/unstable_progress_bar.ts: the "Custom Formatting" example was missing its closing fence, so the code block never ended. This one was a real rendering bug.
  • internal/assertion_state.ts: the AssertionState example only constructs the object. I marked it no-assert to match its members.
  • streams/unstable_capped_delimiter_stream.ts: the @example had no title, so it rendered as "Example 1". It's now "Usage".

Testing: deno task lint:docs passes. It reported 0 errors before the checker change and exactly these 4 with it. deno test --doc on the four touched modules passes (19 tests).

I used Claude Code to help investigate and write this change.

assertClassDocs only called assertHasExampleTag when a class had no
@example tag, so class examples never got the title or assertion-import
checks. Call it unconditionally, and fix the four class docs that fail
once it runs:

- async/unstable_semaphore.ts: mark the Semaphore example no-assert
- cli/unstable_progress_bar.ts: close the "Custom Formatting" code fence
- internal/assertion_state.ts: mark the AssertionState example no-assert
- streams/unstable_capped_delimiter_stream.ts: title the example "Usage"
@codecov

codecov Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.04%. Comparing base (f834d02) to head (64af2e8).

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #7339    +/-   ##
========================================
  Coverage   95.04%   95.04%            
========================================
  Files         619      618     -1     
  Lines       52012    51757   -255     
  Branches     9450     9401    -49     
========================================
- Hits        49434    49192   -242     
+ Misses       2031     2022     -9     
+ Partials      547      543     -4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant