Fixed global functions from QT_TR_NOOP and QT_TRANSLATE_NOOP family.

These function just return one of their arguments as result, and the
buggy implementation was forgetting to increment the reference count for
the returned object.

A new unit test was added.

Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Reviewed by Renato Araújo <renato.filho@openbossa.org>
This commit is contained in:
Marcelo Lira 2010-12-21 12:17:56 -03:00
commit bb39c847d3
4 changed files with 75 additions and 10 deletions

View file

@ -71,6 +71,7 @@ PYSIDE_TEST(setprop_on_ctor_test.py)
PYSIDE_TEST(static_method_test.py)
PYSIDE_TEST(static_protected_methods_test.py)
PYSIDE_TEST(thread_signals_test.py)
PYSIDE_TEST(tr_noop_test.py)
PYSIDE_TEST(translation_test.py)
PYSIDE_TEST(unaryoperator_test.py)
PYSIDE_TEST(unicode_test.py)

View file

@ -0,0 +1,48 @@
import unittest
import sys
from PySide.QtCore import QT_TR_NOOP, QT_TR_NOOP_UTF8
from PySide.QtCore import QT_TRANSLATE_NOOP, QT_TRANSLATE_NOOP3, QT_TRANSLATE_NOOP_UTF8
class QtTrNoopTest(unittest.TestCase):
def setUp(self):
self.txt = 'Cthulhu fhtag!'
def tearDown(self):
del self.txt
def testQtTrNoop(self):
refcnt = sys.getrefcount(self.txt)
result = QT_TR_NOOP(self.txt)
self.assertEqual(result, self.txt)
self.assertEqual(sys.getrefcount(result), refcnt + 1)
def testQtTrNoopUtf8(self):
refcnt = sys.getrefcount(self.txt)
result = QT_TR_NOOP_UTF8(self.txt)
self.assertEqual(result, self.txt)
self.assertEqual(sys.getrefcount(result), refcnt + 1)
def testQtTranslateNoop(self):
refcnt = sys.getrefcount(self.txt)
result = QT_TRANSLATE_NOOP(None, self.txt)
self.assertEqual(result, self.txt)
self.assertEqual(sys.getrefcount(result), refcnt + 1)
def testQtTranslateNoopUtf8(self):
refcnt = sys.getrefcount(self.txt)
result = QT_TRANSLATE_NOOP_UTF8(self.txt)
self.assertEqual(result, self.txt)
self.assertEqual(sys.getrefcount(result), refcnt + 1)
def testQtTranslateNoop3(self):
refcnt = sys.getrefcount(self.txt)
result = QT_TRANSLATE_NOOP3(None, self.txt, None)
self.assertEqual(result, self.txt)
self.assertEqual(sys.getrefcount(result), refcnt + 1)
if __name__ == '__main__':
unittest.main()