| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "gtest/gtest.h" |
| |
| #include "flutter/shell/platform/linux/egl_utils.h" |
| |
| TEST(EGLUtils, ErrorToString) { |
| const gchar* error_string = egl_error_to_string(EGL_SUCCESS); |
| EXPECT_STREQ(error_string, "Success"); |
| } |
| |
| TEST(EGLUtils, ErrorToStringUnknown) { |
| const gchar* error_string = egl_error_to_string(0xffffffff); |
| EXPECT_STREQ(error_string, "Unknown Error"); |
| } |
| |
| TEST(EGLUtils, ErrorToStringNegative) { |
| const gchar* error_string = egl_error_to_string(-1); |
| EXPECT_STREQ(error_string, "Unknown Error"); |
| } |
| |
| TEST(EGLUtils, ConfigToString) { |
| EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); |
| EXPECT_TRUE(eglInitialize(display, nullptr, nullptr)); |
| EGLConfig config; |
| EXPECT_TRUE(eglChooseConfig(display, nullptr, &config, 1, nullptr)); |
| g_autofree gchar* config_string = egl_config_to_string(display, config); |
| EXPECT_STREQ( |
| config_string, |
| "EGL_CONFIG_ID=1 EGL_BUFFER_SIZE=32 EGL_COLOR_BUFFER_TYPE=EGL_RGB_BUFFER " |
| "EGL_TRANSPARENT_TYPE=EGL_NONE EGL_LEVEL=1 EGL_RED_SIZE=8 " |
| "EGL_GREEN_SIZE=8 EGL_BLUE_SIZE=8 EGL_ALPHA_SIZE=0 EGL_DEPTH_SIZE=0 " |
| "EGL_STENCIL_SIZE=0 EGL_SAMPLES=0 EGL_SAMPLE_BUFFERS=0 " |
| "EGL_NATIVE_VISUAL_ID=0x1 EGL_NATIVE_VISUAL_TYPE=0x0 " |
| "EGL_NATIVE_RENDERABLE=EGL_TRUE EGL_CONFIG_CAVEAT=EGL_NONE " |
| "EGL_BIND_TO_TEXTURE_RGB=EGL_TRUE EGL_BIND_TO_TEXTURE_RGBA=EGL_FALSE " |
| "EGL_RENDERABLE_TYPE=EGL_OPENGL_ES2_BIT " |
| "EGL_CONFORMANT=EGL_OPENGL_ES2_BIT " |
| "EGL_SURFACE_TYPE=EGL_PBUFFER_BIT|EGL_WINDOW_BIT " |
| "EGL_MAX_PBUFFER_WIDTH=1024 EGL_MAX_PBUFFER_HEIGHT=1024 " |
| "EGL_MAX_PBUFFER_PIXELS=1048576 EGL_MIN_SWAP_INTERVAL=0 " |
| "EGL_MAX_SWAP_INTERVAL=1000"); |
| } |
| |
| TEST(EGLUtils, ConfigToStringNullptr) { |
| EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); |
| EXPECT_TRUE(eglInitialize(display, nullptr, nullptr)); |
| EGLConfig config; |
| EXPECT_TRUE(eglChooseConfig(display, nullptr, &config, 1, nullptr)); |
| g_autofree gchar* config_string1 = egl_config_to_string(nullptr, config); |
| EXPECT_STREQ(config_string1, ""); |
| g_autofree gchar* config_string2 = egl_config_to_string(display, nullptr); |
| EXPECT_STREQ(config_string2, ""); |
| g_autofree gchar* config_string3 = egl_config_to_string(nullptr, nullptr); |
| EXPECT_STREQ(config_string3, ""); |
| } |