Mercurial > hg
view tests/test-highlight @ 10092:f1bf64abcb1b stable
doc/Makefile: Fix rst2html detection
Displaying the output from the failing call to "which" didn't prevent
make from doing stupid things later. We now only search for "rst2html"
and fallback to "rst2html.py". If neither name is found, make will
eventually abort when we try to use $(RST2HTML).
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 16 Dec 2009 23:59:50 +0100 |
parents | b42b03308ae9 |
children | 19c3fefdaec9 b190a8125b43 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" pygments || exit 80 cat <<EOF >> $HGRCPATH [extensions] hgext.highlight = [web] pygments_style = friendly EOF hg init test cd test # 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 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/primes.py') \ | sed "s/class=\"k\"/class=\"kn\"/g" | sed "s/class=\"mf\"/class=\"mi\"/g" echo % hgweb fileannotate, html ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/primes.py') \ | sed "s/class=\"k\"/class=\"kn\"/g" | sed "s/class=\"mi\"/class=\"mf\"/g" echo % hgweb fileannotate, raw ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/primes.py?style=raw') \ | sed "s/test@//" > a echo "200 Script output follows" > b echo "" >> b echo "" >> b hg annotate "primes.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/primes.py?style=raw') \ > a echo "200 Script output follows" > b echo "" >> b hg cat primes.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 "$TESTDIR/killdaemons.py" # 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 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