mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2026-10-26 07:00:14 -05:00
Move env.doc2path() and env.path2doc() to Project class
This commit is contained in:
1 parent
491d0406df
commit
84e1eeb8a2
4 files changed
+130
-29
No files matched your search
@@ -69,3 +69,47 @@ def test_object_inventory(app):
|
||||
|
||||
assert app.env.domains['py'].data is app.env.domaindata['py']
|
||||
assert app.env.domains['c'].data is app.env.domaindata['c']
|
||||
|
||||
|
||||
@pytest.mark.sphinx('dummy', testroot='basic')
|
||||
def test_env_relfn2path(app):
|
||||
# relative filename and root document
|
||||
relfn, absfn = app.env.relfn2path('logo.jpg', 'index')
|
||||
assert relfn == 'logo.jpg'
|
||||
assert absfn == app.srcdir / 'logo.jpg'
|
||||
|
||||
# absolute filename and root document
|
||||
relfn, absfn = app.env.relfn2path('/logo.jpg', 'index')
|
||||
assert relfn == 'logo.jpg'
|
||||
assert absfn == app.srcdir / 'logo.jpg'
|
||||
|
||||
# relative filename and a document in subdir
|
||||
relfn, absfn = app.env.relfn2path('logo.jpg', 'subdir/index')
|
||||
assert relfn == 'subdir/logo.jpg'
|
||||
assert absfn == app.srcdir / 'subdir' / 'logo.jpg'
|
||||
|
||||
# absolute filename and a document in subdir
|
||||
relfn, absfn = app.env.relfn2path('/logo.jpg', 'subdir/index')
|
||||
assert relfn == 'logo.jpg'
|
||||
assert absfn == app.srcdir / 'logo.jpg'
|
||||
|
||||
# relative filename having subdir
|
||||
relfn, absfn = app.env.relfn2path('images/logo.jpg', 'index')
|
||||
assert relfn == 'images/logo.jpg'
|
||||
assert absfn == app.srcdir / 'images' / 'logo.jpg'
|
||||
|
||||
# relative path traversal
|
||||
relfn, absfn = app.env.relfn2path('../logo.jpg', 'index')
|
||||
assert relfn == '../logo.jpg'
|
||||
assert absfn == app.srcdir.parent / 'logo.jpg'
|
||||
|
||||
# omit docname (w/ current docname)
|
||||
app.env.temp_data['docname'] = 'subdir/document'
|
||||
relfn, absfn = app.env.relfn2path('images/logo.jpg')
|
||||
assert relfn == 'subdir/images/logo.jpg'
|
||||
assert absfn == app.srcdir / 'subdir' / 'images' / 'logo.jpg'
|
||||
|
||||
# omit docname (w/o current docname)
|
||||
app.env.temp_data.clear()
|
||||
with pytest.raises(KeyError):
|
||||
app.env.relfn2path('images/logo.jpg')
|
||||
Reference in new issue
Block a user