test-hgwebdir-paths.py
49 lines
| 1.1 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, | ||||
) | ||||
Augie Fackler
|
r43346 | from mercurial.hgweb import hgwebdir_mod | ||
Pulkit Goyal
|
r28932 | 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
|
r43346 | 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 | ||||