rougail/tests/test_others.py
2022-10-01 22:27:22 +02:00

52 lines
1.8 KiB
Python

from pytest import raises
from rougail import RougailConvert, RougailConfig
from rougail.error import DictConsistencyError
def test_no_dtd():
cfg = RougailConfig.copy()
cfg['dtdfilename'] = 'notexists.dtd'
with raises(IOError):
eolobj = RougailConvert(cfg)
def test_mode_invalid_default():
# default variable mode is not in modes_level
RougailConfig['dictionaries_dir'] = ['tests/personalize_mode/dictionary']
RougailConfig['modes_level'] = ('level1', 'level2')
eolobj = RougailConvert()
with raises(DictConsistencyError) as err:
eolobj.reflexion()
assert err.value.errno == 72
def test_mode_invalid_default_family():
# default family mode is not in modes_level
RougailConfig['dictionaries_dir'] = ['tests/personalize_mode/dictionary']
RougailConfig['modes_level'] = ('level1', 'level2')
RougailConfig['default_variable_mode'] = 'level1'
eolobj = RougailConvert()
with raises(DictConsistencyError) as err:
eolobj.reflexion()
assert err.value.errno == 73
def test_personalize_mode():
RougailConfig['dictionaries_dir'] = ['tests/personalize_mode/dictionary']
RougailConfig['modes_level'] = ('level1', 'level2')
RougailConfig['default_variable_mode'] = 'level1'
RougailConfig['default_family_mode'] = 'level1'
eolobj = RougailConvert()
eolobj.save(None)
def test_personalize_mode_unknown():
# a variable has an unknown mode
RougailConfig['dictionaries_dir'] = ['tests/personalize_mode/dictionary']
RougailConfig['modes_level'] = ('level1',)
RougailConfig['default_variable_mode'] = 'level1'
RougailConfig['default_family_mode'] = 'level1'
eolobj = RougailConvert()
with raises(DictConsistencyError) as err:
eolobj.reflexion()
assert err.value.errno == 71