correction in allow_without_dot + test
This commit is contained in:
parent
6902ad4f18
commit
eb3327cd75
2 changed files with 12 additions and 4 deletions
|
@ -8,7 +8,8 @@ from tiramisu.option import DomainnameOption, EmailOption, URLOption, OptionDesc
|
|||
def test_domainname():
|
||||
d = DomainnameOption('d', '')
|
||||
e = DomainnameOption('e', '', "toto.com")
|
||||
od = OptionDescription('a', '', [d, e])
|
||||
f = DomainnameOption('f', '', allow_without_dot=True)
|
||||
od = OptionDescription('a', '', [d, f])
|
||||
c = Config(od)
|
||||
c.read_write()
|
||||
c.d = 'toto.com'
|
||||
|
@ -20,6 +21,9 @@ def test_domainname():
|
|||
raises(ValueError, "c.d = 'toto_super.com'")
|
||||
c.d = 'toto-.com'
|
||||
raises(ValueError, "c.d = 'toto..com'")
|
||||
#
|
||||
c.f = 'toto.com'
|
||||
c.f = 'toto'
|
||||
|
||||
|
||||
def test_domainname_netbios():
|
||||
|
|
|
@ -991,16 +991,20 @@ class DomainnameOption(Option):
|
|||
self._allow_without_dot = allow_without_dot
|
||||
end = ''
|
||||
extrachar = ''
|
||||
extrachar_mandatory = ''
|
||||
if self._type == 'netbios':
|
||||
length = 14
|
||||
elif self._type == 'hostname':
|
||||
length = 62
|
||||
elif self._type == 'domainname':
|
||||
length = 62
|
||||
if allow_without_dot is False:
|
||||
extrachar_mandatory = '\.'
|
||||
else:
|
||||
extrachar = '\.'
|
||||
end = '+[a-z]*'
|
||||
self._domain_re = re.compile(r'^(?:[a-z][a-z\d\-]{{,{0}}}{1}){2}$'
|
||||
''.format(length, extrachar, end))
|
||||
self._domain_re = re.compile(r'^(?:[a-z][a-z\d\-{0}]{{,{1}}}{2}){3}$'
|
||||
''.format(extrachar, length, extrachar_mandatory, end))
|
||||
super(DomainnameOption, self).__init__(name, doc, default=default,
|
||||
default_multi=default_multi,
|
||||
callback=callback,
|
||||
|
|
Loading…
Reference in a new issue