aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/runner.py6
-rw-r--r--tests/test_egl_width_height.c40
2 files changed, 46 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py
index 87eab8c6..f1a97d9a 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -11830,6 +11830,12 @@ elif 'browser' in str(sys.argv):
Popen([PYTHON, EMCC, '-O2', os.path.join(self.get_dir(), 'glfw.c'), '-o', 'page.html']).communicate()
self.run_browser('page.html', '', '/report_result?1')
+ def test_egl_width_height(self):
+ open(os.path.join(self.get_dir(), 'test_egl_width_height.c'), 'w').write(self.with_report_result(open(path_from_root('tests', 'test_egl_width_height.c')).read()))
+
+ Popen([PYTHON, EMCC, '-O2', os.path.join(self.get_dir(), 'test_egl_width_height.c'), '-o', 'page.html']).communicate()
+ self.run_browser('page.html', 'Should print "(300, 150)" -- the size of the canvas in pixels', '/report_result?1')
+
def test_freealut(self):
programs = self.get_library('freealut', os.path.join('examples', 'hello_world.bc'), make_args=['EXEEXT=.bc'])
for program in programs:
diff --git a/tests/test_egl_width_height.c b/tests/test_egl_width_height.c
new file mode 100644
index 00000000..4a4f5e24
--- /dev/null
+++ b/tests/test_egl_width_height.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <EGL/egl.h>
+
+int main(int argc, char *argv[])
+{
+ EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
+
+ EGLint major, minor;
+ eglInitialize(display, &major, &minor);
+
+ EGLint numConfigs;
+ eglGetConfigs(display, NULL, 0, &numConfigs);
+
+ EGLint attribs[] = {
+ EGL_RED_SIZE, 5,
+ EGL_GREEN_SIZE, 6,
+ EGL_BLUE_SIZE, 5,
+ EGL_NONE
+ };
+ EGLConfig config;
+ eglChooseConfig(display, attribs, &config, 1, &numConfigs);
+
+ EGLNativeWindowType dummyWindow;
+ EGLSurface surface = eglCreateWindowSurface(display, config, dummyWindow, NULL);
+
+ EGLint width, height;
+ eglQuerySurface(display, surface, EGL_WIDTH, &width);
+ eglQuerySurface(display, surface, EGL_HEIGHT, &height);
+
+ printf("(%d, %d)\n", width, height);
+
+#ifdef REPORT_RESULT
+ int result = 0;
+ if(width == 300 && height == 150)
+ {
+ result = 1;
+ }
+ REPORT_RESULT();
+#endif
+}