Mercurial > hg-stable
view tests/test-releasenotes-parsing.t @ 36811:8e1556ac01bb
hgweb: validate WSGI environment dict
The wsgiref.validate module contains useful functions for validating
that various WSGI data structures are proper.
This commit adds validation of the environment dict to our built-in
HTTP server, which turns an HTTP request into an environment dict.
The check discovered that we weren't always setting QUERY_STRING,
which would cause the cgi module to fall back to sys.argv. So we
change things to always set QUERY_STRING.
The check passes on Python 2 and 3.
Differential Revision: https://phab.mercurial-scm.org/D2731
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 08 Mar 2018 09:44:27 -0800 |
parents | 3fff6f30bd7f |
children |
line wrap: on
line source
#require fuzzywuzzy $ cat >> $HGRCPATH << EOF > [extensions] > releasenotes= > EOF Bullet point with a single item spanning a single line $ hg debugparsereleasenotes - << EOF > New Features > ============ > > * Bullet point item with a single line > EOF section: feature bullet point: paragraph: Bullet point item with a single line Bullet point that spans multiple lines. $ hg debugparsereleasenotes - << EOF > New Features > ============ > > * Bullet point with a paragraph > that spans multiple lines. > EOF section: feature bullet point: paragraph: Bullet point with a paragraph that spans multiple lines. $ hg debugparsereleasenotes - << EOF > New Features > ============ > > * Bullet point with a paragraph > that spans multiple lines. > > And has an empty line between lines too. > With a line cuddling that. > EOF section: feature bullet point: paragraph: Bullet point with a paragraph that spans multiple lines. paragraph: And has an empty line between lines too. With a line cuddling that. Multiple bullet points. With some entries being multiple lines. $ hg debugparsereleasenotes - << EOF > New Features > ============ > > * First bullet point. It has a single line. > > * Second bullet point. > It consists of multiple lines. > > * Third bullet point. It has a single line. > EOF section: feature bullet point: paragraph: First bullet point. It has a single line. bullet point: paragraph: Second bullet point. It consists of multiple lines. bullet point: paragraph: Third bullet point. It has a single line. Bullet point without newline between items $ hg debugparsereleasenotes - << EOF > New Features > ============ > > * First bullet point > * Second bullet point > And it has multiple lines > * Third bullet point > * Fourth bullet point > EOF section: feature bullet point: paragraph: First bullet point bullet point: paragraph: Second bullet point And it has multiple lines bullet point: paragraph: Third bullet point bullet point: paragraph: Fourth bullet point Sub-section contents are read $ hg debugparsereleasenotes - << EOF > New Features > ============ > > First Feature > ------------- > > This is the first new feature that was implemented. > > And a second paragraph about it. > > Second Feature > -------------- > > This is the second new feature that was implemented. > > Paragraph two. > > Paragraph three. > EOF section: feature subsection: First Feature paragraph: This is the first new feature that was implemented. paragraph: And a second paragraph about it. subsection: Second Feature paragraph: This is the second new feature that was implemented. paragraph: Paragraph two. paragraph: Paragraph three. Multiple sections are read $ hg debugparsereleasenotes - << EOF > New Features > ============ > > * Feature 1 > * Feature 2 > > Bug Fixes > ========= > > * Fix 1 > * Fix 2 > EOF section: feature bullet point: paragraph: Feature 1 bullet point: paragraph: Feature 2 section: fix bullet point: paragraph: Fix 1 bullet point: paragraph: Fix 2 Mixed sub-sections and bullet list $ hg debugparsereleasenotes - << EOF > New Features > ============ > > Feature 1 > --------- > > Some words about the first feature. > > Feature 2 > --------- > > Some words about the second feature. > That span multiple lines. > > Other Changes > ------------- > > * Bullet item 1 > * Bullet item 2 > EOF section: feature subsection: Feature 1 paragraph: Some words about the first feature. subsection: Feature 2 paragraph: Some words about the second feature. That span multiple lines. bullet point: paragraph: Bullet item 1 bullet point: paragraph: Bullet item 2 Warn user in case of unexpected block while parsing $ hg init relnotes-warn $ cd relnotes-warn $ touch feature1 $ hg -q commit -A -l - << EOF > commit 1 > > .. feature:: > > new feature added. > some words about the feature. > EOF $ hg releasenote -r . changeset a4251905c440: unexpected block in release notes directive feature New Features ============ * new feature added. some words about the feature. $ cd ..