##// END OF EJS Templates
sslutil: synchronize hostname matching logic with CPython...
sslutil: synchronize hostname matching logic with CPython sslutil contains its own hostname matching logic. CPython has code for the same intent. However, it is only available to Python 2.7.9+ (or distributions that have backported 2.7.9's ssl module improvements). This patch effectively imports CPython's hostname matching code from its ssl.py into sslutil.py. The hostname matching code itself is pretty similar. However, the DNS name matching code is much more robust and spec conformant. As the test changes show, this changes some behavior around wildcard handling and IDNA matching. The new behavior allows wildcards in the middle of words (e.g. 'f*.com' matches 'foo.com') This is spec compliant according to RFC 6125 Section 6.5.3 item 3. There is one test where the matcher is more strict. Before, '*.a.com' matched '.a.com'. Now it doesn't match. Strictly speaking this is a security vulnerability.

File last commit:

r29388:f694e201 default
r29452:26a5d605 3.8.4 stable
Show More
test-highlight.t
690 lines | 26.9 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require pygments serve
Matt Mackall
tests: unify test-highlight
r12445
$ cat <<EOF >> $HGRCPATH
> [extensions]
> highlight =
> [web]
> pygments_style = friendly
av6
highlight: add highlightfiles config option which takes a fileset (issue3005)...
r26249 > highlightfiles = **.py and size('<100KB')
Matt Mackall
tests: unify test-highlight
r12445 > EOF
$ hg init test
$ cd test
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 $ filterhtml () {
> sed -e "s/class=\"k\"/class=\"kn\"/g" \
Yuya Nishihara
test-highlight: add normalization rule for Pygments 2.1...
r27997 > -e "s/class=\"mf\"/class=\"mi\"/g" \
> -e "s/class=\"\([cs]\)[h12]\"/class=\"\1\"/g"
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 > }
Matt Mackall
tests: unify test-highlight
r12445 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
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 $ echo >> primes.py # to test html markup with an empty line just before EOF
Matt Mackall
tests: unify test-highlight
r12445 $ hg ci -Ama
adding primes.py
hg serve
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
hgweb filerevision, html
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 $ (get-with-headers.py localhost:$HGPORT 'file/tip/primes.py') | filterhtml
Matt Mackall
tests: unify test-highlight
r12445 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Boissinot
fix broken tests...
r14053 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-highlight
r12445
<link rel="stylesheet" href="/highlightcss" type="text/css" />
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <title>test: 06824edf55d0 primes.py</title>
Matt Mackall
tests: unify test-highlight
r12445 </head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-highlight
r12445 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/tags">tags</a></li>
FUJIWARA Katsunori
hgweb: fix lack of "bookmarks" link in "/file" page of "paper" style...
r21120 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip/">browse</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
<ul>
<li class="active">file</li>
<li><a href="/file/tip/primes.py">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/primes.py">diff</a></li>
<li><a href="/comparison/tip/primes.py">comparison</a></li>
<li><a href="/annotate/tip/primes.py">annotate</a></li>
<li><a href="/log/tip/primes.py">file log</a></li>
<li><a href="/raw-file/tip/primes.py">raw</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
Augie Fackler
hgweb: add help link to templates missed in ead4e21f49f1
r12680 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-highlight
r12445 </div>
<div class="main">
Matt Mackall
tests: fix up test-highlight for breadcrumb changes
r18291 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 view primes.py @ 0:<a href="/rev/06824edf55d0">06824edf55d0</a>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <span class="tag">tip</span>
</h3>
Matt Mackall
tests: unify test-highlight
r12445
<form class="search" action="/log">
<p><input name="rev" id="search1" type="text" size="30" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-highlight
r12445 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th class="date">date</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
<tr>
<th class="author">parents</th>
<td class="author"></td>
</tr>
<tr>
<th class="author">children</th>
<td class="author"></td>
</tr>
</table>
<div class="overflow">
Alexander Plavin
hgweb: add line wrapping switch to file source view...
r19430 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
Matt Mackall
tests: unify test-highlight
r12445 <div class="sourcefirst"> line source</div>
av6
hgweb: replace .sourcelast with .bottomline that does the same...
r26245 <pre class="sourcelines stripes4 wrap bottomline">
Alexander Plavin
hgweb: code selection without line numbers in file source view...
r19387 <span id="l1"><span class="c">#!/usr/bin/env python</span></span><a href="#l1"></a>
<span id="l2"></span><a href="#l2"></a>
<span id="l3"><span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></span><a href="#l3"></a>
<span id="l4"></span><a href="#l4"></a>
<span id="l5"><span class="sd">primes = 2 : sieve [3, 5..]</span></span><a href="#l5"></a>
<span id="l6"><span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></span><a href="#l6"></a>
<span id="l7"><span class="sd">&quot;&quot;&quot;</span></span><a href="#l7"></a>
<span id="l8"></span><a href="#l8"></a>
<span id="l9"><span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></span><a href="#l9"></a>
<span id="l10"></span><a href="#l10"></a>
<span id="l11"><span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></span><a href="#l11"></a>
<span id="l12"> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></span><a href="#l12"></a>
<span id="l13"> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></span><a href="#l13"></a>
<span id="l14"> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></span><a href="#l14"></a>
<span id="l15"> <span class="c"># It is important to yield *here* in order to stop the</span></span><a href="#l15"></a>
<span id="l16"> <span class="c"># infinite recursion.</span></span><a href="#l16"></a>
<span id="l17"> <span class="kn">yield</span> <span class="n">p</span></span><a href="#l17"></a>
<span id="l18"> <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></span><a href="#l18"></a>
<span id="l19"> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></span><a href="#l19"></a>
<span id="l20"> <span class="kn">yield</span> <span class="n">n</span></span><a href="#l20"></a>
<span id="l21"></span><a href="#l21"></a>
<span id="l22"> <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></span><a href="#l22"></a>
<span id="l23"> <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></span><a href="#l23"></a>
<span id="l24"></span><a href="#l24"></a>
<span id="l25"><span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></span><a href="#l25"></a>
<span id="l26"> <span class="kn">import</span> <span class="nn">sys</span></span><a href="#l26"></a>
<span id="l27"> <span class="kn">try</span><span class="p">:</span></span><a href="#l27"></a>
<span id="l28"> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></span><a href="#l28"></a>
<span id="l29"> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></span><a href="#l29"></a>
<span id="l30"> <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></span><a href="#l30"></a>
<span id="l31"> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></span><a href="#l31"></a>
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <span id="l32"> <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></span><a href="#l32"></a>
<span id="l33"></span><a href="#l33"></a></pre>
Matt Mackall
tests: unify test-highlight
r12445 </div>
</div>
</div>
Benoit Boissinot
fix broken tests...
r14053 <script type="text/javascript">process_dates()</script>
Matt Mackall
tests: unify test-highlight
r12445
</body>
</html>
hgweb fileannotate, html
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 $ (get-with-headers.py localhost:$HGPORT 'annotate/tip/primes.py') | filterhtml
Matt Mackall
tests: unify test-highlight
r12445 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Boissinot
fix broken tests...
r14053 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-highlight
r12445
<link rel="stylesheet" href="/highlightcss" type="text/css" />
<title>test: primes.py annotate</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-highlight
r12445 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/tags">tags</a></li>
Patrick Mezard
test-highlight: fix test output (introduced by 2151703e7f84)
r13618 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip/">browse</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/primes.py">file</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/file/tip/primes.py">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/primes.py">diff</a></li>
<li><a href="/comparison/tip/primes.py">comparison</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li class="active">annotate</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/log/tip/primes.py">file log</a></li>
<li><a href="/raw-annotate/tip/primes.py">raw</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
Augie Fackler
hgweb: add help link to templates missed in ead4e21f49f1
r12680 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-highlight
r12445 </div>
<div class="main">
Matt Mackall
tests: fix up test-highlight for breadcrumb changes
r18291 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 annotate primes.py @ 0:<a href="/rev/06824edf55d0">06824edf55d0</a>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <span class="tag">tip</span>
</h3>
Matt Mackall
tests: unify test-highlight
r12445
<form class="search" action="/log">
<p><input name="rev" id="search1" type="text" size="30" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-highlight
r12445 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th class="date">date</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
<tr>
<th class="author">parents</th>
<td class="author"></td>
</tr>
<tr>
<th class="author">children</th>
<td class="author"></td>
</tr>
</table>
<div class="overflow">
<table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Matt Mackall
tests: unify test-highlight
r12445 <tr>
<th class="annotate">rev</th>
<th class="line">&nbsp;&nbsp;line source</th>
</tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Alexander Plavin
hgweb: make stripes in file annotate view with CSS
r19449 <tbody class="stripes2">
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l1">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l1"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l1"> 1</a> <span class="c">#!/usr/bin/env python</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l2">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l2"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l2"> 2</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l3">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l3"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l3"> 3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l4">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l4"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l4"> 4</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l5">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l5"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l6">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l6"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l6"> 6</a> <span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l7">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l7"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l8">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l8"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l8"> 8</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l9">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l9"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l9"> 9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l10">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l10"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l10"> 10</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l11">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l11"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l11"> 11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l12">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l12"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l12"> 12</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l13">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l13"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l13"> 13</a> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l14">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l14"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l14"> 14</a> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l15">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l15"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l15"> 15</a> <span class="c"># It is important to yield *here* in order to stop the</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l16">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l16"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l16"> 16</a> <span class="c"># infinite recursion.</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l17">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l17"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l18">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l18"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Yuya Nishihara
test-highlight: unify normalization rule of pygments output...
r27995 <td class="source"><a href="#l18"> 18</a> <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l19">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l19"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l19"> 19</a> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l20">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l20"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l21">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l21"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l21"> 21</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l22">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l22"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Yuya Nishihara
test-highlight: unify normalization rule of pygments output...
r27995 <td class="source"><a href="#l22"> 22</a> <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l23">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l23"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Yuya Nishihara
test-highlight: unify normalization rule of pygments output...
r27995 <td class="source"><a href="#l23"> 23</a> <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l24">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l24"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l24"> 24</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l25">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l25"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l25"> 25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l26">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l26"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l27">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l27"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l27"> 27</a> <span class="kn">try</span><span class="p">:</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l28">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l28"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Yuya Nishihara
test-highlight: unify normalization rule of pygments output...
r27995 <td class="source"><a href="#l28"> 28</a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l29">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l29"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l29"> 29</a> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l30">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l30"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Yuya Nishihara
test-highlight: unify normalization rule of pygments output...
r27995 <td class="source"><a href="#l30"> 30</a> <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l31">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l31"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l31"> 31</a> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <tr id="l32">
Matt Mackall
tests: unify test-highlight
r12445 <td class="annotate">
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <a href="/annotate/06824edf55d0/primes.py#l32"
title="06824edf55d0: a">test@0</a>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Alexander Plavin
hgweb: highlight line which is linked to at annotate view
r19463 <td class="source"><a href="#l32"> 32</a> <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 <tr id="l33">
<td class="annotate">
<a href="/annotate/06824edf55d0/primes.py#l33"
title="06824edf55d0: a">test@0</a>
</td>
<td class="source"><a href="#l33"> 33</a> </td>
</tr>
Alexander Plavin
hgweb: make stripes in file annotate view with CSS
r19449 </tbody>
Matt Mackall
tests: unify test-highlight
r12445 </table>
</div>
</div>
</div>
Benoit Boissinot
fix broken tests...
r14053 <script type="text/javascript">process_dates()</script>
Matt Mackall
tests: unify test-highlight
r12445
</body>
</html>
hgweb fileannotate, raw
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ (get-with-headers.py localhost:$HGPORT 'annotate/tip/primes.py?style=raw') \
Matt Mackall
tests: unify test-highlight
r12445 > | 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
Danek Duvall
solaris: diff -u emits "No differences encountered"...
r20598 $ cmp b a || diff -u b a
Matt Mackall
tests: unify test-highlight
r12445
hgweb filerevision, raw
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ (get-with-headers.py localhost:$HGPORT 'file/tip/primes.py?style=raw') \
Matt Mackall
tests: unify test-highlight
r12445 > > a
$ echo "200 Script output follows" > b
$ echo "" >> b
$ hg cat primes.py >> b
Danek Duvall
solaris: diff -u emits "No differences encountered"...
r20598 $ cmp b a || diff -u b a
Matt Mackall
tests: unify test-highlight
r12445
hgweb highlightcss friendly
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'highlightcss' > out
Matt Mackall
tests: unify test-highlight
r12445 $ head -n 4 out
200 Script output follows
/* pygments_style = friendly */
$ rm out
errors encountered
$ cat errors.log
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Matt Mackall
tests: unify test-highlight
r12445
Change the pygments style
$ cat > .hg/hgrc <<EOF
> [web]
> pygments_style = fruity
> EOF
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
hgweb highlightcss fruity
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'highlightcss' > out
Matt Mackall
tests: unify test-highlight
r12445 $ head -n 4 out
200 Script output follows
/* pygments_style = fruity */
$ rm out
errors encountered
$ cat errors.log
av6
highlight: add highlightfiles config option which takes a fileset (issue3005)...
r26249 $ killdaemons.py
only highlight C source files
$ cat > .hg/hgrc <<EOF
> [web]
> highlightfiles = **.c
> EOF
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
test that fileset in highlightfiles works and primes.py is not highlighted
$ get-with-headers.py localhost:$HGPORT 'file/tip/primes.py' | grep 'id="l11"'
<span id="l11">def primes():</span><a href="#l11"></a>
errors encountered
$ cat errors.log
Matt Mackall
tests: unify test-highlight
r12445 $ cd ..
$ hg init eucjp
$ cd eucjp
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'print("\265\376")' >> eucjp.txt # Japanese kanji "Kyo"
Matt Mackall
tests: unify test-highlight
r12445 $ hg ci -Ama
adding eucjp.txt
$ hgserveget () {
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 > killdaemons.py
Matt Mackall
tests: unify test-highlight
r12445 > 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
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 > get-with-headers.py localhost:$HGPORT "file/tip/$2" \
Mads Kiilerich
tests: use (esc) instead of other kinds of string escaping
r12943 > | grep '<div class="parity0 source">'
Matt Mackall
tests: unify test-highlight
r12445 > echo % errors encountered
> cat errors.log
> }
$ hgserveget euc-jp eucjp.txt
% HGENCODING=euc-jp hg serve
% hgweb filerevision, html
% errors encountered
$ hgserveget utf-8 eucjp.txt
% HGENCODING=utf-8 hg serve
% hgweb filerevision, html
% errors encountered
$ hgserveget us-ascii eucjp.txt
% HGENCODING=us-ascii hg serve
% hgweb filerevision, html
% errors encountered
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Gregory Szorc
highlight: add option to prevent content-only based fallback...
r26680 We attempt to highlight unknown files by default
$ killdaemons.py
$ cat > .hg/hgrc << EOF
> [web]
> highlightfiles = **
> EOF
$ cat > unknownfile << EOF
> #!/usr/bin/python
> def foo():
> pass
> EOF
$ hg add unknownfile
$ hg commit -m unknown unknownfile
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT 'file/tip/unknownfile' | grep l2
<span id="l2"><span class="k">def</span> <span class="nf">foo</span><span class="p">():</span></span><a href="#l2"></a>
We can prevent Pygments from falling back to a non filename-based
detection mode
$ cat > .hg/hgrc << EOF
> [web]
> highlightfiles = **
> highlightonlymatchfilename = true
> EOF
$ killdaemons.py
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT 'file/tip/unknownfile' | grep l2
<span id="l2">def foo():</span><a href="#l2"></a>
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..