11 from TestSupport
import Base, Logging
13 from mevis
import MLAB, MLABFileManager
14 from PythonQt
import QtCore
22 def __init__(self, slave, filename, resizeHandler = None):
23 self.
_baseName_baseName = os.path.splitext(os.path.basename(filename))[0]
25 f = open(filename,
"rb")
26 self.
_events_events = json.load(f)
36 self.
_slave_slave.sendRenderRequest(self.
_slave_slave.PNG)
46 filename = Base.getResultDirectory() +
"/" + name +
".png"
49 referenceImage = Base.getDataDirectory() +
"/" + name +
".png"
50 if not MLABFileManager.exists(referenceImage):
53 Logging.showImage(name +
" (reference image on the right)", filename, referenceImage)
59 while time.elapsed() < delay:
64 def replay(self, redrawAfterResize=False, redrawAfterSceneChanged=False):
65 for event
in self.
_events_events:
67 eventType = event[
"event"]
68 hasPosition =
"x" in event
and "y" in event
69 if eventType ==
"Resize":
74 self.
_slave_slave.resize(w, h)
77 elif eventType ==
"Pause":
78 self.
doPausedoPause(event[
"delay"])
79 elif eventType ==
"Enter":
81 elif eventType ==
"Leave":
83 elif eventType ==
"MouseMove":
84 self.
_slave_slave.mouseMoveTo(event[
"x"],event[
"y"])
85 elif eventType ==
"MouseButtonPress":
87 self.
_slave_slave.mousePress(event[
"button"],event[
"x"],event[
"y"])
89 self.
_slave_slave.mousePress(event[
"button"])
90 elif eventType ==
"MouseButtonRelease":
92 self.
_slave_slave.mouseRelease(event[
"button"],event[
"x"],event[
"y"])
94 self.
_slave_slave.mouseRelease(event[
"button"])
95 elif eventType ==
"MouseButtonDblClick":
97 self.
_slave_slave.mouseDoubleClickPress(event[
"button"],event[
"x"],event[
"y"])
99 self.
_slave_slave.mouseDoubleClickPress(event[
"button"])
100 elif eventType ==
"Wheel":
102 self.
_slave_slave.mouseWheel(event[
"delta"],event[
"x"],event[
"y"])
104 self.
_slave_slave.mouseWheel(event[
"delta"])
105 elif eventType ==
"KeyPress":
106 self.
_slave_slave.keyPress(event[
"key"])
107 elif eventType ==
"KeyRelease":
108 self.
_slave_slave.keyRelease(event[
"key"])
109 elif eventType ==
"Screenshot":
112 MLAB.logWarning(
"Unknown event: " + event)
116 QtCore.QCoreApplication.processEvents()
122 self.
_slave_slave.sendRenderRequest(self.
_slave_slave.PNG)
def __init__(self, slave, filename, resizeHandler=None)
def createScreenshot(self)
def imageReceived(self, img)
def replay(self, redrawAfterResize=False, redrawAfterSceneChanged=False)
Adds GoogleTest like methods.
def EXPECT_TRUE(expr, msg=None, logOnSuccess=None)
Expect given expression to evaluate to true.