test-releasenotes-formatting.t
491 lines
| 8.7 KiB
| text/troff
|
Tads3Lexer
/ tests / test-releasenotes-formatting.t
Rishabh Madan
|
r33661 | #require fuzzywuzzy | ||
Gregory Szorc
|
r32778 | $ cat >> $HGRCPATH << EOF | ||
> [extensions] | ||||
> releasenotes= | ||||
> EOF | ||||
$ hg init simple-repo | ||||
$ cd simple-repo | ||||
A fix with a single line results in a bullet point in the appropriate section | ||||
$ touch fix1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> single line fix | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> Simple fix with a single line content entry. | ||||
> EOF | ||||
$ hg releasenotes -r . $TESTTMP/relnotes-single-line | ||||
$ cat $TESTTMP/relnotes-single-line | ||||
Bug Fixes | ||||
========= | ||||
* Simple fix with a single line content entry. | ||||
A fix with multiple lines is handled correctly | ||||
$ touch fix2 | ||||
$ hg -q commit -A -l - << EOF | ||||
> multi line fix | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> First line of fix entry. | ||||
> A line after it without a space. | ||||
> | ||||
> A new paragraph in the fix entry. And this is a really long line. It goes on for a while. | ||||
> And it wraps around to a new paragraph. | ||||
> EOF | ||||
$ hg releasenotes -r . $TESTTMP/relnotes-multi-line | ||||
$ cat $TESTTMP/relnotes-multi-line | ||||
Bug Fixes | ||||
========= | ||||
* First line of fix entry. A line after it without a space. | ||||
A new paragraph in the fix entry. And this is a really long line. It goes on | ||||
for a while. And it wraps around to a new paragraph. | ||||
A release note with a title results in a sub-section being written | ||||
$ touch fix3 | ||||
$ hg -q commit -A -l - << EOF | ||||
> fix with title | ||||
> | ||||
> .. fix:: Fix Title | ||||
> | ||||
> First line of fix with title. | ||||
> | ||||
> Another paragraph of fix with title. But this is a paragraph | ||||
> with multiple lines. | ||||
> EOF | ||||
$ hg releasenotes -r . $TESTTMP/relnotes-fix-with-title | ||||
$ cat $TESTTMP/relnotes-fix-with-title | ||||
Bug Fixes | ||||
========= | ||||
Fix Title | ||||
--------- | ||||
First line of fix with title. | ||||
Another paragraph of fix with title. But this is a paragraph with multiple | ||||
lines. | ||||
$ cd .. | ||||
Formatting of multiple bullet points works | ||||
$ hg init multiple-bullets | ||||
$ cd multiple-bullets | ||||
$ touch fix1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> first fix | ||||
> EOF | ||||
$ touch fix2 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 2 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> second fix | ||||
> | ||||
> Second paragraph of second fix. | ||||
> EOF | ||||
$ touch fix3 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 3 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> third fix | ||||
> EOF | ||||
$ hg releasenotes -r 'all()' $TESTTMP/relnotes-multiple-bullets | ||||
$ cat $TESTTMP/relnotes-multiple-bullets | ||||
Bug Fixes | ||||
========= | ||||
* first fix | ||||
* second fix | ||||
Second paragraph of second fix. | ||||
* third fix | ||||
$ cd .. | ||||
Formatting of multiple sections works | ||||
$ hg init multiple-sections | ||||
$ cd multiple-sections | ||||
$ touch fix1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> first fix | ||||
> EOF | ||||
$ touch feature1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 2 | ||||
> | ||||
> .. feature:: | ||||
> | ||||
> description of the new feature | ||||
> EOF | ||||
$ touch fix2 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 3 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> second fix | ||||
> EOF | ||||
$ hg releasenotes -r 'all()' $TESTTMP/relnotes-multiple-sections | ||||
$ cat $TESTTMP/relnotes-multiple-sections | ||||
New Features | ||||
============ | ||||
* description of the new feature | ||||
Bug Fixes | ||||
========= | ||||
* first fix | ||||
* second fix | ||||
$ cd .. | ||||
Section with subsections and bullets | ||||
$ hg init multiple-subsections | ||||
$ cd multiple-subsections | ||||
$ touch fix1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. fix:: Title of First Fix | ||||
> | ||||
> First paragraph of first fix. | ||||
> | ||||
> Second paragraph of first fix. | ||||
> EOF | ||||
$ touch fix2 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 2 | ||||
> | ||||
> .. fix:: Title of Second Fix | ||||
> | ||||
> First paragraph of second fix. | ||||
> | ||||
> Second paragraph of second fix. | ||||
> EOF | ||||
$ hg releasenotes -r 'all()' $TESTTMP/relnotes-multiple-subsections | ||||
$ cat $TESTTMP/relnotes-multiple-subsections | ||||
Bug Fixes | ||||
========= | ||||
Title of First Fix | ||||
------------------ | ||||
First paragraph of first fix. | ||||
Second paragraph of first fix. | ||||
Title of Second Fix | ||||
------------------- | ||||
First paragraph of second fix. | ||||
Second paragraph of second fix. | ||||
Now add bullet points to sections having sub-sections | ||||
$ touch fix3 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 3 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> Short summary of fix 3 | ||||
> EOF | ||||
$ hg releasenotes -r 'all()' $TESTTMP/relnotes-multiple-subsections-with-bullets | ||||
$ cat $TESTTMP/relnotes-multiple-subsections-with-bullets | ||||
Bug Fixes | ||||
========= | ||||
Title of First Fix | ||||
------------------ | ||||
First paragraph of first fix. | ||||
Second paragraph of first fix. | ||||
Title of Second Fix | ||||
------------------- | ||||
First paragraph of second fix. | ||||
Second paragraph of second fix. | ||||
Other Changes | ||||
------------- | ||||
* Short summary of fix 3 | ||||
Rishabh Madan
|
r32779 | |||
Rishabh Madan
|
r33572 | $ cd .. | ||
Rishabh Madan
|
r32779 | Multiple 'Other Changes' sub-sections for every section | ||
$ hg init multiple-otherchanges | ||||
$ cd multiple-otherchanges | ||||
$ touch fix1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. fix:: Title of First Fix | ||||
> | ||||
> First paragraph of fix 1. | ||||
> EOF | ||||
$ touch feature1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 2 | ||||
> | ||||
> .. feature:: Title of First Feature | ||||
> | ||||
> First paragraph of feature 1. | ||||
> EOF | ||||
$ touch feature2 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 3 | ||||
> | ||||
> .. feature:: | ||||
> | ||||
> Short summary of feature 2. | ||||
> EOF | ||||
$ touch fix2 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 4 | ||||
> | ||||
> .. fix:: | ||||
> | ||||
> Short summary of fix 2 | ||||
> EOF | ||||
$ hg releasenotes -r 'all()' $TESTTMP/relnotes-multiple-otherchanges | ||||
$ cat $TESTTMP/relnotes-multiple-otherchanges | ||||
New Features | ||||
============ | ||||
Title of First Feature | ||||
---------------------- | ||||
First paragraph of feature 1. | ||||
Other Changes | ||||
------------- | ||||
* Short summary of feature 2. | ||||
Bug Fixes | ||||
========= | ||||
Title of First Fix | ||||
------------------ | ||||
First paragraph of fix 1. | ||||
Other Changes | ||||
------------- | ||||
* Short summary of fix 2 | ||||
Rishabh Madan
|
r33572 | $ cd .. | ||
Using custom sections in notes | ||||
$ hg init custom-section | ||||
$ cd custom-section | ||||
$ cat >> .hgreleasenotes << EOF | ||||
> [sections] | ||||
> testsection=Name of Section | ||||
> EOF | ||||
$ touch a | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. testsection:: | ||||
> | ||||
> First paragraph under this admonition. | ||||
> EOF | ||||
$ hg releasenotes -r . $TESTTMP/relnotes-custom-section | ||||
$ cat $TESTTMP/relnotes-custom-section | ||||
Name of Section | ||||
=============== | ||||
* First paragraph under this admonition. | ||||
Overriding default sections (For eg. by default feature = New Features) | ||||
$ cat >> .hgreleasenotes << EOF | ||||
> [sections] | ||||
> feature=Feature Additions | ||||
> EOF | ||||
$ touch b | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 2 | ||||
> | ||||
> .. feature:: | ||||
> | ||||
> Adds a new feature. | ||||
> EOF | ||||
$ hg releasenotes -r . $TESTTMP/relnotes-override-section | ||||
$ cat $TESTTMP/relnotes-override-section | ||||
Feature Additions | ||||
================= | ||||
* Adds a new feature. | ||||
Rishabh Madan
|
r33883 | $ cd .. | ||
Testing output for the --check (-c) flag | ||||
$ hg init check-flag | ||||
$ cd check-flag | ||||
$ touch a | ||||
$ hg -q commit -A -l - << EOF | ||||
> .. asf:: | ||||
> | ||||
> First paragraph under this admonition. | ||||
> EOF | ||||
Suggest similar admonition in place of the invalid one. | ||||
$ hg releasenotes -r . -c | ||||
Invalid admonition 'asf' present in changeset 4026fe9e1c20 | ||||
$ touch b | ||||
$ hg -q commit -A -l - << EOF | ||||
> .. fixes:: | ||||
> | ||||
> First paragraph under this admonition. | ||||
> EOF | ||||
$ hg releasenotes -r . -c | ||||
Invalid admonition 'fixes' present in changeset 0e7130d2705c | ||||
(did you mean fix?) | ||||
Rishabh Madan
|
r33942 | |||
$ cd .. | ||||
Usage of --list flag | ||||
$ hg init relnotes-list | ||||
$ cd relnotes-list | ||||
$ hg releasenotes -l | ||||
feature: New Features | ||||
bc: Backwards Compatibility Changes | ||||
fix: Bug Fixes | ||||
perf: Performance Improvements | ||||
api: API Changes | ||||
Rishabh Madan
|
r34341 | |||
$ cd .. | ||||
Raise error on simultaneous usage of flags | ||||
$ hg init relnotes-raise-error | ||||
$ cd relnotes-raise-error | ||||
$ hg releasenotes -r . -l | ||||
abort: cannot use both '--list' and '--rev' | ||||
[255] | ||||
$ hg releasenotes -l -c | ||||
abort: cannot use both '--list' and '--check' | ||||
[255] | ||||
Rishabh Madan
|
r34405 | |||
Display release notes for specified revs if no file is mentioned | ||||
$ hg init relnotes-nofile | ||||
$ cd relnotes-nofile | ||||
$ touch fix1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. fix:: Title of First Fix | ||||
> | ||||
> First paragraph of fix 1. | ||||
> EOF | ||||
$ hg releasenote -r . | ||||
Bug Fixes | ||||
========= | ||||
Title of First Fix | ||||
------------------ | ||||
First paragraph of fix 1. | ||||
Rishabh Madan
|
r36788 | |||
$ cd .. | ||||
Using multiple admonitions in same changeset | ||||
$ hg init relnotes-multiadmon | ||||
$ cd relnotes-multiadmon | ||||
$ touch file1 | ||||
$ hg -q commit -A -l - << EOF | ||||
> commit 1 | ||||
> | ||||
> .. feature:: | ||||
> | ||||
> Details about new feature. | ||||
> | ||||
> .. perf:: | ||||
> | ||||
> Improves the execution by 2x | ||||
> EOF | ||||
$ hg releasenotes -r . $TESTTMP/relnotes-multiple-admonitions | ||||
$ cat $TESTTMP/relnotes-multiple-admonitions | ||||
New Features | ||||
============ | ||||
* Details about new feature. | ||||
Performance Improvements | ||||
======================== | ||||
* Improves the execution by 2x | ||||