mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
5cbc9e210a
Example case: Display file written in iso-8859-1 with current HGENCODING utf-8. At the moment only an Error page appears because pygmentize chokes on the replacement chars. Alternatives: 1) Turn off highlighting and avoid UnicodeDecodeError for files that are not in HGENCODING. 2) [this patch] use util.tolocal to display these files. Alternative 2) seems ok, as this only concerns display and readability. See also: c5f1a58b8b9a, apparently put aside during refactor of highlight. Add test for UnicodeDecodeError with iso-8859-1 file contents.
91 lines
2.1 KiB
Bash
Executable File
91 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
"$TESTDIR/hghave" pygments || exit 80
|
|
|
|
cat <<EOF >> $HGRCPATH
|
|
[extensions]
|
|
hgext.highlight =
|
|
[web]
|
|
pygments_style = friendly
|
|
EOF
|
|
|
|
hg init test
|
|
cd test
|
|
cp $TESTDIR/get-with-headers.py ./
|
|
|
|
# check for UnicodeDecodeError with iso-8859-1 file contents
|
|
python -c 'fp = open("isolatin", "w"); fp.write("h\xFCbsch\n"); fp.close();'
|
|
|
|
hg ci -Ama
|
|
|
|
echo % hg serve
|
|
hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log
|
|
cat hg.pid >> $DAEMON_PIDS
|
|
|
|
echo % hgweb filerevision, html
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/get-with-headers.py') \
|
|
| sed "s/[0-9]* years ago/long ago/g" | sed "s/class=\"k\"/class=\"kn\"/g"
|
|
|
|
echo % hgweb filerevision, html
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/isolatin') \
|
|
| sed "s/[0-9]* years ago/long ago/g" | sed "s/class=\"k\"/class=\"kn\"/g"
|
|
|
|
echo % hgweb fileannotate, html
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/get-with-headers.py') \
|
|
| sed "s/[0-9]* years ago/long ago/g" | sed "s/class=\"k\"/class=\"kn\"/g"
|
|
|
|
echo % hgweb fileannotate, raw
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/get-with-headers.py?style=raw') \
|
|
| sed "s/test@//" > a
|
|
|
|
echo "200 Script output follows" > b
|
|
echo "" >> b
|
|
echo "" >> b
|
|
hg annotate "get-with-headers.py" >> b
|
|
echo "" >> b
|
|
echo "" >> b
|
|
echo "" >> b
|
|
echo "" >> b
|
|
|
|
diff -u b a
|
|
|
|
echo
|
|
echo % hgweb filerevision, raw
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/get-with-headers.py?style=raw') \
|
|
> a
|
|
|
|
echo "200 Script output follows" > b
|
|
echo "" >> b
|
|
hg cat get-with-headers.py >> b
|
|
|
|
diff -u b a
|
|
|
|
echo
|
|
echo % hgweb highlightcss friendly
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/highlightcss' > out
|
|
head -n 4 out
|
|
rm out
|
|
|
|
echo % errors encountered
|
|
cat errors.log
|
|
kill `cat hg.pid`
|
|
|
|
# Change the pygments style
|
|
cat > .hg/hgrc <<EOF
|
|
[web]
|
|
pygments_style = fruity
|
|
EOF
|
|
|
|
echo % hg serve again
|
|
hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log
|
|
cat hg.pid >> $DAEMON_PIDS
|
|
|
|
echo % hgweb highlightcss fruity
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/highlightcss' > out
|
|
head -n 4 out
|
|
rm out
|
|
|
|
echo % errors encountered
|
|
cat errors.log
|
|
|