Fix `test_get_filename_for_language` on Windows

This commit is contained in:
Adam Turner 2023-08-12 04:23:56 +01:00
parent 1a47e3a8be
commit 1ea5a434b3
2 changed files with 15 additions and 16 deletions

View File

@ -223,24 +223,24 @@ def format_date(
return "".join(result)
def get_image_filename_for_language(filename: str, env: BuildEnvironment) -> str:
filename_format = env.config.figure_language_filename
d = {}
d['root'], d['ext'] = path.splitext(filename)
dirname = path.dirname(d['root'])
if dirname and not dirname.endswith(path.sep):
dirname += path.sep
def get_image_filename_for_language(
filename: str | os.PathLike[str],
env: BuildEnvironment,
) -> str:
root, ext = path.splitext(filename)
dirname = path.dirname(root)
docpath = path.dirname(env.docname)
if docpath and not docpath.endswith(path.sep):
docpath += path.sep
d['path'] = dirname
d['basename'] = path.basename(d['root'])
d['docpath'] = docpath
d['language'] = env.config.language
try:
return filename_format.format(**d)
return env.config.figure_language_filename.format(
root=root,
ext=ext,
path=dirname and dirname + SEP,
basename=path.basename(root),
docpath=docpath and docpath + SEP,
language=env.config.language,
)
except KeyError as exc:
raise SphinxError('Invalid figure_language_filename: %r' % exc) from exc
raise SphinxError(f'Invalid figure_language_filename: {exc!r}') from exc
def search_image_for_language(filename: str, env: BuildEnvironment) -> str:

View File

@ -94,7 +94,6 @@ def test_format_date():
assert i18n.format_date(format, date=datet, language='en') == '+0000'
@pytest.mark.xfail(os.name != 'posix', reason="Path separators don't match on windows")
def test_get_filename_for_language(app):
app.env.temp_data['docname'] = 'index'