Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(neotest): Expose doctests on Neotest summary window #247

Merged
merged 4 commits into from
Feb 20, 2024

Conversation

bltavares
Copy link
Contributor

@bltavares bltavares commented Feb 20, 2024

The current neotest integration reports any 'test' runnable as a valid position, except for 'doctests'.

This commit introduces logic necessary to also expose 'doctests' as part of the summary, so it can be visualized and trigger.

It tries to approach it with the minimal changes, so exported labels follows the same name convention as test runnables, without indication they are doctests on the summary window. This can be changed if necessary.

In order for neotest to consider these items part of the tree, we must also return a 'pos' with pos.type = 'file', otherwhise those test items would not have a parent, and it prevents being displayed. This is done by reporting a 'file' always, but I'm not sure what is the reason behind returning only if #namespaces > 0.


Review Checklist

  • Pull request title has the appropriate conventional commit prefix.
    If applicable:
  • Tested
    • Tests have been added.
    • Tested manually (Steps to reproduce in PR description).
  • Updated documentation.
  • Updated CHANGELOG.md

The current neotest integration reports any 'test' runnable as a valid
position, except for 'doctests'.

This commit introduces logic necessary to also expose 'doctests' as part
of the summary, so it can be visualized and trigger.

It tries to approach it with the minimal changes, so exported labels
follows the same name convention as test runnables, without indication
they are doctests on the summary window. This can be changed if
necessary.

In order for neotest to consider these items part of the tree, we must
also return a 'pos' with `pos.type = 'file'`, otherwhise those test
items would not have a parent, and it prevents being displayed. This is
done by reporting a 'file' always, but I'm not sure what is the reason
behind returning only if `#namespaces > 0`.
Repository owner deleted a comment from github-actions bot Feb 20, 2024
mrcjkb
mrcjkb previously approved these changes Feb 20, 2024
Copy link
Owner

@mrcjkb mrcjkb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Thanks once again 😄

The if #namespaces > 0 check should have actually been if #namespaces <= 1, in case there are multiple test modules in a file (which would be ambiguous).

But I'll say YAGNI for now - nobody has run complained about it so far.

lua/rustaceanvim/neotest/init.lua Outdated Show resolved Hide resolved
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.

2 participants