5 new revisions:

Revision: 5dd55bcf2451
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 02:28:20 2011
Log:      Json tests
http://code.google.com/p/robotframework/source/detail?r=5dd55bcf2451

Revision: 7e8f071acd1e
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 02:39:00 2011
Log:      test_jsoning: test_times
http://code.google.com/p/robotframework/source/detail?r=7e8f071acd1e

Revision: d91d0f30ad04
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 22:18:26 2011
Log:      order
http://code.google.com/p/robotframework/source/detail?r=d91d0f30ad04

Revision: 35c72566a7a0
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 22:19:37 2011
Log:      Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=35c72566a7a0

Revision: e788ebec0e37
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 23:55:37 2011
Log:      keyword jsoning test
http://code.google.com/p/robotframework/source/detail?r=e788ebec0e37

==============================================================================
Revision: 5dd55bcf2451
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 02:28:20 2011
Log:      Json tests
http://code.google.com/p/robotframework/source/detail?r=5dd55bcf2451

Added:
 /utest/result/test_jsoning.py

=======================================
--- /dev/null
+++ /utest/result/test_jsoning.py       Thu Nov 10 02:28:20 2011
@@ -0,0 +1,42 @@
+import unittest
+from robot import utils
+from robot.model.message import Message
+from robot.output.loggerhelper import LEVELS
+from robot.reporting.parsingcontext import Context
+from robot.result.datamodel import DatamodelVisitor
+from robot.result.jsondatamodelhandlers import _Handler
+from robot.utils.asserts import assert_equals
+
+
+class TestJsoning(unittest.TestCase, DatamodelVisitor):
+
+    def setUp(self):
+        self._elements = []
+        self._context = Context()
+        self._elements.append(_Handler(self._context))
+
+    def test_html_message_to_json(self):
+        message = Message(message='<b>Great danger!</b>',
+                          level='WARN',
+                          html=True,
+                          timestamp='20121212 12:12:12.121')
+        message.visit(self)
+        self._verify_message(self.datamodel[0], message)
+
+    def test_non_html_message_to_json(self):
+        message = Message(message='This is an html mark --> <html>',
+                          level='INFO',
+                          html=False,
+                          timestamp='19991211 12:12:12.821')
+        message.visit(self)
+        message.message = utils.html_escape(message.message)
+        self._verify_message(self.datamodel[0], message)
+
+    def _verify_message(self, message_json, message):
+ assert_equals(message_json[0], self._context.timestamp(message.timestamp))
+        assert_equals(message_json[1], LEVELS[message.level])
+ assert_equals(message_json[2], self._context.get_id(message.message))
+
+
+if __name__ == '__main__':
+    unittest.main()

==============================================================================
Revision: 7e8f071acd1e
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 02:39:00 2011
Log:      test_jsoning: test_times
http://code.google.com/p/robotframework/source/detail?r=7e8f071acd1e

Modified:
 /utest/result/test_jsoning.py

=======================================
--- /utest/result/test_jsoning.py       Thu Nov 10 02:28:20 2011
+++ /utest/result/test_jsoning.py       Thu Nov 10 02:39:00 2011
@@ -26,12 +26,17 @@
     def test_non_html_message_to_json(self):
         message = Message(message='This is an html mark --> <html>',
                           level='INFO',
-                          html=False,
                           timestamp='19991211 12:12:12.821')
         message.visit(self)
         message.message = utils.html_escape(message.message)
         self._verify_message(self.datamodel[0], message)

+    def test_times(self):
+ for timestamp in ['20110531 12:48:09.020','N/A','20110531 12:48:09.010','20110531 12:48:19.035']:
+            Message(timestamp=timestamp).visit(self)
+        for index, millis in enumerate([0, None, -10, 10015]):
+            assert_equals(self.datamodel[index][0], millis)
+
     def _verify_message(self, message_json, message):
assert_equals(message_json[0], self._context.timestamp(message.timestamp))
         assert_equals(message_json[1], LEVELS[message.level])

==============================================================================
Revision: d91d0f30ad04
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 22:18:26 2011
Log:      order
http://code.google.com/p/robotframework/source/detail?r=d91d0f30ad04

Modified:
 /utest/result/test_jsoning.py

=======================================
--- /utest/result/test_jsoning.py       Thu Nov 10 02:39:00 2011
+++ /utest/result/test_jsoning.py       Thu Nov 10 22:18:26 2011
@@ -23,6 +23,11 @@
         message.visit(self)
         self._verify_message(self.datamodel[0], message)

+    def _verify_message(self, message_json, message):
+ assert_equals(message_json[0], self._context.timestamp(message.timestamp))
+        assert_equals(message_json[1], LEVELS[message.level])
+ assert_equals(message_json[2], self._context.get_id(message.message))
+
     def test_non_html_message_to_json(self):
         message = Message(message='This is an html mark --> <html>',
                           level='INFO',
@@ -37,11 +42,6 @@
         for index, millis in enumerate([0, None, -10, 10015]):
             assert_equals(self.datamodel[index][0], millis)

-    def _verify_message(self, message_json, message):
- assert_equals(message_json[0], self._context.timestamp(message.timestamp))
-        assert_equals(message_json[1], LEVELS[message.level])
- assert_equals(message_json[2], self._context.get_id(message.message))
-

 if __name__ == '__main__':
     unittest.main()

==============================================================================
Revision: 35c72566a7a0
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 22:19:37 2011
Log:      Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=35c72566a7a0



==============================================================================
Revision: e788ebec0e37
Author:   Mikko Korpela <[email protected]>
Date:     Thu Nov 10 23:55:37 2011
Log:      keyword jsoning test
http://code.google.com/p/robotframework/source/detail?r=e788ebec0e37

Modified:
 /utest/result/test_jsoning.py

=======================================
--- /utest/result/test_jsoning.py       Thu Nov 10 22:18:26 2011
+++ /utest/result/test_jsoning.py       Thu Nov 10 23:55:37 2011
@@ -1,10 +1,11 @@
 import unittest
 from robot import utils
+from robot.result.keyword import Keyword
 from robot.model.message import Message
 from robot.output.loggerhelper import LEVELS
 from robot.reporting.parsingcontext import Context
 from robot.result.datamodel import DatamodelVisitor
-from robot.result.jsondatamodelhandlers import _Handler
+from robot.result.jsondatamodelhandlers import _Handler, KeywordHandler, _StatusHandler
 from robot.utils.asserts import assert_equals


@@ -26,14 +27,19 @@
     def _verify_message(self, message_json, message):
assert_equals(message_json[0], self._context.timestamp(message.timestamp))
         assert_equals(message_json[1], LEVELS[message.level])
- assert_equals(message_json[2], self._context.get_id(message.message))
+        message_text = message.message
+        if not message.html:
+            message_text = utils.html_escape(message_text)
+        self._assert_text(message_json[2], message_text)
+
+    def _assert_text(self, text_index, text):
+        assert_equals(text_index, self._context.get_id(text))

     def test_non_html_message_to_json(self):
         message = Message(message='This is an html mark --> <html>',
                           level='INFO',
                           timestamp='19991211 12:12:12.821')
         message.visit(self)
-        message.message = utils.html_escape(message.message)
         self._verify_message(self.datamodel[0], message)

     def test_times(self):
@@ -42,6 +48,46 @@
         for index, millis in enumerate([0, None, -10, 10015]):
             assert_equals(self.datamodel[index][0], millis)

+    def test_keyword_jsoning(self):
+        self._context.start_suite()
+        keyword = Keyword(name='Keyword Name',
+                          doc='Documentation for <b>a keyword</b>',
+                          args=['${first}', '${second}', '${third}'],
+                          type='setup',
+                          timeout='2 seconds',
+                          status='PASS',
+                          starttime='20110101 16:16:16.100',
+                          endtime='20110101 16:16:18.161')
+        keyword.messages.create(message='keyword message',
+                                level='INFO',
+                                timestamp='20110101 16:16:16.161')
+        keyword.keywords.create(name='No Operation',
+                                type='kw',
+                                status='PASS')
+        keyword.visit(self)
+        self._verify_keyword(self.datamodel[0], keyword)
+
+    def _verify_keyword(self, keyword_json, keyword):
+        assert_equals(keyword_json[0], KeywordHandler._types[keyword.type])
+        self._assert_text(keyword_json[1], keyword.name)
+        self._assert_text(keyword_json[2], keyword.timeout)
+        self._assert_html_text(keyword_json[3], keyword.doc)
+        self._assert_text(keyword_json[4], ', '.join(keyword.args))
+ 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))
+        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)
+
+    def _millis(self, timestamp):
+        return self._context.timestamp(timestamp)
+
+    def _assert_html_text(self, text_index, text):
+        self._assert_text(text_index, utils.html_escape(text))
+

 if __name__ == '__main__':
     unittest.main()

Reply via email to