edouard@3436: """ This test opens, modifies, builds and runs exemple project named "python".
edouard@3424: Test succeeds if runtime's stdout behaves as expected
edouard@3424: """
edouard@3424: 
edouard@3424: import os
edouard@3424: import time
edouard@3424: 
edouard@3424: # allow module import from current test directory's parent
edouard@3424: addImportPath(os.path.dirname(getBundlePath()))
edouard@3424: 
edouard@3424: # common test definitions module
edouard@3447: from sikuliberemiz import run_test
edouard@3424: 
edouard@3447: def test(app):
edouard@3424: 
edouard@3679:     app.doubleClick("main")
edouard@3424: 
edouard@3447:     app.WaitIdleUI()
edouard@3436: 
edouard@3447:     app.click("example")
edouard@3437: 
edouard@3447:     app.WaitIdleUI()
edouard@3436: 
edouard@3447:     app.type(Key.DOWN * 10, Key.CTRL)
edouard@3437: 
edouard@3842:     # Zoom in to allow OCR
edouard@3842:     app.type("+")
edouard@3842: 
edouard@3447:     app.WaitIdleUI()
edouard@3436: 
edouard@3710:     app.doubleClick("Hello")
edouard@3437: 
edouard@3447:     app.WaitIdleUI()
edouard@3436: 
edouard@3447:     app.type(Key.TAB*3)  # select text content
edouard@3437: 
edouard@3447:     app.type("'sys.stdout.write(\"EDIT TEST OK\\n\")'")
edouard@3436: 
edouard@3447:     app.type(Key.ENTER)
edouard@3436: 
edouard@3447:     app.WaitIdleUI()
edouard@3436: 
edouard@3447:     app.k.Clean()
edouard@3437: 
edouard@3447:     app.waitForChangeAndIdleStdout()
edouard@3437: 
edouard@3447:     app.k.Build()
edouard@3437: 
edouard@3720:     app.waitPatternInStdout("Successfully built.", 10)
edouard@3424: 
edouard@3447:     app.k.Connect()
edouard@3424: 
edouard@3447:     app.waitForChangeAndIdleStdout()
edouard@3424: 
edouard@3447:     app.k.Transfer()
edouard@3424: 
edouard@3447:     app.waitForChangeAndIdleStdout()
edouard@3424: 
edouard@3447:     app.k.Run()
edouard@3424: 
edouard@3447:     # wait 10 seconds for 10 patterns
edouard@3447:     return app.waitPatternInStdout("EDIT TEST OK", 10)
edouard@3424: 
edouard@3447: run_test(test, exemple="python")