Mercurial > hg
annotate tests/test-highlight @ 8712:dd3ebf81af43
commit: rename wctx to cctx
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 03 Jun 2009 17:12:48 -0500 |
parents | 0b93eff3721d |
children | 799373ff2554 |
rev | line source |
---|---|
6355
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
1 #!/bin/sh |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
2 |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
3 "$TESTDIR/hghave" pygments || exit 80 |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
4 |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
5 cat <<EOF >> $HGRCPATH |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
6 [extensions] |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
7 hgext.highlight = |
6485
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
8 [web] |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
9 pygments_style = friendly |
6355
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
10 EOF |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
11 |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
12 hg init test |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
13 cd test |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
14 # create random Python file to exercise Pygments |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
15 cat <<EOF > primes.py |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
16 #!/usr/bin/env python |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
17 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
18 """Fun with generators. Corresponding Haskell implementation: |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
19 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
20 primes = 2 : sieve [3, 5..] |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
21 where sieve (p:ns) = p : sieve [n | n <- ns, mod n p /= 0] |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
22 """ |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
23 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
24 from itertools import dropwhile, ifilter, islice, count, chain |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
25 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
26 def primes(): |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
27 """Generate all primes.""" |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
28 def sieve(ns): |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
29 p = ns.next() |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
30 # It is important to yield *here* in order to stop the |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
31 # infinite recursion. |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
32 yield p |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
33 ns = ifilter(lambda n: n % p != 0, ns) |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
34 for n in sieve(ns): |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
35 yield n |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
36 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
37 odds = ifilter(lambda i: i % 2 == 1, count()) |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
38 return chain([2], sieve(dropwhile(lambda n: n < 3, odds))) |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
39 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
40 if __name__ == "__main__": |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
41 import sys |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
42 try: |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
43 n = int(sys.argv[1]) |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
44 except (ValueError, IndexError): |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
45 n = 10 |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
46 p = primes() |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
47 print "The first %d primes: %s" % (n, list(islice(p, n))) |
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
48 EOF |
7120
db7557359636
highlight: convert text to local before passing to pygmentize (issue1341)
Christian Ebert <blacktrash@gmx.net>
parents:
7040
diff
changeset
|
49 |
db7557359636
highlight: convert text to local before passing to pygmentize (issue1341)
Christian Ebert <blacktrash@gmx.net>
parents:
7040
diff
changeset
|
50 # check for UnicodeDecodeError with iso-8859-1 file contents |
7959
5fb6edbf0ab8
tests: guess lexer by filename for recent pygments
Christian Ebert <blacktrash@gmx.net>
parents:
7623
diff
changeset
|
51 python -c 'fp = open("isolatin.txt", "w"); fp.write("h\xFCbsch\n"); fp.close();' |
7120
db7557359636
highlight: convert text to local before passing to pygmentize (issue1341)
Christian Ebert <blacktrash@gmx.net>
parents:
7040
diff
changeset
|
52 |
6355
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
53 hg ci -Ama |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
54 |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
55 echo % hg serve |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
56 hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
57 cat hg.pid >> $DAEMON_PIDS |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
58 |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
59 echo % hgweb filerevision, html |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
60 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/primes.py') \ |
8083
29ac24a36ed7
test-highlight: adapt output to latest pygments keeping backwards compatibility
Christian Ebert <blacktrash@gmx.net>
parents:
7959
diff
changeset
|
61 | sed "s/class=\"k\"/class=\"kn\"/g" | sed "s/class=\"mf\"/class=\"mi\"/g" |
6355
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
62 |
7120
db7557359636
highlight: convert text to local before passing to pygmentize (issue1341)
Christian Ebert <blacktrash@gmx.net>
parents:
7040
diff
changeset
|
63 echo % hgweb filerevision, html |
7959
5fb6edbf0ab8
tests: guess lexer by filename for recent pygments
Christian Ebert <blacktrash@gmx.net>
parents:
7623
diff
changeset
|
64 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/isolatin.txt') \ |
7544
c5e37dc38a52
test-hgweb-*: replace "XX years ago" by a fixed string in get-with-headers.py
Gilles Moris <gilles.moris@free.fr>
parents:
7120
diff
changeset
|
65 | sed "s/class=\"k\"/class=\"kn\"/g" |
7120
db7557359636
highlight: convert text to local before passing to pygmentize (issue1341)
Christian Ebert <blacktrash@gmx.net>
parents:
7040
diff
changeset
|
66 |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
67 echo % hgweb fileannotate, html |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
68 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/primes.py') \ |
8083
29ac24a36ed7
test-highlight: adapt output to latest pygments keeping backwards compatibility
Christian Ebert <blacktrash@gmx.net>
parents:
7959
diff
changeset
|
69 | sed "s/class=\"k\"/class=\"kn\"/g" | sed "s/class=\"mi\"/class=\"mf\"/g" |
6355
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
70 |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
71 echo % hgweb fileannotate, raw |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
72 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/annotate/tip/primes.py?style=raw') \ |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
73 | sed "s/test@//" > a |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
74 |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
75 echo "200 Script output follows" > b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
76 echo "" >> b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
77 echo "" >> b |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
78 hg annotate "primes.py" >> b |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
79 echo "" >> b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
80 echo "" >> b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
81 echo "" >> b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
82 echo "" >> b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
83 |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
84 diff -u b a |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
85 |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
86 echo |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
87 echo % hgweb filerevision, raw |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
88 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/primes.py?style=raw') \ |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
89 > a |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
90 |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
91 echo "200 Script output follows" > b |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
92 echo "" >> b |
8485
0b93eff3721d
test-highlight: decouple test from get-with-headers.py
Martin Geisler <mg@lazybytes.net>
parents:
8083
diff
changeset
|
93 hg cat primes.py >> b |
6987
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
94 |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
95 diff -u b a |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
96 |
d09e813b21e3
highlight: only pygmentize for HTML mimetypes
Rocco Rutte <pdmef@gmx.net>
parents:
6863
diff
changeset
|
97 echo |
6485
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
98 echo % hgweb highlightcss friendly |
6863
d78d0f9783b8
Fix intermittent broken pipe in test-highlight
Brendan Cully <brendan@kublai.com>
parents:
6485
diff
changeset
|
99 "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/highlightcss' > out |
d78d0f9783b8
Fix intermittent broken pipe in test-highlight
Brendan Cully <brendan@kublai.com>
parents:
6485
diff
changeset
|
100 head -n 4 out |
d78d0f9783b8
Fix intermittent broken pipe in test-highlight
Brendan Cully <brendan@kublai.com>
parents:
6485
diff
changeset
|
101 rm out |
6485
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
102 |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
103 echo % errors encountered |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
104 cat errors.log |
7623
03007ad08027
tests: use killdaemons.py in test-highlight
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7544
diff
changeset
|
105 "$TESTDIR/killdaemons.py" |
6485
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
106 |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
107 # Change the pygments style |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
108 cat > .hg/hgrc <<EOF |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
109 [web] |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
110 pygments_style = fruity |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
111 EOF |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
112 |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
113 echo % hg serve again |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
114 hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
115 cat hg.pid >> $DAEMON_PIDS |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
116 |
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
117 echo % hgweb highlightcss fruity |
6863
d78d0f9783b8
Fix intermittent broken pipe in test-highlight
Brendan Cully <brendan@kublai.com>
parents:
6485
diff
changeset
|
118 "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/highlightcss' > out |
d78d0f9783b8
Fix intermittent broken pipe in test-highlight
Brendan Cully <brendan@kublai.com>
parents:
6485
diff
changeset
|
119 head -n 4 out |
d78d0f9783b8
Fix intermittent broken pipe in test-highlight
Brendan Cully <brendan@kublai.com>
parents:
6485
diff
changeset
|
120 rm out |
6485
938319418d8c
highlight: Generate pygments style sheet dynamically
Isaac Jurado <diptongo@gmail.com>
parents:
6355
diff
changeset
|
121 |
6355
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
122 echo % errors encountered |
3b841c189ab7
tests: add highlight extension tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
123 cat errors.log |