aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauro Neto <lauro.neto@openbossa.org>2010-12-28 21:18:26 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:48:06 -0300
commitecb060f85c3de21b6f2e6ea94417685307252791 (patch)
tree224c11664a90734857b6eb35a49ac71be281cc52
parent1d05357e2657df96b16b5cb4f2e9cc2b6ca73d2b (diff)
Improve QtScriptEngineDebugger test behavior
The extra ContinueAction after evaluate() was crashing on MacOS X. Reviewer: Hugo Lima <hugo.lima@openbossa.org> Reviewer: Renato Araujo <renator.filho@openbossa.org>
-rw-r--r--tests/QtScriptTools/debugger_test.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/tests/QtScriptTools/debugger_test.py b/tests/QtScriptTools/debugger_test.py
index e5253610a..563482486 100644
--- a/tests/QtScriptTools/debugger_test.py
+++ b/tests/QtScriptTools/debugger_test.py
@@ -1,7 +1,7 @@
import unittest
-from PySide.QtCore import SIGNAL
+from PySide.QtCore import SIGNAL, QTimer
from PySide.QtScript import QScriptEngine
from PySide.QtScriptTools import QScriptEngineDebugger
@@ -13,29 +13,32 @@ class DebuggerTest(UsesQApplication):
UsesQApplication.setUp(self)
self.engine = QScriptEngine()
self.debugger = QScriptEngineDebugger()
- self.has_suspended = False
- self.has_resumed = False
+ self.has_suspended = 0
+ self.has_resumed = 0
+ self.count = 3
def suspended(self):
- self.has_suspended = True
- self.debugger.action(QScriptEngineDebugger.ContinueAction).trigger()
+ self.has_suspended += 1
+ # Will emit evaluationResumed until there are more instructions to be run
+ QTimer.singleShot(100, self.debugger.action(QScriptEngineDebugger.StepIntoAction).trigger)
def resumed(self):
- self.has_resumed = True
+ # Will be called when debugger.state() change from Suspended to Running
+ # except for the first time.
+ self.has_resumed += 1
def testBasic(self):
'''Interrupt and resume evaluation with QScriptEngineDebugger'''
+
self.debugger.attachTo(self.engine)
self.debugger.setAutoShowStandardWindow(False)
self.debugger.connect(SIGNAL('evaluationSuspended()'), self.suspended)
self.debugger.connect(SIGNAL('evaluationResumed()'), self.resumed)
self.debugger.action(QScriptEngineDebugger.InterruptAction).trigger()
- self.engine.evaluate("3+4")
- self.debugger.action(QScriptEngineDebugger.ContinueAction).trigger()
- self.assert_(self.has_resumed)
- self.assert_(self.has_suspended)
-
+ self.engine.evaluate("3+4\n2+1\n5+1")
+ self.assertEqual(self.has_resumed, 2)
+ self.assertEqual(self.has_suspended, 3)
if __name__ == '__main__':
unittest.main()