aboutsummaryrefslogtreecommitdiff
path: root/tests/test_browser.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-12 14:47:17 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-12 14:47:17 -0700
commit6010666be99cd0322babba1174cfbc65c776deb5 (patch)
treedad63b03b751394c169de61fbf2c195f4faf5344 /tests/test_browser.py
parent38890204ed1f5f8dd34cced7c42fc9cf42dccab5 (diff)
parentf9dff9b3f2e95b2ca8e5b8fd97538f301fd080fe (diff)
Merge branch 'incoming'
Diffstat (limited to 'tests/test_browser.py')
-rw-r--r--tests/test_browser.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/test_browser.py b/tests/test_browser.py
index 3ac640f1..e6fd6544 100644
--- a/tests/test_browser.py
+++ b/tests/test_browser.py
@@ -627,6 +627,28 @@ If manually bisecting:
Popen([PYTHON, EMCC, os.path.join(self.get_dir(), 'sdl_canvas.c'), '-o', 'page.html', '-s', 'LEGACY_GL_EMULATION=1']).communicate()
self.run_browser('page.html', '', '/report_result?1')
+ def test_sdl_canvas_proxy(self):
+ def post():
+ html = open('test.html').read()
+ html = html.replace('</body>', '''
+<script>
+function assert(x, y) { if (!x) throw 'assertion failed ' + y }
+
+%s
+
+var windowClose = window.close;
+window.close = function() {
+ doReftest();
+ setTimeout(windowClose, 1000);
+};
+</script>
+</body>''' % open('reftest.js').read())
+ open('test.html', 'w').write(html)
+
+ open('data.txt', 'w').write('datum')
+
+ self.btest('sdl_canvas_proxy.c', reference='sdl_canvas_proxy.png', args=['--proxy-to-worker', '--preload-file', 'data.txt'], manual_reference=True, post_build=post)
+
def test_sdl_key(self):
open(os.path.join(self.get_dir(), 'pre.js'), 'w').write('''
Module.postRun = function() {
@@ -658,6 +680,52 @@ If manually bisecting:
Popen([PYTHON, EMCC, os.path.join(self.get_dir(), 'sdl_key.c'), '-o', 'page.html', '--pre-js', 'pre.js', '-s', '''EXPORTED_FUNCTIONS=['_main', '_one']''']).communicate()
self.run_browser('page.html', '', '/report_result?223092870')
+ def test_sdl_key_proxy(self):
+ open(os.path.join(self.get_dir(), 'pre.js'), 'w').write('''
+ var Module = {};
+ Module.postRun = function() {
+ function doOne() {
+ Module._one();
+ setTimeout(doOne, 1000/60);
+ }
+ setTimeout(doOne, 1000/60);
+ }
+ ''')
+
+ def post():
+ html = open('test.html').read()
+ html = html.replace('</body>', '''
+<script>
+function keydown(c) {
+ var event = document.createEvent("KeyboardEvent");
+ event.initKeyEvent("keydown", true, true, window,
+ 0, 0, 0, 0,
+ c, c);
+ document.dispatchEvent(event);
+}
+
+function keyup(c) {
+ var event = document.createEvent("KeyboardEvent");
+ event.initKeyEvent("keyup", true, true, window,
+ 0, 0, 0, 0,
+ c, c);
+ document.dispatchEvent(event);
+}
+
+keydown(1250);keydown(38);keyup(38);keyup(1250); // alt, up
+keydown(1248);keydown(1249);keydown(40);keyup(40);keyup(1249);keyup(1248); // ctrl, shift, down
+keydown(37);keyup(37); // left
+keydown(39);keyup(39); // right
+keydown(65);keyup(65); // a
+keydown(66);keyup(66); // b
+keydown(100);keyup(100); // trigger the end
+
+</script>
+</body>''')
+ open('test.html', 'w').write(html)
+
+ self.btest('sdl_key_proxy.c', '223092870', args=['--proxy-to-worker', '--pre-js', 'pre.js', '-s', '''EXPORTED_FUNCTIONS=['_main', '_one']'''], manual_reference=True, post_build=post)
+
def test_sdl_text(self):
open(os.path.join(self.get_dir(), 'pre.js'), 'w').write('''
Module.postRun = function() {