63 lines
2.3 KiB
Markdown
63 lines
2.3 KiB
Markdown
# PR#42: "None." Is No Open Question
|
|
|
|
> **WARNING:** This document describes only the change applied in this PR.
|
|
> It may already be outdated once the next PR is merged.
|
|
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
|
|
|
|
## The Problem
|
|
|
|
werkcrappit's PR#44 had a section "Open Questions" with the single paragraph `None.`;
|
|
werkrevisor counted that paragraph as an open question and gave RED.
|
|
An author who states that there are none should not have to delete the section to pass.
|
|
|
|
## Non-Goals
|
|
|
|
- No other wording than a plain "none" counts as empty; "None so far, but …" stays an open question.
|
|
- No change to items with checkboxes or to deferred `TODO.<topic>:` items.
|
|
|
|
## The Scenarios
|
|
|
|
### Feature: a section that states "none" has no open questions
|
|
|
|
#### Scenario#42.01: a paragraph "None." is no open question
|
|
|
|
So that an author can state explicitly that nothing is open.
|
|
|
|
- **Given** a PR document whose section "Open Questions" holds only the paragraph `None.`
|
|
- **When** werkrevisor checks the open questions
|
|
- **Then** it finds none
|
|
|
|
##### Verified by
|
|
|
|
- [test_open_questions.OpenQuestionParserTest.test_a_none_paragraph_is_no_open_question](../../tests/test_open_questions.py)
|
|
|
|
#### Scenario#42.02: a list item "None." is no open question
|
|
|
|
So that the same statement as a list item passes too.
|
|
|
|
- **Given** a PR document whose section "Open Questions" holds only the item `- None.`
|
|
- **When** werkrevisor checks the open questions
|
|
- **Then** it finds none
|
|
|
|
##### Verified by
|
|
|
|
- [test_open_questions.OpenQuestionParserTest.test_a_none_item_is_no_open_question](../../tests/test_open_questions.py)
|
|
|
|
#### Scenario#42.03: a sentence that starts with "None" stays an open question
|
|
|
|
So that a real question cannot hide behind the word.
|
|
|
|
- **Given** a section "Open Questions" with the paragraph `None so far, but who decides the limit?`
|
|
- **When** werkrevisor checks the open questions
|
|
- **Then** it finds this paragraph as an open question
|
|
|
|
##### Verified by
|
|
|
|
- [test_open_questions.OpenQuestionParserTest.test_a_sentence_starting_with_none_stays_open](../../tests/test_open_questions.py)
|
|
|
|
## The Solution
|
|
|
|
- `specdocs.open_questions` skips a paragraph or list item whose whole text is "None" or "Keine", with or without a final full stop, in any case.
|
|
- `docs/prs/README.md` names the rule.
|
|
- Version 0.21.2.
|