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']])

Reply via email to