24 lines
548 B
Python
24 lines
548 B
Python
|
""" RegexpOption
|
||
|
"""
|
||
|
from .autopath import do_autopath
|
||
|
do_autopath()
|
||
|
|
||
|
import pytest
|
||
|
from tiramisu import RegexpOption, OptionDescription, Config
|
||
|
import re
|
||
|
|
||
|
|
||
|
class ColorOption(RegexpOption):
|
||
|
__slots__ = tuple()
|
||
|
_type = 'Color'
|
||
|
_regexp = re.compile(r"^#(?:[0-9a-f]{3}){1,2}$")
|
||
|
|
||
|
|
||
|
def test_regexp_option():
|
||
|
r = ColorOption('test', 'test')
|
||
|
od = OptionDescription('od', 'od', [r])
|
||
|
cfg = Config(od)
|
||
|
cfg.option('test').value.set('#ff0000')
|
||
|
with pytest.raises(ValueError):
|
||
|
cfg.option('test').value.set('not a color')
|