3 new revisions:

Revision: 6aae8a390a2f
Author:   Mikko Korpela <[email protected]>
Date:     Fri Nov 11 02:22:30 2011
Log:      suite jsoning test
http://code.google.com/p/robotframework/source/detail?r=6aae8a390a2f

Revision: 8954e47d45c0
Author:   Mikko Korpela <[email protected]>
Date:     Fri Nov 11 02:22:45 2011
Log:      Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=8954e47d45c0

Revision: bd6dcc7357fb
Author:   Mikko Korpela <[email protected]>
Date:     Fri Nov 11 03:57:09 2011
Log:      refactor jsoning tests
http://code.google.com/p/robotframework/source/detail?r=bd6dcc7357fb

==============================================================================
Revision: 6aae8a390a2f
Author:   Mikko Korpela <[email protected]>
Date:     Fri Nov 11 02:22:30 2011
Log:      suite jsoning test
http://code.google.com/p/robotframework/source/detail?r=6aae8a390a2f

Modified:
 /utest/result/test_jsoning.py

=======================================
--- /utest/result/test_jsoning.py       Fri Nov 11 01:50:37 2011
+++ /utest/result/test_jsoning.py       Fri Nov 11 02:22:30 2011
@@ -92,7 +92,7 @@

     def test_testcase_jsoning(self):
         self._context.start_suite()
- test = TestCase(name='Foo Bar', doc='Test case doc', tags=['foo', 'bar'], + test = TestCase(name='Foo Bar', doc='Test <p>case</p> doc', tags=['foo', 'bar'],
                         timeout='35 years',
                         status='FAIL',
                         message='iz failz!',
@@ -118,8 +118,8 @@

     def _verify_test(self, test_json, test):
         self._assert_texts(test_json, {0:test.name,
-                                       1:test.timeout,
-                                       3:test.doc})
+                                       1:test.timeout})
+        self._assert_html_text(test_json[3], test.doc)
         assert_equals(test_json[2], int(test.critical == 'yes'))
         self._verify_tags(test_json[4], test.tags)
self._assert_text(test_json[5][0], _StatusHandler._statuses[test.status])
@@ -140,6 +140,47 @@
         for tag_json, tag in zip(tags_json, tags):
             self._assert_text(tag_json, tag)

+    def test_suite_jsoning(self):
+        suite = TestSuite(source='../somewhere',
+                          name='Somewhere',
+                          doc='suite <b>documentation</b>',
+                          metadata={'key<':'value<!>',
+                                    'key2>':'va>lue2'})
+        suite.starttime = '20000101 02:23:01.821'
+        suite.endtime   = '20011221 11:31:12.371'
+        suite.message   = 'so long and thank you for all the fish!'
+        suite.keywords.create(type='setup')
+        subsuite = suite.suites.create(name='subsuite')
+        subsuite.tests.create(name='test', status='PASS')
+        suite.keywords.create(type='teardown')
+        suite.visit(self)
+        self._verify_suite(self.datamodel[0], suite)
+
+    def _verify_suite(self, suite_json, suite):
+        self._assert_text(suite_json[0], suite.name)
+        self._assert_text(suite_json[1], suite.source)
+        self._assert_text(suite_json[2], '')
+        self._assert_html_text(suite_json[3], suite.doc)
+        self._verify_metadata(suite_json[4], suite.metadata)
+ assert_equals(suite_json[5][0], _StatusHandler._statuses[suite.status])
+        assert_equals(suite_json[5][1], self._millis(suite.starttime))
+        if suite.starttime != 'N/A':
+ assert_equals(suite_json[5][2], self._millis(suite.endtime)-self._millis(suite.starttime))
+        if suite.message != '':
+            self._assert_text(suite_json[5][3], suite.message)
+        for index, suit in enumerate(suite.suites):
+            self._verify_suite(suite_json[6][index], suit)
+        for index, test in enumerate(suite.tests):
+            self._verify_test(suite_json[7][index], test)
+        for index, keyword in enumerate(suite.keywords):
+            self._verify_keyword(suite_json[8][index], keyword)
+
+    def _verify_metadata(self, metadata_json, metadata):
+        expected = []
+        for k,v in metadata.items():
+            expected += [k,utils.html_escape(v)]
+        for index, value in enumerate(expected):
+            self._assert_text(metadata_json[index], value)


 if __name__ == '__main__':

==============================================================================
Revision: 8954e47d45c0
Author:   Mikko Korpela <[email protected]>
Date:     Fri Nov 11 02:22:45 2011
Log:      Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=8954e47d45c0



==============================================================================
Revision: bd6dcc7357fb
Author:   Mikko Korpela <[email protected]>
Date:     Fri Nov 11 03:57:09 2011
Log:      refactor jsoning tests
http://code.google.com/p/robotframework/source/detail?r=bd6dcc7357fb

Modified:
 /utest/result/test_jsoning.py

=======================================
--- /utest/result/test_jsoning.py       Fri Nov 11 02:22:30 2011
+++ /utest/result/test_jsoning.py       Fri Nov 11 03:57:09 2011
@@ -77,12 +77,10 @@
         self._assert_html_text(keyword_json[3], keyword.doc)
assert_equals(keyword_json[-3][0], _StatusHandler._statuses[keyword.status])
         assert_equals(keyword_json[-3][1], self._millis(keyword.starttime))
-        if keyword.starttime != 'N/A':
- assert_equals(keyword_json[-3][2], self._millis(keyword.endtime)-self._millis(keyword.starttime))
+        self._verify_elapsed(keyword_json[-3][2], keyword)
         for index, message in enumerate(keyword.messages):
             self._verify_message(keyword_json[-1][index], message)
-        for index, kw in enumerate(keyword.keywords):
-            self._verify_keyword(keyword_json[-2][index], kw)
+ self._for_each_verify(keyword_json[-2], keyword.keywords, self._verify_keyword)

     def _millis(self, timestamp):
         return self._context.timestamp(timestamp)
@@ -124,12 +122,10 @@
         self._verify_tags(test_json[4], test.tags)
self._assert_text(test_json[5][0], _StatusHandler._statuses[test.status])
         assert_equals(test_json[5][1], self._millis(test.starttime))
-        if test.starttime != 'N/A':
- assert_equals(test_json[5][2], self._millis(test.endtime)-self._millis(test.starttime))
+        self._verify_elapsed(test_json[5][2], test)
         if test.message != '':
             self._assert_text(test_json[5][3], test.message)
-        for index, keyword in enumerate(test.keywords):
-            self._verify_keyword(test_json[6][index], keyword)
+ self._for_each_verify(test_json[6], test.keywords, self._verify_keyword)

     def _assert_texts(self, datamodel, index_to_text):
         for index in index_to_text:
@@ -164,16 +160,23 @@
         self._verify_metadata(suite_json[4], suite.metadata)
assert_equals(suite_json[5][0], _StatusHandler._statuses[suite.status])
         assert_equals(suite_json[5][1], self._millis(suite.starttime))
-        if suite.starttime != 'N/A':
- assert_equals(suite_json[5][2], self._millis(suite.endtime)-self._millis(suite.starttime))
+        self._verify_elapsed(suite_json[5][2], suite)
         if suite.message != '':
             self._assert_text(suite_json[5][3], suite.message)
-        for index, suit in enumerate(suite.suites):
-            self._verify_suite(suite_json[6][index], suit)
-        for index, test in enumerate(suite.tests):
-            self._verify_test(suite_json[7][index], test)
-        for index, keyword in enumerate(suite.keywords):
-            self._verify_keyword(suite_json[8][index], keyword)
+ self._for_each_verify(suite_json[6], suite.suites, self._verify_suite) + self._for_each_verify(suite_json[7], suite.tests, self._verify_test) + self._for_each_verify(suite_json[8], suite.keywords, self._verify_keyword)
+
+    def _for_each_verify(self, json, item_list, method):
+        for index, subitem in enumerate(item_list):
+            method(json[index], subitem)
+        assert_equals(len(json), len(item_list))
+
+    def _verify_elapsed(self, elapsed, item):
+        if item.starttime != 'N/A':
+ assert_equals(elapsed, self._millis(item.endtime)-self._millis(item.starttime))
+        else:
+            assert_equals(elapsed, 0)

     def _verify_metadata(self, metadata_json, metadata):
         expected = []

Reply via email to