test-hgwebdir-paths.py
48 lines
| 1.1 KiB
| text/x-python
|
PythonLexer
/ tests / test-hgwebdir-paths.py
|
r28932 | from __future__ import absolute_import | ||
|
r8529 | import os | ||
|
r28932 | from mercurial import ( | ||
hg, | ||||
ui as uimod, | ||||
) | ||||
from mercurial.hgweb import ( | ||||
hgwebdir_mod, | ||||
) | ||||
hgwebdir = hgwebdir_mod.hgwebdir | ||||
|
r8529 | |||
os.mkdir('webdir') | ||||
os.chdir('webdir') | ||||
|
r15381 | webdir = os.path.realpath('.') | ||
|
r8529 | |||
|
r30559 | u = uimod.ui.load() | ||
|
r8529 | hg.repository(u, 'a', create=1) | ||
hg.repository(u, 'b', create=1) | ||||
os.chdir('b') | ||||
hg.repository(u, 'd', create=1) | ||||
os.chdir('..') | ||||
hg.repository(u, 'c', create=1) | ||||
os.chdir('..') | ||||
paths = {'t/a/': '%s/a' % webdir, | ||||
'b': '%s/b' % webdir, | ||||
'coll': '%s/*' % webdir, | ||||
'rcoll': '%s/**' % webdir} | ||||
config = os.path.join(webdir, 'hgwebdir.conf') | ||||
configfile = open(config, 'w') | ||||
configfile.write('[paths]\n') | ||||
for k, v in paths.items(): | ||||
configfile.write('%s = %s\n' % (k, v)) | ||||
configfile.close() | ||||
confwd = hgwebdir(config) | ||||
dictwd = hgwebdir(paths) | ||||
assert len(confwd.repos) == len(dictwd.repos), 'different numbers' | ||||
assert len(confwd.repos) == 9, 'expected 9 repos, found %d' % len(confwd.repos) | ||||
found = dict(confwd.repos) | ||||
for key, path in dictwd.repos: | ||||
assert key in found, 'repository %s was not found' % key | ||||
assert found[key] == path, 'different paths for repo %s' % key | ||||