Mercurial > hg-stable
changeset 18744:f2bb897713a7
hgweb help: add tests
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Fri, 01 Mar 2013 19:42:42 +0100 |
parents | 70e2a22fd66e |
children | 3c7c25fa58e0 |
files | tests/test-help.t |
diffstat | 1 files changed, 394 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-help.t Fri Mar 01 10:05:37 2013 -0600 +++ b/tests/test-help.t Fri Mar 01 19:42:42 2013 +0100 @@ -876,3 +876,397 @@ $ cd "$TESTDIR"/../doc $ python check-seclevel.py + $ cd $TESTTMP + +#if serve + +Test the help pages in hgweb. + +Dish up an empty repo; serve it cold. + + $ hg init "$TESTTMP/test" + $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid + $ cat hg.pid >> $DAEMON_PIDS + + $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help" + 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" /> + <script type="text/javascript" src="/static/mercurial.js"></script> + + <title>Help: Index</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">log</a></li> + <li><a href="/graph">graph</a></li> + <li><a href="/tags">tags</a></li> + <li><a href="/bookmarks">bookmarks</a></li> + <li><a href="/branches">branches</a></li> + </ul> + <ul> + <li class="active">help</li> + </ul> + </div> + + <div class="main"> + <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> + <form class="search" action="/log"> + + <p><input name="rev" id="search1" type="text" size="30" /></p> + <div id="hint">find changesets by author, revision, + files, or words in the commit message</div> + </form> + <table class="bigtable"> + <tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr> + <tr><td><a href="/help/config">config</a></td><td>Configuration Files</td></tr><tr><td><a href="/help/dates">dates</a></td><td>Date Formats</td></tr><tr><td><a href="/help/diffs">diffs</a></td><td>Diff Formats</td></tr><tr><td><a href="/help/environment">environment</a></td><td>Environment Variables</td></tr><tr><td><a href="/help/extensions">extensions</a></td><td>Using Additional Features</td></tr><tr><td><a href="/help/filesets">filesets</a></td><td>Specifying File Sets</td></tr><tr><td><a href="/help/glossary">glossary</a></td><td>Glossary</td></tr><tr><td><a href="/help/hgignore">hgignore</a></td><td>Syntax for Mercurial Ignore Files</td></tr><tr><td><a href="/help/hgweb">hgweb</a></td><td>Configuring hgweb</td></tr><tr><td><a href="/help/merge-tools">merge-tools</a></td><td>Merge Tools</td></tr><tr><td><a href="/help/multirevs">multirevs</a></td><td>Specifying Multiple Revisions</td></tr><tr><td><a href="/help/patterns">patterns</a></td><td>File Name Patterns</td></tr><tr><td><a href="/help/phases">phases</a></td><td>Working with Phases</td></tr><tr><td><a href="/help/revisions">revisions</a></td><td>Specifying Single Revisions</td></tr><tr><td><a href="/help/revsets">revsets</a></td><td>Specifying Revision Sets</td></tr><tr><td><a href="/help/subrepos">subrepos</a></td><td>Subrepositories</td></tr><tr><td><a href="/help/templating">templating</a></td><td>Template Usage</td></tr><tr><td><a href="/help/urls">urls</a></td><td>URL Paths</td></tr><tr><td><a href="/help/topic-containing-verbose">topic-containing-verbose</a></td><td>This is the topic to test omit indicating.</td></tr> + + <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr> + <tr><td><a href="/help/add">add</a></td><td>add the specified files on the next commit</td></tr><tr><td><a href="/help/annotate">annotate</a></td><td>show changeset information by line for each file</td></tr><tr><td><a href="/help/clone">clone</a></td><td>make a copy of an existing repository</td></tr><tr><td><a href="/help/commit">commit</a></td><td>commit the specified files or all outstanding changes</td></tr><tr><td><a href="/help/diff">diff</a></td><td>diff repository (or selected files)</td></tr><tr><td><a href="/help/export">export</a></td><td>dump the header and diffs for one or more changesets</td></tr><tr><td><a href="/help/forget">forget</a></td><td>forget the specified files on the next commit</td></tr><tr><td><a href="/help/init">init</a></td><td>create a new repository in the given directory</td></tr><tr><td><a href="/help/log">log</a></td><td>show revision history of entire repository or files</td></tr><tr><td><a href="/help/merge">merge</a></td><td>merge working directory with another revision</td></tr><tr><td><a href="/help/pull">pull</a></td><td>pull changes from the specified source</td></tr><tr><td><a href="/help/push">push</a></td><td>push changes to the specified destination</td></tr><tr><td><a href="/help/remove">remove</a></td><td>remove the specified files on the next commit</td></tr><tr><td><a href="/help/serve">serve</a></td><td>start stand-alone webserver</td></tr><tr><td><a href="/help/status">status</a></td><td>show changed files in the working directory</td></tr><tr><td><a href="/help/summary">summary</a></td><td>summarize working directory state</td></tr><tr><td><a href="/help/update">update</a></td><td>update working directory (or switch revisions)</td></tr> + + <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr> + <tr><td><a href="/help/addremove">addremove</a></td><td>add all new files, delete all missing files</td></tr><tr><td><a href="/help/archive">archive</a></td><td>create an unversioned archive of a repository revision</td></tr><tr><td><a href="/help/backout">backout</a></td><td>reverse effect of earlier changeset</td></tr><tr><td><a href="/help/bisect">bisect</a></td><td>subdivision search of changesets</td></tr><tr><td><a href="/help/bookmarks">bookmarks</a></td><td>track a line of development with movable markers</td></tr><tr><td><a href="/help/branch">branch</a></td><td>set or show the current branch name</td></tr><tr><td><a href="/help/branches">branches</a></td><td>list repository named branches</td></tr><tr><td><a href="/help/bundle">bundle</a></td><td>create a changegroup file</td></tr><tr><td><a href="/help/cat">cat</a></td><td>output the current or given revision of files</td></tr><tr><td><a href="/help/copy">copy</a></td><td>mark files as copied for the next commit</td></tr><tr><td><a href="/help/graft">graft</a></td><td>copy changes from other branches onto the current branch</td></tr><tr><td><a href="/help/grep">grep</a></td><td>search for a pattern in specified files and revisions</td></tr><tr><td><a href="/help/heads">heads</a></td><td>show current repository heads or show branch heads</td></tr><tr><td><a href="/help/help">help</a></td><td>show help for a given topic or a help overview</td></tr><tr><td><a href="/help/identify">identify</a></td><td>identify the working copy or specified revision</td></tr><tr><td><a href="/help/import">import</a></td><td>import an ordered set of patches</td></tr><tr><td><a href="/help/incoming">incoming</a></td><td>show new changesets found in source</td></tr><tr><td><a href="/help/locate">locate</a></td><td>locate files matching specific patterns</td></tr><tr><td><a href="/help/manifest">manifest</a></td><td>output the current or given revision of the project manifest</td></tr><tr><td><a href="/help/nohelp">nohelp</a></td><td>(no help text available)</td></tr><tr><td><a href="/help/outgoing">outgoing</a></td><td>show changesets not found in the destination</td></tr><tr><td><a href="/help/parents">parents</a></td><td>show the parents of the working directory or revision</td></tr><tr><td><a href="/help/paths">paths</a></td><td>show aliases for remote repositories</td></tr><tr><td><a href="/help/phase">phase</a></td><td>set or show the current phase name</td></tr><tr><td><a href="/help/recover">recover</a></td><td>roll back an interrupted transaction</td></tr><tr><td><a href="/help/rename">rename</a></td><td>rename files; equivalent of copy + remove</td></tr><tr><td><a href="/help/resolve">resolve</a></td><td>redo merges or set/view the merge status of files</td></tr><tr><td><a href="/help/revert">revert</a></td><td>restore files to their checkout state</td></tr><tr><td><a href="/help/rollback">rollback</a></td><td>roll back the last transaction (dangerous)</td></tr><tr><td><a href="/help/root">root</a></td><td>print the root (top) of the current working directory</td></tr><tr><td><a href="/help/showconfig">showconfig</a></td><td>show combined config settings from all hgrc files</td></tr><tr><td><a href="/help/tag">tag</a></td><td>add one or more tags for the current or given revision</td></tr><tr><td><a href="/help/tags">tags</a></td><td>list repository tags</td></tr><tr><td><a href="/help/tip">tip</a></td><td>show the tip revision</td></tr><tr><td><a href="/help/unbundle">unbundle</a></td><td>apply one or more changegroup files</td></tr><tr><td><a href="/help/verify">verify</a></td><td>verify the integrity of the repository</td></tr><tr><td><a href="/help/version">version</a></td><td>output version and copyright information</td></tr> + </table> + </div> + </div> + + <script type="text/javascript">process_dates()</script> + + + </body> + </html> + + + $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/add" + 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" /> + <script type="text/javascript" src="/static/mercurial.js"></script> + + <title>Help: add</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">log</a></li> + <li><a href="/graph">graph</a></li> + <li><a href="/tags">tags</a></li> + <li><a href="/bookmarks">bookmarks</a></li> + <li><a href="/branches">branches</a></li> + </ul> + <ul> + <li class="active"><a href="/help">help</a></li> + </ul> + </div> + + <div class="main"> + <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> + <h3>Help: add</h3> + + <form class="search" action="/log"> + + <p><input name="rev" id="search1" type="text" size="30" /></p> + <div id="hint">find changesets by author, revision, + files, or words in the commit message</div> + </form> + <pre> + hg add [OPTION]... [FILE]... + + add the specified files on the next commit + + Schedule files to be version controlled and added to the repository. + + The files will be added to the repository at the next commit. To undo an + add before that, see "hg forget". + + If no names are given, add all files to the repository. + + An example showing how new (unknown) files are added automatically by "hg + add": + + $ ls + foo.c + $ hg status + ? foo.c + $ hg add + adding foo.c + $ hg status + A foo.c + + Returns 0 if all files are successfully added. + + options: + + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -S --subrepos recurse into subrepositories + -n --dry-run do not perform actions, just print output + + [+] marked option can be specified multiple times + + global options: + + -R --repository REPO repository root directory or name of overlay bundle + file + --cwd DIR change working directory + -y --noninteractive do not prompt, automatically pick the first choice for + all prompts + -q --quiet suppress output + -v --verbose enable additional output + --config CONFIG [+] set/override config option (use 'section.name=value') + --debug enable debugging output + --debugger start debugger + --encoding ENCODE set the charset encoding (default: ascii) + --encodingmode MODE set the charset encoding mode (default: strict) + --traceback always print a traceback on exception + --time time how long the command takes + --profile print command execution profile + --version output version information and exit + -h --help display help and exit + --hidden consider hidden changesets + + [+] marked option can be specified multiple times + + </pre> + </div> + </div> + + <script type="text/javascript">process_dates()</script> + + + </body> + </html> + + + $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/remove" + 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" /> + <script type="text/javascript" src="/static/mercurial.js"></script> + + <title>Help: remove</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">log</a></li> + <li><a href="/graph">graph</a></li> + <li><a href="/tags">tags</a></li> + <li><a href="/bookmarks">bookmarks</a></li> + <li><a href="/branches">branches</a></li> + </ul> + <ul> + <li class="active"><a href="/help">help</a></li> + </ul> + </div> + + <div class="main"> + <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> + <h3>Help: remove</h3> + + <form class="search" action="/log"> + + <p><input name="rev" id="search1" type="text" size="30" /></p> + <div id="hint">find changesets by author, revision, + files, or words in the commit message</div> + </form> + <pre> + hg remove [OPTION]... FILE... + + aliases: rm + + remove the specified files on the next commit + + Schedule the indicated files for removal from the current branch. + + This command schedules the files to be removed at the next commit. To undo + a remove before that, see "hg revert". To undo added files, see "hg + forget". + + -A/--after can be used to remove only files that have already been + deleted, -f/--force can be used to force deletion, and -Af can be used to + remove files from the next revision without deleting them from the working + directory. + + The following table details the behavior of remove for different file + states (columns) and option combinations (rows). The file states are Added + [A], Clean [C], Modified [M] and Missing [!] (as reported by "hg status"). + The actions are Warn, Remove (from branch) and Delete (from disk): + + A C M ! + -------------- + none W RD W R + -f R RD RD R + -A W W W R + -Af R R R R + + Note that remove never deletes files in Added [A] state from the working + directory, not even if option --force is specified. + + Returns 0 on success, 1 if any warnings encountered. + + options: + + -A --after record delete for missing files + -f --force remove (and delete) file even if added or modified + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + + [+] marked option can be specified multiple times + + global options: + + -R --repository REPO repository root directory or name of overlay bundle + file + --cwd DIR change working directory + -y --noninteractive do not prompt, automatically pick the first choice for + all prompts + -q --quiet suppress output + -v --verbose enable additional output + --config CONFIG [+] set/override config option (use 'section.name=value') + --debug enable debugging output + --debugger start debugger + --encoding ENCODE set the charset encoding (default: ascii) + --encodingmode MODE set the charset encoding mode (default: strict) + --traceback always print a traceback on exception + --time time how long the command takes + --profile print command execution profile + --version output version information and exit + -h --help display help and exit + --hidden consider hidden changesets + + [+] marked option can be specified multiple times + + </pre> + </div> + </div> + + <script type="text/javascript">process_dates()</script> + + + </body> + </html> + + + $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/revisions" + 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" /> + <script type="text/javascript" src="/static/mercurial.js"></script> + + <title>Help: revisions</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">log</a></li> + <li><a href="/graph">graph</a></li> + <li><a href="/tags">tags</a></li> + <li><a href="/bookmarks">bookmarks</a></li> + <li><a href="/branches">branches</a></li> + </ul> + <ul> + <li class="active"><a href="/help">help</a></li> + </ul> + </div> + + <div class="main"> + <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> + <h3>Help: revisions</h3> + + <form class="search" action="/log"> + + <p><input name="rev" id="search1" type="text" size="30" /></p> + <div id="hint">find changesets by author, revision, + files, or words in the commit message</div> + </form> + <pre> + Specifying Single Revisions + + Mercurial supports several ways to specify individual revisions. + + A plain integer is treated as a revision number. Negative integers are + treated as sequential offsets from the tip, with -1 denoting the tip, -2 + denoting the revision prior to the tip, and so forth. + + A 40-digit hexadecimal string is treated as a unique revision identifier. + + A hexadecimal string less than 40 characters long is treated as a unique + revision identifier and is referred to as a short-form identifier. A + short-form identifier is only valid if it is the prefix of exactly one + full-length identifier. + + Any other string is treated as a bookmark, tag, or branch name. A bookmark + is a movable pointer to a revision. A tag is a permanent name associated + with a revision. A branch name denotes the tipmost revision of that + branch. Bookmark, tag, and branch names must not contain the ":" + character. + + The reserved name "tip" always identifies the most recent revision. + + The reserved name "null" indicates the null revision. This is the revision + of an empty repository, and the parent of revision 0. + + The reserved name "." indicates the working directory parent. If no + working directory is checked out, it is equivalent to null. If an + uncommitted merge is in progress, "." is the revision of the first parent. + + </pre> + </div> + </div> + + <script type="text/javascript">process_dates()</script> + + + </body> + </html> + + + $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS + +#endif