##// END OF EJS Templates
tests highlight, keyword: load extensions with "ext ="
tests highlight, keyword: load extensions with "ext ="

File last commit:

r10125:19c3fefd default
r10125:19c3fefd default
Show More
test-highlight
141 lines | 3.2 KiB | text/plain | TextLexer
Dirkjan Ochtman
tests: add highlight extension tests
r6355 #!/bin/sh
"$TESTDIR/hghave" pygments || exit 80
cat <<EOF >> $HGRCPATH
[extensions]
Christian Ebert
tests highlight, keyword: load extensions with "ext ="
r10125 highlight =
Isaac Jurado
highlight: Generate pygments style sheet dynamically...
r6485 [web]
pygments_style = friendly
Dirkjan Ochtman
tests: add highlight extension tests
r6355 EOF
hg init test
cd test
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 # create random Python file to exercise Pygments
cat <<EOF > primes.py
#!/usr/bin/env python
"""Fun with generators. Corresponding Haskell implementation:
primes = 2 : sieve [3, 5..]
where sieve (p:ns) = p : sieve [n | n <- ns, mod n p /= 0]
"""
from itertools import dropwhile, ifilter, islice, count, chain
def primes():
"""Generate all primes."""
def sieve(ns):
p = ns.next()
# It is important to yield *here* in order to stop the
# infinite recursion.
yield p
ns = ifilter(lambda n: n % p != 0, ns)
for n in sieve(ns):
yield n
odds = ifilter(lambda i: i % 2 == 1, count())
return chain([2], sieve(dropwhile(lambda n: n < 3, odds)))
if __name__ == "__main__":
import sys
try:
n = int(sys.argv[1])
except (ValueError, IndexError):
n = 10
p = primes()
print "The first %d primes: %s" % (n, list(islice(p, n)))
EOF
Christian Ebert
highlight: convert text to local before passing to pygmentize (issue1341)...
r7120
Dirkjan Ochtman
tests: add highlight extension tests
r6355 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
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987 echo % hgweb filerevision, html
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/primes.py') \
Christian Ebert
test-highlight: adapt output to latest pygments keeping backwards compatibility
r8083 | sed "s/class=\"k\"/class=\"kn\"/g" | sed "s/class=\"mf\"/class=\"mi\"/g"
Dirkjan Ochtman
tests: add highlight extension tests
r6355
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987 echo % hgweb fileannotate, html
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/primes.py') \
Christian Ebert
test-highlight: adapt output to latest pygments keeping backwards compatibility
r8083 | sed "s/class=\"k\"/class=\"kn\"/g" | sed "s/class=\"mi\"/class=\"mf\"/g"
Dirkjan Ochtman
tests: add highlight extension tests
r6355
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987 echo % hgweb fileannotate, raw
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/primes.py?style=raw') \
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987 | sed "s/test@//" > a
echo "200 Script output follows" > b
echo "" >> b
echo "" >> b
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 hg annotate "primes.py" >> b
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987 echo "" >> b
echo "" >> b
echo "" >> b
echo "" >> b
diff -u b a
echo
echo % hgweb filerevision, raw
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/primes.py?style=raw') \
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987 > a
echo "200 Script output follows" > b
echo "" >> b
Martin Geisler
test-highlight: decouple test from get-with-headers.py...
r8485 hg cat primes.py >> b
Rocco Rutte
highlight: only pygmentize for HTML mimetypes...
r6987
diff -u b a
echo
Isaac Jurado
highlight: Generate pygments style sheet dynamically...
r6485 echo % hgweb highlightcss friendly
Brendan Cully
Fix intermittent broken pipe in test-highlight
r6863 "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/highlightcss' > out
head -n 4 out
rm out
Isaac Jurado
highlight: Generate pygments style sheet dynamically...
r6485
echo % errors encountered
cat errors.log
Dirkjan Ochtman
tests: use killdaemons.py in test-highlight
r7623 "$TESTDIR/killdaemons.py"
Isaac Jurado
highlight: Generate pygments style sheet dynamically...
r6485
# 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
Brendan Cully
Fix intermittent broken pipe in test-highlight
r6863 "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/highlightcss' > out
head -n 4 out
rm out
Isaac Jurado
highlight: Generate pygments style sheet dynamically...
r6485
Dirkjan Ochtman
tests: add highlight extension tests
r6355 echo % errors encountered
cat errors.log
Yuya Nishihara
highlight: fixes garbled text in non-UTF-8 environment...
r9424
cd ..
hg init eucjp
cd eucjp
printf '\265\376\n' >> eucjp.txt # Japanese kanji "Kyo"
hg ci -Ama
hgserveget () {
"$TESTDIR/killdaemons.py"
echo % HGENCODING="$1" hg serve
HGENCODING="$1" hg serve -p $HGPORT -d -n test --pid-file=hg.pid -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % hgweb filerevision, html
"$TESTDIR/get-with-headers.py" localhost:$HGPORT "/file/tip/$2" \
| grep '<div class="parity0 source">' | $TESTDIR/printrepr.py
echo % errors encountered
cat errors.log
}
hgserveget euc-jp eucjp.txt
hgserveget utf-8 eucjp.txt
hgserveget us-ascii eucjp.txt