MCPcopy Create free account
hub / github.com/comaps/comaps / UNIT_TEST

Function UNIT_TEST

libs/drape/drape_tests/uniform_value_tests.cpp:61–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61UNIT_TEST(UniformValueTest)
62{
63 uint32_t constexpr VertexShaderID = 1;
64 uint32_t constexpr FragmentShaderID = 2;
65 uint32_t constexpr ProgramID = 2;
66 int32_t constexpr positionLoc = 10;
67 int32_t constexpr modelViewLoc = 11;
68
69 float matrix[16] = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
70
71 MemoryComparer<float> comparer(matrix, 16 * sizeof(float));
72
73 {
74 InSequence seq;
75 EXPECTGL(glCreateShader(gl_const::GLVertexShader)).WillOnce(Return(VertexShaderID));
76 EXPECTGL(glShaderSource(VertexShaderID, _)).Times(1);
77 EXPECTGL(glCompileShader(VertexShaderID, _)).WillOnce(Return(true));
78 EXPECTGL(glCreateShader(gl_const::GLFragmentShader)).WillOnce(Return(FragmentShaderID));
79 EXPECTGL(glShaderSource(FragmentShaderID, _)).Times(1);
80 EXPECTGL(glCompileShader(FragmentShaderID, _)).WillOnce(Return(true));
81
82 EXPECTGL(glCreateProgram()).WillOnce(Return(ProgramID));
83 EXPECTGL(glAttachShader(ProgramID, VertexShaderID));
84 EXPECTGL(glAttachShader(ProgramID, FragmentShaderID));
85
86 EXPECTGL(glLinkProgram(ProgramID, _)).WillOnce(Return(true));
87
88 EXPECTGL(glGetProgramiv(ProgramID, gl_const::GLActiveUniforms)).WillOnce(Return(9));
89 for (int i = 0; i < 9; i++)
90 {
91 EXPECTGL(glGetActiveUniform(ProgramID, _, _, _, _)).WillOnce(Invoke(mock_glGetActiveUniform));
92 EXPECTGL(glGetUniformLocation(ProgramID, _)).WillOnce(Return(i == 8 ? modelViewLoc : positionLoc));
93 }
94
95 EXPECTGL(glDetachShader(ProgramID, VertexShaderID));
96 EXPECTGL(glDetachShader(ProgramID, FragmentShaderID));
97
98 EXPECTGL(glUseProgram(ProgramID));
99
100 EXPECTGL(glUniformValuei(positionLoc, 1));
101
102 EXPECTGL(glUniformValuei(positionLoc, 1, 2));
103
104 EXPECTGL(glUniformValuei(positionLoc, 1, 2, 3));
105
106 EXPECTGL(glUniformValuei(positionLoc, 1, 2, 3, 4));
107
108 EXPECTGL(glUniformValuef(positionLoc, 1.0f));
109
110 EXPECTGL(glUniformValuef(positionLoc, 1.0f, 2.0f));
111
112 EXPECTGL(glUniformValuef(positionLoc, 1.0f, 2.0f, 3.0f));
113
114 EXPECTGL(glUniformValuef(positionLoc, 1.0f, 2.0f, 3.0f, 4.0f));
115
116 EXPECTGL(glUniformMatrix4x4Value(modelViewLoc, _)).WillOnce(Invoke(&comparer, &MemoryComparer<float>::Compare));
117
118 EXPECTGL(glUseProgram(0));

Callers

nothing calls this directly

Calls 6

AnyOfFunction · 0.85
make_refFunction · 0.85
vec2Class · 0.85
BindMethod · 0.45
UnbindMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected