Revision: 3412
Author: KariHusa
Date: Mon May 24 04:42:33 2010
Log: Support continuing settings with name
http://code.google.com/p/robotframework/source/detail?r=3412
Modified:
/trunk/src/robot/parsing/settings.py
/trunk/utest/parsing/test_populator.py
=======================================
--- /trunk/src/robot/parsing/settings.py Fri May 21 01:59:49 2010
+++ /trunk/src/robot/parsing/settings.py Mon May 24 04:42:33 2010
@@ -51,7 +51,8 @@
self.value = ''
def _set(self, value):
- self.value = self._string_value(value)
+ str_val = self._string_value(value)
+ self.value += str_val if not self.value else ' ' + str_val
class Fixture(_Setting):
@@ -61,12 +62,15 @@
self.args = []
def _set(self, value):
- self.name = value[0] if value else ''
- self.args = value[1:]
+ if not self.name:
+ self.name = value[0] if value else ''
+ value = value[1:]
+ self.args.extend(value)
def is_set(self):
return self.name is not None
+
class Timeout(_Setting):
def _init(self):
@@ -74,8 +78,11 @@
self.message = ''
def _set(self, value):
- self.value = value[0] if value else ''
- self.message = ' '.join(value[1:])
+ if not self.value:
+ self.value = value[0] if value else ''
+ value = value[1:]
+ str_val = self._string_value(value)
+ self.message += str_val if not self.message else ' ' + str_val
class Tags(_Setting):
@@ -84,8 +91,8 @@
_Setting.__init__(self, table, comment)
self._value_set = False
- def set(self, value, comment=None):
- _Setting.set(self, value, comment)
+ def _set(self, value):
+ self.value.extend(value)
self._value_set = True
def is_set(self):
=======================================
--- /trunk/utest/parsing/test_populator.py Mon May 24 03:39:01 2010
+++ /trunk/utest/parsing/test_populator.py Mon May 24 04:42:33 2010
@@ -105,12 +105,37 @@
def test_adding_settings(self):
doc = 'This is doc'
+ more_doc = 'smore'
+ force_tags = 'force'
+ more_tags = 'more tagness'
+ default_tags = 'default'
setup_name, setup_args = 'Keyword Name', ['a1', 'a2']
self._create_table('Settings', [['Documentation', doc],
+ ['S uite Tear Down'] +
[setup_name],
['S uite SeTUp'] + [setup_name],
- ['...'] + setup_args])
- self._assert_setting('doc', doc)
+ ['...'] + setup_args,
+ ['S uite teardown'] + setup_args,
+ ['Doc um entati on', more_doc],
+ ['force tags', force_tags],
+ ['Default tags', default_tags],
+ ['FORCETAGS', more_tags],
+ ['test timeout', '1s'],
+ ['De Fault TAGS', more_tags],
+ ['test timeout', 'timeout
message'],
+ ['test timeout', more_doc]
+ ])
+ self._assert_setting('doc', doc + ' ' + more_doc)
self._assert_fixture('suite_setup', setup_name, setup_args)
+ self._assert_fixture('suite_teardown', setup_name, setup_args)
+ self._assert_tags('default_tags', [default_tags, more_tags])
+ self._assert_tags('force_tags', [force_tags, more_tags])
+ timeout = self._setting_with('test_timeout')
+ assert_equals(timeout.value, '1s')
+ assert_equals(timeout.message, 'timeout message '+more_doc)
+
+ def _assert_tags(self, tag_name, exp_value):
+ tag = self._setting_with(tag_name)
+ assert_equals(tag.value, exp_value)
def test_invalid_settings(self):
self._create_table('Settings', [['In valid', 'val ue']])