tests/test-hgweb-no-path-info.t
author Matt Mackall <mpm@selenic.com>
Wed, 23 Mar 2011 19:28:16 -0500
changeset 13750 7eb82f88e157
parent 12743 4c4aeaab2339
child 13956 ffb5c09ba822
permissions -rw-r--r--
# User Dan Villiom Podlaski Christiansen <danchr@gmail.com> # Date 1289564504 -3600 # Node ID b75264c15cc888cf38c3c7b8f619801e3c2589c7 # Parent 89b2e5d940f669e590096c6be70eee61c9172fff revsets: overload the branch() revset to also take a branch name. This should only change semantics in the specific case of a tag/branch conflict where the tag wasn't done on the branch with the same name. Previously, branch(whatever) would resolve to the branch of the tag in that case, whereas now it will resolve to the branch of the name. The previous behaviour, while documented, seemed very counter-intuitive to me. An alternate approach would be to introduce a new revset such as branchname() or namedbranch(). While this would retain backwards compatibility, the distinction between it and branch() would not be readily apparent to users. The most intuitive behaviour would be to have branch(x) require 'x' to be a branch name, and something like branchof(x) or samebranch(x) do what branch(x) currently does. Unfortunately, our backwards compatibility guarantees prevent us from doing that. Please note that while 'hg tag' guards against shadowing a branch, 'hg branch' does not. Besides, even if it did, that wouldn't solve the issue of conversions with such tags and branches...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12438
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     1
This tests if hgweb and hgwebdir still work if the REQUEST_URI variable is
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     2
no longer passed with the request. Instead, SCRIPT_NAME and PATH_INFO
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     3
should be used from d74fc8dec2b4 onward to route the request.
6459
8189e03adb44 hgweb: make hgwebdir work in the absence of PATH_INFO
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     4
12438
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     5
  $ mkdir repo
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     6
  $ cd repo
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     7
  $ hg init
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     8
  $ echo foo > bar
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     9
  $ hg add bar
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    10
  $ hg commit -m "test"
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    11
  $ hg tip
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    12
  changeset:   0:61c9426e69fe
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    13
  tag:         tip
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    14
  user:        test
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    15
  date:        Thu Jan 01 00:00:00 1970 +0000
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    16
  summary:     test
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    17
  
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    18
  $ cat > request.py <<EOF
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    19
  > from mercurial.hgweb import hgweb, hgwebdir
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    20
  > from StringIO import StringIO
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    21
  > import os, sys
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    22
  > 
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    23
  > errors = StringIO()
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    24
  > input = StringIO()
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    25
  > 
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    26
  > def startrsp(status, headers):
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    27
  >     print '---- STATUS'
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    28
  >     print status
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    29
  >     print '---- HEADERS'
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    30
  >     print [i for i in headers if i[0] != 'ETag']
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    31
  >     print '---- DATA'
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    32
  >     return output.write
12438
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    33
  > 
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    34
  > env = {
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    35
  >     'wsgi.version': (1, 0),
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    36
  >     'wsgi.url_scheme': 'http',
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    37
  >     'wsgi.errors': errors,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    38
  >     'wsgi.input': input,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    39
  >     'wsgi.multithread': False,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    40
  >     'wsgi.multiprocess': False,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    41
  >     'wsgi.run_once': False,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    42
  >     'REQUEST_METHOD': 'GET',
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    43
  >     'SCRIPT_NAME': '',
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    44
  >     'SERVER_NAME': '127.0.0.1',
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    45
  >     'SERVER_PORT': os.environ['HGPORT'],
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    46
  >     'SERVER_PROTOCOL': 'HTTP/1.0'
12438
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    47
  > }
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    48
  > 
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    49
  > def process(app):
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    50
  >     content = app(env, startrsp)
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    51
  >     sys.stdout.write(output.getvalue())
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    52
  >     sys.stdout.write(''.join(content))
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    53
  >     print '---- ERRORS'
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    54
  >     print errors.getvalue()
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    55
  > 
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    56
  > output = StringIO()
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    57
  > env['QUERY_STRING'] = 'style=atom'
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    58
  > process(hgweb('.', name='repo'))
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    59
  > 
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    60
  > output = StringIO()
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    61
  > env['QUERY_STRING'] = 'style=raw'
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    62
  > process(hgwebdir({'repo': '.'}))
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    63
  > EOF
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    64
  $ python request.py
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    65
  ---- STATUS
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    66
  200 Script output follows
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    67
  ---- HEADERS
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    68
  [('Content-Type', 'application/atom+xml; charset=ascii')]
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    69
  ---- DATA
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    70
  <?xml version="1.0" encoding="ascii"?>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    71
  <feed xmlns="http://www.w3.org/2005/Atom">
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    72
   <!-- Changelog -->
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12438
diff changeset
    73
   <id>http://127.0.0.1:$HGPORT/</id>
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12438
diff changeset
    74
   <link rel="self" href="http://127.0.0.1:$HGPORT/atom-log"/>
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12438
diff changeset
    75
   <link rel="alternate" href="http://127.0.0.1:$HGPORT/"/>
12438
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    76
   <title>repo Changelog</title>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    77
   <updated>1970-01-01T00:00:00+00:00</updated>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    78
  
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    79
   <entry>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    80
    <title>test</title>
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12438
diff changeset
    81
    <id>http://127.0.0.1:$HGPORT/#changeset-61c9426e69fef294feed5e2bbfc97d39944a5b1c</id>
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12438
diff changeset
    82
    <link href="http://127.0.0.1:$HGPORT/rev/61c9426e69fe"/>
12438
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    83
    <author>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    84
     <name>test</name>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    85
     <email>&#116;&#101;&#115;&#116;</email>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    86
    </author>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    87
    <updated>1970-01-01T00:00:00+00:00</updated>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    88
    <published>1970-01-01T00:00:00+00:00</published>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    89
    <content type="xhtml">
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    90
     <div xmlns="http://www.w3.org/1999/xhtml">
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    91
      <pre xml:space="preserve">test</pre>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    92
     </div>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    93
    </content>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    94
   </entry>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    95
  
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    96
  </feed>
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    97
  ---- ERRORS
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    98
  
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    99
  ---- STATUS
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   100
  200 Script output follows
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   101
  ---- HEADERS
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   102
  [('Content-Type', 'text/plain; charset=ascii')]
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   103
  ---- DATA
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   104
  
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   105
  repo/
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   106
  
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   107
  ---- ERRORS
922d2078017a tests: unify test-hgweb-no-path-info
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   108