summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-01-21 10:21:16 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2011-01-21 11:07:38 -0300
commit3293847076330f07de9c70dd82f32bfeede6d317 (patch)
treef57e1913a39bab2f2c6536df32757ca149a7b711 /tests
parentdc0a3de17e9786037746cb02fb52e342f8cae34c (diff)
downloadshiboken-3293847076330f07de9c70dd82f32bfeede6d317.tar.gz
shiboken-3293847076330f07de9c70dd82f32bfeede6d317.tar.xz
shiboken-3293847076330f07de9c70dd82f32bfeede6d317.zip
Shiboken enums now have a tp_print representation.
This fixes the bug #611[1], and an unit test was also added. [1] http://bugs.openbossa.org/show_bug.cgi?id=611 Reviewed by Hugo Parente <hugo.lima@openbossa.org> Reviewed by Luciano Wolf <luciano.wolf@openbossa.org> Reviewed by Renato Ara├║jo <renato.filho@openbossa.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/samplebinding/enum_test.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/samplebinding/enum_test.py b/tests/samplebinding/enum_test.py
index 71ebef60..698287f9 100644
--- a/tests/samplebinding/enum_test.py
+++ b/tests/samplebinding/enum_test.py
@@ -26,6 +26,8 @@
'''Test cases for Python representation of C++ enums.'''
+import os
+import sys
import unittest
import sample
@@ -83,6 +85,18 @@ class EnumTest(unittest.TestCase):
self.assertEqual(SampleNamespace.AnonymousClassEnum_Value0, 0)
self.assertEqual(SampleNamespace.AnonymousClassEnum_Value1, 1)
+ def testEnumTpPrintImplementation(self):
+ '''Without SbkEnum.tp_print 'print' returns the enum represented as an int.'''
+ tmpfile = os.tmpfile()
+ sys.stdout = tmpfile
+ print Event.ANY_EVENT
+ sys.stdout = sys.__stdout__
+ tmpfile.seek(0)
+ text = tmpfile.read().strip()
+ tmpfile.close()
+ self.assertEqual(text, str(Event.ANY_EVENT))
+ self.assertEqual(text, repr(Event.ANY_EVENT))
+
class EnumOverloadTest(unittest.TestCase):
'''Test case for overloads involving enums'''