Emmanuel Garette
6de65859b4
* _cfgimpl_ => _impl_ * optimpl_ => impl_ * properties/permissives are now set/frozenset * validation raise ValueError if not valid, didn't return anything otherwise * consistencies are now validate in setting and when deleting value * ip/network with netmask consistency now works * DomainnameOption now works * if no validation, don't set cache for value * symlinkoption: remove path (not used)
55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
# coding: utf-8
|
|
import autopath
|
|
from py.test import raises
|
|
|
|
from tiramisu.config import Config, SubConfig
|
|
from tiramisu.option import ChoiceOption, BoolOption, IntOption, FloatOption, \
|
|
StrOption, OptionDescription, SymLinkOption, UnicodeOption
|
|
|
|
|
|
def test_slots_option():
|
|
c = BoolOption('a', '')
|
|
raises(AttributeError, "c.x = 1")
|
|
c = IntOption('a', '')
|
|
raises(AttributeError, "c.x = 1")
|
|
c = FloatOption('a', '')
|
|
raises(AttributeError, "c.x = 1")
|
|
c = StrOption('a', '')
|
|
raises(AttributeError, "c.x = 1")
|
|
c = SymLinkOption('b', c)
|
|
raises(AttributeError, "c.x = 1")
|
|
c = UnicodeOption('a', '')
|
|
raises(AttributeError, "c.x = 1")
|
|
c = ChoiceOption('a', '', ('a',))
|
|
raises(AttributeError, "c.x = 1")
|
|
c = OptionDescription('a', '', [])
|
|
raises(AttributeError, "c.x = 1")
|
|
|
|
|
|
def test_slots_config():
|
|
od1 = OptionDescription('a', '', [])
|
|
od2 = OptionDescription('a', '', [od1])
|
|
c = Config(od2)
|
|
raises(AttributeError, "c.x = 1")
|
|
raises(AttributeError, "c.cfgimpl_x = 1")
|
|
sc = c.a
|
|
assert isinstance(sc, SubConfig)
|
|
raises(AttributeError, "sc.x = 1")
|
|
raises(AttributeError, "sc.cfgimpl_x = 1")
|
|
|
|
|
|
def test_slots_setting():
|
|
od1 = OptionDescription('a', '', [])
|
|
od2 = OptionDescription('a', '', [od1])
|
|
c = Config(od2)
|
|
s = c.cfgimpl_get_settings()
|
|
raises(AttributeError, "s.x = 1")
|
|
|
|
|
|
def test_slots_value():
|
|
od1 = OptionDescription('a', '', [])
|
|
od2 = OptionDescription('a', '', [od1])
|
|
c = Config(od2)
|
|
v = c.cfgimpl_get_values()
|
|
raises(AttributeError, "v.x = 1")
|