test-hgwebdir-paths.py
48 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
/ tests / test-hgwebdir-paths.py
Pulkit Goyal
|
r28932 | from __future__ import absolute_import | ||
Jeremy Whitlock
|
r8529 | import os | ||
Pulkit Goyal
|
r28932 | from mercurial import ( | ||
hg, | ||||
ui as uimod, | ||||
) | ||||
from mercurial.hgweb import ( | ||||
hgwebdir_mod, | ||||
) | ||||
hgwebdir = hgwebdir_mod.hgwebdir | ||||
Jeremy Whitlock
|
r8529 | |||
Augie Fackler
|
r37896 | os.mkdir(b'webdir') | ||
os.chdir(b'webdir') | ||||
Jeremy Whitlock
|
r8529 | |||
Augie Fackler
|
r37896 | webdir = os.path.realpath(b'.') | ||
Jeremy Whitlock
|
r8529 | |||
Yuya Nishihara
|
r30559 | u = uimod.ui.load() | ||
Augie Fackler
|
r37896 | hg.repository(u, b'a', create=1) | ||
hg.repository(u, b'b', create=1) | ||||
os.chdir(b'b') | ||||
hg.repository(u, b'd', create=1) | ||||
os.chdir(b'..') | ||||
hg.repository(u, b'c', create=1) | ||||
os.chdir(b'..') | ||||
Jeremy Whitlock
|
r8529 | |||
Augie Fackler
|
r37896 | paths = {b't/a/': b'%s/a' % webdir, | ||
b'b': b'%s/b' % webdir, | ||||
b'coll': b'%s/*' % webdir, | ||||
b'rcoll': b'%s/**' % webdir} | ||||
Jeremy Whitlock
|
r8529 | |||
Augie Fackler
|
r37896 | config = os.path.join(webdir, b'hgwebdir.conf') | ||
configfile = open(config, 'wb') | ||||
configfile.write(b'[paths]\n') | ||||
Jeremy Whitlock
|
r8529 | for k, v in paths.items(): | ||
Augie Fackler
|
r37896 | configfile.write(b'%s = %s\n' % (k, v)) | ||
Jeremy Whitlock
|
r8529 | 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 | ||||