Revision: b16c9e8da798
Author:   Robot Framework Developers <[email protected]>
Date:     Thu Mar 22 04:54:38 2012
Log:      encoding tests: fix in Windows with Jython 2.5.1
http://code.google.com/p/robotframework/source/detail?r=b16c9e8da798

Modified:
 /utest/utils/test_encodingsniffer.py

=======================================
--- /utest/utils/test_encodingsniffer.py        Mon Mar 19 06:51:21 2012
+++ /utest/utils/test_encodingsniffer.py        Thu Mar 22 04:54:38 2012
@@ -1,7 +1,7 @@
 import unittest
 import sys

-from robot.utils.encodingsniffer import get_output_encoding
+from robot.utils.encodingsniffer import get_output_encoding, _on_buggy_jython
 from robot.utils.asserts import assert_equals, assert_not_none


@@ -21,18 +21,18 @@

     def test_valid_encoding(self):
         sys.__stdout__ = StreamStub('ASCII')
-        assert_equals(get_output_encoding(), 'ASCII')
+        assert_equals(get_output_encoding(), self._get_encoding('ASCII'))

     def test_invalid_encoding(self):
         sys.__stdout__ = StreamStub('invalid')
         sys.__stderr__ = StreamStub('ascII')
-        assert_equals(get_output_encoding(), 'ascII')
+        assert_equals(get_output_encoding(), self._get_encoding('ascII'))

     def test_no_encoding(self):
         sys.__stdout__ = object()
         sys.__stderr__ = object()
         sys.__stdin__ = StreamStub('ascii')
-        assert_equals(get_output_encoding(), 'ascii')
+        assert_equals(get_output_encoding(), self._get_encoding('ascii'))
         sys.__stdin__ = object()
         assert_not_none(get_output_encoding())

@@ -40,10 +40,13 @@
         sys.__stdout__ = StreamStub(None)
         sys.__stderr__ = StreamStub(None)
         sys.__stdin__ = StreamStub('ascii')
-        assert_equals(get_output_encoding(), 'ascii')
+        assert_equals(get_output_encoding(), self._get_encoding('ascii'))
         sys.__stdin__ = StreamStub(None)
         assert_not_none(get_output_encoding())

+    def _get_encoding(self, default):
+        return default if not _on_buggy_jython() else 'cp437'
+

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

Reply via email to