Revision: 3273
Author: pekka.klarck
Date: Wed May 12 03:43:07 2010
Log: more stuffing
http://code.google.com/p/robotframework/source/detail?r=3273
Modified:
/trunk/src/robot/parsing/newmodel.py
/trunk/utest/parsing/test_model.py
=======================================
--- /trunk/src/robot/parsing/newmodel.py Wed May 12 02:34:32 2010
+++ /trunk/src/robot/parsing/newmodel.py Wed May 12 03:43:07 2010
@@ -77,7 +77,13 @@
return self.tests[-1]
class KeywordTable(DataTable):
- pass
+
+ def __init__(self):
+ self.keywords = []
+
+ def add(self, name):
+ self.keywords.append(UserKeyword(name))
+ return self.keywords[-1]
class Setting(object):
@@ -113,6 +119,12 @@
class Tags(Setting):
pass
+class Arguments(Setting):
+ pass
+
+class Return(Setting):
+ pass
+
class Variable(object):
@@ -130,3 +142,28 @@
self.setup = Fixture()
self.teardown = Fixture()
self.timeout = Timeout()
+ self.steps = []
+
+ def add_step(self, content):
+ self.steps.append(Step(content))
+
+
+class UserKeyword(object):
+
+ def __init__(self, name):
+ self.name = name
+ self.doc = Documentation()
+ self.args = Arguments()
+ self.return_ = Return()
+ self.timeout = Timeout()
+ self.steps = []
+
+ def add_step(self, content):
+ self.steps.append(Step(content))
+
+
+class Step(object):
+
+ def __init__(self, content):
+ self.keyword = content[0]
+ self.args = content[1:]
=======================================
--- /trunk/utest/parsing/test_model.py Wed May 12 02:34:32 2010
+++ /trunk/utest/parsing/test_model.py Wed May 12 03:43:07 2010
@@ -73,6 +73,7 @@
def setUp(self):
self.table = TestCaseFile().testcase_table
+ self.test = TestCase('name')
def test_create(self):
assert_equal(self.table.tests, [])
@@ -84,22 +85,57 @@
assert_equal(test.name, 'My name')
def test_settings(self):
- test = self.table.add('Name')
- assert_true(isinstance(test.doc, Documentation))
- assert_true(isinstance(test.tags, Tags))
- assert_true(isinstance(test.setup, Fixture))
- assert_true(isinstance(test.teardown, Fixture))
- assert_true(isinstance(test.timeout, Timeout))
+ assert_true(isinstance(self.test.doc, Documentation))
+ assert_true(isinstance(self.test.tags, Tags))
+ assert_true(isinstance(self.test.setup, Fixture))
+ assert_true(isinstance(self.test.teardown, Fixture))
+ assert_true(isinstance(self.test.timeout, Timeout))
def test_set_settings(self):
- test = self.table.add('Name')
- test.doc.set('My coooool doc')
- test.tags.set(['My', 'coooool', 'tags'])
- assert_equal(test.doc.value, 'My coooool doc')
- assert_equal(test.tags.value, ['My', 'coooool', 'tags'])
-
- def test_add_test_row(self):
- test = NotImplemented
+ self.test.doc.set('My coooool doc')
+ self.test.tags.set(['My', 'coooool', 'tags'])
+ assert_equal(self.test.doc.value, 'My coooool doc')
+ assert_equal(self.test.tags.value, ['My', 'coooool', 'tags'])
+
+
+class TestKeywordTable(unittest.TestCase):
+
+ def setUp(self):
+ self.table = TestCaseFile().keyword_table
+ self.kw = UserKeyword('name')
+
+ def test_create(self):
+ assert_equal(self.table.keywords, [])
+
+ def test_add_keyword(self):
+ kw = self.table.add('My name')
+ assert_true(len(self.table.keywords), 1)
+ assert_true(self.table.keywords[0] is kw)
+ assert_equal(kw.name, 'My name')
+
+ def test_settings(self):
+ assert_true(isinstance(self.kw.doc, Documentation))
+ assert_true(isinstance(self.kw.args, Arguments))
+ assert_true(isinstance(self.kw.return_, Return))
+ assert_true(isinstance(self.kw.timeout, Timeout))
+
+ def test_set_settings(self):
+ self.kw.doc.set('My coooool doc')
+ self.kw.args.set(['${args}', 'are not', 'validated'])
+ assert_equal(self.kw.doc.value, 'My coooool doc')
+ assert_equal(self.kw.args.value, ['${args}', 'are
not', 'validated'])
+
+
+class TestStep(unittest.TestCase):
+
+ def setUp(self):
+ self.test = TestCase('name')
+
+ def test_add_test_step(self):
+ self.test.add_step(['Keyword', 'arg1', 'arg2'])
+ assert_equal(len(self.test.steps), 1)
+ assert_equal(self.test.steps[0].keyword, 'Keyword')
+ assert_equal(self.test.steps[0].args, ['arg1', 'arg2'])
if __name__ == "__main__":