##// END OF EJS Templates
tests: descending empty dirs works in all hgweb styles, test them too...
tests: descending empty dirs works in all hgweb styles, test them too The tested feature was added to multiple hgweb styles in c21d236ca897, but only paper was tested. Let's test everything now, including monoblue, which only got the feature some 6 years late in e50d8b21f4f4.

File last commit:

r25346:fe0aac10 default
r25346:fe0aac10 default
Show More
test-hgweb-descend-empties.t
565 lines | 16.3 KiB | text/troff | Tads3Lexer
/ tests / test-hgweb-descend-empties.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 Test chains of near empty directories, terminating 3 different ways:
- a1: file at level 4 (deepest)
- b1: two dirs at level 3
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 - d1: file at level 2
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434
Set up the repo
$ hg init test
$ cd test
$ mkdir -p a1/a2/a3/a4
$ mkdir -p b1/b2/b3/b4
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 $ mkdir -p b1/b2/b3/c4
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 $ mkdir -p d1/d2/d3/d4
$ echo foo > a1/a2/a3/a4/foo
$ echo foo > b1/b2/b3/b4/foo
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 $ echo foo > b1/b2/b3/c4/foo
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 $ echo foo > d1/d2/d3/d4/foo
$ echo foo > d1/d2/foo
$ hg ci -Ama
adding a1/a2/a3/a4/foo
adding b1/b2/b3/b4/foo
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 adding b1/b2/b3/c4/foo
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 adding d1/d2/d3/d4/foo
adding d1/d2/foo
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
Anton Shestakov
tests: descending empty dirs works in all hgweb styles, test them too...
r25346 manifest with descending (paper)
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file'
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 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 Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <title>test: c9f45f7a1659 /</title>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 </head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <li><a href="/shortlog/c9f45f7a1659">log</a></li>
<li><a href="/graph/c9f45f7a1659">graph</a></li>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <li><a href="/tags">tags</a></li>
Alexander Solovyov
hgweb: add separate page with bookmarks listing
r13597 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <li><a href="/branches">branches</a></li>
</ul>
<ul>
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <li><a href="/rev/c9f45f7a1659">changeset</a></li>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <li class="active">browse</li>
</ul>
<ul>
</ul>
Augie Fackler
web: add a help view for getting hg help output
r12666 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 </div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <h3>directory / @ 0:c9f45f7a1659 <span class="tag">tip</span> </h3>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434
<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-hgweb-descend-empties
r12434 </form>
<table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <tr>
<th class="name">name</th>
<th class="size">size</th>
<th class="permissions">permissions</th>
</tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Alexander Plavin
hgweb: make stripes in directory view with CSS
r19447 <tbody class="stripes2">
<tr class="fileline">
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <td class="name"><a href="/file/c9f45f7a1659/">[up]</a></td>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
Alexander Plavin
hgweb: make stripes in directory view with CSS
r19447 <tr class="fileline">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <td class="name">
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <a href="/file/c9f45f7a1659/a1">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <img src="/static/coal-folder.png" alt="dir."/> a1/
</a>
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <a href="/file/c9f45f7a1659/a1/a2/a3/a4">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 a2/a3/a4
</a>
</td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
Alexander Plavin
hgweb: make stripes in directory view with CSS
r19447 <tr class="fileline">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <td class="name">
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <a href="/file/c9f45f7a1659/b1">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <img src="/static/coal-folder.png" alt="dir."/> b1/
</a>
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <a href="/file/c9f45f7a1659/b1/b2/b3">
b2/b3
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 </a>
</td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
Alexander Plavin
hgweb: make stripes in directory view with CSS
r19447 <tr class="fileline">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <td class="name">
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <a href="/file/c9f45f7a1659/d1">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 <img src="/static/coal-folder.png" alt="dir."/> d1/
</a>
Anton Shestakov
tests: actualize the comment in test-hgweb-descend-empties.t...
r25345 <a href="/file/c9f45f7a1659/d1/d2">
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 d2
</a>
</td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
Alexander Plavin
hgweb: make stripes in directory view with CSS
r19447 </tbody>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 </table>
</div>
</div>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript">process_dates()</script>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434
</body>
</html>
Anton Shestakov
tests: descending empty dirs works in all hgweb styles, test them too...
r25346 manifest with descending (coal)
$ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file?style=coal'
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-coal.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: c9f45f7a1659 /</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
<li><a href="/shortlog/c9f45f7a1659?style=coal">log</a></li>
<li><a href="/graph/c9f45f7a1659?style=coal">graph</a></li>
<li><a href="/tags?style=coal">tags</a></li>
<li><a href="/bookmarks?style=coal">bookmarks</a></li>
<li><a href="/branches?style=coal">branches</a></li>
</ul>
<ul>
<li><a href="/rev/c9f45f7a1659?style=coal">changeset</a></li>
<li class="active">browse</li>
</ul>
<ul>
</ul>
<ul>
<li><a href="/help?style=coal">help</a></li>
</ul>
</div>
<div class="main">
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
<h3>directory / @ 0:c9f45f7a1659 <span class="tag">tip</span> </h3>
<form class="search" action="/log">
<input type="hidden" name="style" value="coal" />
<p><input name="rev" id="search1" type="text" size="30" /></p>
<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>
</form>
<table class="bigtable">
<thead>
<tr>
<th class="name">name</th>
<th class="size">size</th>
<th class="permissions">permissions</th>
</tr>
</thead>
<tbody class="stripes2">
<tr class="fileline">
<td class="name"><a href="/file/c9f45f7a1659/?style=coal">[up]</a></td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
<tr class="fileline parity1">
<td class="name">
<a href="/file/c9f45f7a1659/a1?style=coal">
<img src="/static/coal-folder.png" alt="dir."/> a1/
</a>
<a href="/file/c9f45f7a1659/a1/a2/a3/a4?style=coal">
a2/a3/a4
</a>
</td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
<tr class="fileline parity0">
<td class="name">
<a href="/file/c9f45f7a1659/b1?style=coal">
<img src="/static/coal-folder.png" alt="dir."/> b1/
</a>
<a href="/file/c9f45f7a1659/b1/b2/b3?style=coal">
b2/b3
</a>
</td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
<tr class="fileline parity1">
<td class="name">
<a href="/file/c9f45f7a1659/d1?style=coal">
<img src="/static/coal-folder.png" alt="dir."/> d1/
</a>
<a href="/file/c9f45f7a1659/d1/d2?style=coal">
d2
</a>
</td>
<td class="size"></td>
<td class="permissions">drwxr-xr-x</td>
</tr>
</tbody>
</table>
</div>
</div>
<script type="text/javascript">process_dates()</script>
</body>
</html>
manifest with descending (monoblue)
$ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file?style=monoblue'
200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow"/>
<link rel="stylesheet" href="/static/style-monoblue.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: files</title>
<link rel="alternate" type="application/atom+xml" href="/atom-log" title="Atom feed for test"/>
<link rel="alternate" type="application/rss+xml" href="/rss-log" title="RSS feed for test"/>
</head>
<body>
<div id="container">
<div class="page-header">
<h1 class="breadcrumb"><a href="/">Mercurial</a> / files</h1>
<form action="/log">
<input type="hidden" name="style" value="monoblue" />
<dl class="search">
<dt><label>Search: </label></dt>
<dd><input type="text" name="rev" /></dd>
</dl>
</form>
<ul class="page-nav">
<li><a href="/summary?style=monoblue">summary</a></li>
<li><a href="/shortlog?style=monoblue">shortlog</a></li>
<li><a href="/changelog?style=monoblue">changelog</a></li>
<li><a href="/graph/c9f45f7a1659?style=monoblue">graph</a></li>
<li><a href="/tags?style=monoblue">tags</a></li>
<li><a href="/bookmarks?style=monoblue">bookmarks</a></li>
<li><a href="/branches?style=monoblue">branches</a></li>
<li class="current">files</li>
<li><a href="/help?style=monoblue">help</a></li>
</ul>
</div>
<ul class="submenu">
<li><a href="/rev/c9f45f7a1659?style=monoblue">changeset</a></li>
</ul>
<h2 class="no-link no-border">files</h2>
<p class="files">/ <span class="logtags"><span class="branchtag" title="default">default</span> <span class="tagtag" title="tip">tip</span> </span></p>
<table>
<tr class="parity0">
<td>drwxr-xr-x</td>
<td></td>
<td></td>
<td><a href="/file/c9f45f7a1659/?style=monoblue">[up]</a></td>
<td class="link">&nbsp;</td>
</tr>
<tr class="parity1">
<td>drwxr-xr-x</td>
<td></td>
<td></td>
<td>
<a href="/file/c9f45f7a1659/a1?style=monoblue">a1</a>
<a href="/file/c9f45f7a1659/a1/a2/a3/a4?style=monoblue">a2/a3/a4</a>
</td>
<td><a href="/file/c9f45f7a1659/a1?style=monoblue">files</a></td>
</tr>
<tr class="parity0">
<td>drwxr-xr-x</td>
<td></td>
<td></td>
<td>
<a href="/file/c9f45f7a1659/b1?style=monoblue">b1</a>
<a href="/file/c9f45f7a1659/b1/b2/b3?style=monoblue">b2/b3</a>
</td>
<td><a href="/file/c9f45f7a1659/b1?style=monoblue">files</a></td>
</tr>
<tr class="parity1">
<td>drwxr-xr-x</td>
<td></td>
<td></td>
<td>
<a href="/file/c9f45f7a1659/d1?style=monoblue">d1</a>
<a href="/file/c9f45f7a1659/d1/d2?style=monoblue">d2</a>
</td>
<td><a href="/file/c9f45f7a1659/d1?style=monoblue">files</a></td>
</tr>
</table>
<script type="text/javascript">process_dates()</script>
<div class="page-footer">
<p>Mercurial Repository: test</p>
<ul class="rss-logo">
<li><a href="/rss-log">RSS</a></li>
<li><a href="/atom-log">Atom</a></li>
</ul>
</div>
<div id="powered-by">
<p><a href="http://mercurial.selenic.com/" title="Mercurial"><img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a></p>
</div>
<div id="corner-top-left"></div>
<div id="corner-top-right"></div>
<div id="corner-bottom-left"></div>
<div id="corner-bottom-right"></div>
</div>
</body>
</html>
manifest with descending (gitweb)
$ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file?style=gitweb'
200 Script output follows
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" 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-gitweb.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: files</title>
<link rel="alternate" type="application/atom+xml"
href="/atom-log" title="Atom feed for test"/>
<link rel="alternate" type="application/rss+xml"
href="/rss-log" title="RSS feed for test"/>
</head>
<body>
<div class="page_header">
<a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a>
<a href="/">Mercurial</a> / files
</div>
<div class="page_nav">
<a href="/summary?style=gitweb">summary</a> |
<a href="/shortlog?style=gitweb">shortlog</a> |
<a href="/log?style=gitweb">changelog</a> |
<a href="/graph?style=gitweb">graph</a> |
<a href="/tags?style=gitweb">tags</a> |
<a href="/bookmarks?style=gitweb">bookmarks</a> |
<a href="/branches?style=gitweb">branches</a> |
files |
<a href="/rev/c9f45f7a1659?style=gitweb">changeset</a> |
<a href="/help?style=gitweb">help</a>
<br/>
</div>
<div class="title">/ <span class="logtags"><span class="branchtag" title="default">default</span> <span class="tagtag" title="tip">tip</span> </span></div>
<table cellspacing="0">
<tr class="parity0">
<td style="font-family:monospace">drwxr-xr-x</td>
<td style="font-family:monospace"></td>
<td style="font-family:monospace"></td>
<td><a href="/file/c9f45f7a1659/?style=gitweb">[up]</a></td>
<td class="link">&nbsp;</td>
</tr>
<tr class="parity1">
<td style="font-family:monospace">drwxr-xr-x</td>
<td style="font-family:monospace"></td>
<td style="font-family:monospace"></td>
<td>
<a href="/file/c9f45f7a1659/a1?style=gitweb">a1</a>
<a href="/file/c9f45f7a1659/a1/a2/a3/a4?style=gitweb">a2/a3/a4</a>
</td>
<td class="link">
<a href="/file/c9f45f7a1659/a1?style=gitweb">files</a>
</td>
</tr>
<tr class="parity0">
<td style="font-family:monospace">drwxr-xr-x</td>
<td style="font-family:monospace"></td>
<td style="font-family:monospace"></td>
<td>
<a href="/file/c9f45f7a1659/b1?style=gitweb">b1</a>
<a href="/file/c9f45f7a1659/b1/b2/b3?style=gitweb">b2/b3</a>
</td>
<td class="link">
<a href="/file/c9f45f7a1659/b1?style=gitweb">files</a>
</td>
</tr>
<tr class="parity1">
<td style="font-family:monospace">drwxr-xr-x</td>
<td style="font-family:monospace"></td>
<td style="font-family:monospace"></td>
<td>
<a href="/file/c9f45f7a1659/d1?style=gitweb">d1</a>
<a href="/file/c9f45f7a1659/d1/d2?style=gitweb">d2</a>
</td>
<td class="link">
<a href="/file/c9f45f7a1659/d1?style=gitweb">files</a>
</td>
</tr>
</table>
<script type="text/javascript">process_dates()</script>
<div class="page_footer">
<div class="page_footer_text">test</div>
<div class="rss_logo">
<a href="/rss-log">RSS</a>
<a href="/atom-log">Atom</a>
</div>
<br />
</div>
</body>
</html>
manifest with descending (spartan)
$ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'file?style=spartan'
200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png">
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style.css" type="text/css" />
<script type="text/javascript" src="/static/mercurial.js"></script>
<title>test: files for changeset c9f45f7a1659</title>
</head>
<body>
<div class="buttons">
<a href="/log/0?style=spartan">changelog</a>
<a href="/shortlog/0?style=spartan">shortlog</a>
<a href="/graph?style=spartan">graph</a>
<a href="/tags?style=spartan">tags</a>
<a href="/branches?style=spartan">branches</a>
<a href="/rev/c9f45f7a1659?style=spartan">changeset</a>
<a href="/help?style=spartan">help</a>
</div>
<h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/c9f45f7a1659">c9f45f7a1659</a>: /</h2>
<table cellpadding="0" cellspacing="0">
<tr class="parity0">
<td><tt>drwxr-xr-x</tt>&nbsp;
<td>&nbsp;
<td>&nbsp;
<td><a href="/file/c9f45f7a1659/?style=spartan">[up]</a>
</tr>
<tr class="parity1">
<td><tt>drwxr-xr-x</tt>&nbsp;
<td>&nbsp;
<td>&nbsp;
<td>
<a href="/file/c9f45f7a1659/a1?style=spartan">a1/</a>
<a href="/file/c9f45f7a1659/a1/a2/a3/a4?style=spartan">
a2/a3/a4
</a>
<tr class="parity0">
<td><tt>drwxr-xr-x</tt>&nbsp;
<td>&nbsp;
<td>&nbsp;
<td>
<a href="/file/c9f45f7a1659/b1?style=spartan">b1/</a>
<a href="/file/c9f45f7a1659/b1/b2/b3?style=spartan">
b2/b3
</a>
<tr class="parity1">
<td><tt>drwxr-xr-x</tt>&nbsp;
<td>&nbsp;
<td>&nbsp;
<td>
<a href="/file/c9f45f7a1659/d1?style=spartan">d1/</a>
<a href="/file/c9f45f7a1659/d1/d2?style=spartan">
d2
</a>
</table>
<script type="text/javascript">process_dates()</script>
<div class="logo">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
</div>
</body>
</html>
Matt Mackall
tests: unify test-hgweb-descend-empties
r12434 $ cat errors.log
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..