# HG changeset patch # User Martin Geisler # Date 2009-09-27 08:12:02 # Node ID 7d6ac5d7917c84d5e8d1016b6bfe0cf726f80eac # Parent c96d73dd956d24a43bb6da317e180add6f89919f test-gendoc: add tests for all languages This ensures that we catch errors in the reST syntax early and for all languages. The only change needed in gendoc.py was to correct the computation of section underlines for Asian languages. diff --git a/doc/gendoc.py b/doc/gendoc.py --- a/doc/gendoc.py +++ b/doc/gendoc.py @@ -4,6 +4,7 @@ sys.path.insert(0, "..") # fall back to pure modules if required C extensions are not available sys.path.append(os.path.join('..', 'mercurial', 'pure')) from mercurial import demandimport; demandimport.enable() +from mercurial import encoding from mercurial.commands import table, globalopts from mercurial.i18n import _ from mercurial.help import helptable @@ -55,9 +56,9 @@ def get_cmd(cmd): def show_doc(ui): def section(s): - ui.write("%s\n%s\n\n" % (s, "-" * len(s))) + ui.write("%s\n%s\n\n" % (s, "-" * encoding.colwidth(s))) def subsection(s): - ui.write("%s\n%s\n\n" % (s, '"' * len(s))) + ui.write("%s\n%s\n\n" % (s, '"' * encoding.colwidth(s))) # print options section(_("OPTIONS")) diff --git a/tests/test-gendoc b/tests/test-gendoc --- a/tests/test-gendoc +++ b/tests/test-gendoc @@ -3,10 +3,19 @@ "$TESTDIR/hghave" rst2html || exit 80 RST2HTML=$(which rst2html 2> /dev/null || which rst2html.py) -echo "checking for syntax errors in gendoc.py" -python $TESTDIR/../doc/gendoc.py > gendoc.txt || exit +HGENCODING=UTF-8 +export HGENCODING -# We run rst2html over the file without adding "--halt warning" to -# make it report all errors instead of stopping on the first one. -echo "checking for parse errors with rst2html" -$RST2HTML gendoc.txt /dev/null +for PO in C $TESTDIR/../i18n/*.po; do + LOCALE=$(basename $PO .po) + echo + echo "% extracting documentation from $LOCALE" + echo ".. -*- coding: utf-8 -*-" > gendoc-$LOCALE.txt + echo "" >> gendoc-$LOCALE.txt + LC_ALL=$LOCALE python $TESTDIR/../doc/gendoc.py >> gendoc-$LOCALE.txt || exit + + # We run rst2html over the file without adding "--halt warning" to + # make it report all errors instead of stopping on the first one. + echo "checking for parse errors with rst2html" + $RST2HTML gendoc-$LOCALE.txt /dev/null +done diff --git a/tests/test-gendoc.out b/tests/test-gendoc.out --- a/tests/test-gendoc.out +++ b/tests/test-gendoc.out @@ -1,2 +1,30 @@ -checking for syntax errors in gendoc.py + +% extracting documentation from C +checking for parse errors with rst2html + +% extracting documentation from da +checking for parse errors with rst2html + +% extracting documentation from de +checking for parse errors with rst2html + +% extracting documentation from el +checking for parse errors with rst2html + +% extracting documentation from fr checking for parse errors with rst2html + +% extracting documentation from it +checking for parse errors with rst2html + +% extracting documentation from ja +checking for parse errors with rst2html + +% extracting documentation from pt_BR +checking for parse errors with rst2html + +% extracting documentation from zh_CN +checking for parse errors with rst2html + +% extracting documentation from zh_TW +checking for parse errors with rst2html