diff options
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/runner.py | 6 | ||||
-rw-r--r-- | tests/test_egl_width_height.c | 40 |
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 +} |