[PATCH 4 of 4] check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown
stevengbrown at gmail.com
Sat May 17 04:46:57 CDT 2014
# HG changeset patch
# User Steven Brown <StevenGBrown at gmail.com>
# Date 1400317866 -28800
# Sat May 17 17:11:06 2014 +0800
# Node ID 90384414ffe4f419305707bc1dbca67a2304d896
# Parent aa6cb50069de26fa136499db93d59d6164614679
check-code: check for consistent usage of the websub filter in hgweb templates
The check-code tool now expects the "desc" keyword to be followed by the
"websub" filter, with the following exceptions:
a) It has no filters at all, e.g. a changeset description in the raw style
templates or the repository description in the summary page.
b) It is followed by the "firstline" filter, e.g. the first line of the
changeset description is displayed as a summary or title.
diff --git a/contrib/check-code.py b/contrib/check-code.py
--- a/contrib/check-code.py
+++ b/contrib/check-code.py
@@ -367,6 +367,16 @@
[]
]
+webtemplatefilters = []
+
+webtemplatepats = [
+ [],
+ [
+ (r'{desc(\|(?!websub|firstline)[^\|]*)+}',
+ 'follow desc keyword with either firstline or websub'),
+ ]
+]
+
checks = [
('python', r'.*\.(py|cgi)$', r'^#!.*python', pyfilters, pypats),
('test script', r'(.*/)?test-[^.~]*$', '', testfilters, testpats),
@@ -377,6 +387,8 @@
('layering violation ui in util', r'mercurial/util\.py', '', pyfilters,
inutilpats),
('txt', r'.*\.txt$', '', txtfilters, txtpats),
+ ('web template', r'mercurial/templates/.*\.tmpl', '',
+ webtemplatefilters, webtemplatepats),
]
def _preparepats():
diff --git a/tests/test-check-code.t b/tests/test-check-code.t
--- a/tests/test-check-code.t
+++ b/tests/test-check-code.t
@@ -284,3 +284,19 @@
> print _(
don't use % inside _()
[1]
+
+web templates
+
+ $ mkdir -p mercurial/templates
+ $ cat > mercurial/templates/example.tmpl <<EOF
+ > {desc}
+ > {desc|escape}
+ > {desc|firstline}
+ > {desc|websub}
+ > EOF
+
+ $ "$check_code" --warnings mercurial/templates/example.tmpl
+ mercurial/templates/example.tmpl:2:
+ > {desc|escape}
+ warning: follow desc keyword with either firstline or websub
+ [1]
More information about the Mercurial-devel
mailing list