29package com.jogamp.opengl.test.junit.jogl.acore;
31import java.io.IOException;
33import org.junit.Assert;
35import org.junit.FixMethodOrder;
36import org.junit.runners.MethodSorters;
38import jogamp.opengl.GLVersionNumber;
40import com.jogamp.common.util.VersionNumberString;
41import com.jogamp.opengl.test.junit.util.UITestCase;
43@FixMethodOrder(MethodSorters.NAME_ASCENDING)
46 public static final String[] glVersionStrings00 =
new String[] {
47 "GL_VERSION_2_1 DummyTool 1.2.3",
49 "4.2.12171 Compatibility Profile Context 9.01.8",
50 "4.2.12198 Compatibility Profile Context 12.102.3.0",
51 "2.1 Mesa 7.0.3-rc2 post odd",
52 "4.2.12171 Compatibility Profile Context 9.01.8 post odd",
53 "4.2.12198 Compatibility Profile Context 12.102.3.0 post odd",
54 "OpenGL ES 2.0 Mesa 9.1.1",
55 "OpenGL ES 2.0 14.10.1",
56 "OpenGL ES GLSL ES 2.0 14.10.1",
57 "OpenGL ES 2.0 3Com L3 11.33.44"
59 public static final String[] glVersionStrings01 =
new String[] {
60 "GL_VERSION_2_1 Dummy Tool 1.2",
62 "2.1 Mesa 7.12-devel",
63 "2.1 Mesa 7.12-devel (git-d6c318e)",
64 "2.1 Mesa 7.12-devel la1 la2 li3",
65 "4.3.0 NVIDIA 310.32",
66 "OpenGL ES 2.0 Mesa 9.1",
67 "OpenGL ES 2.0 14.10",
68 "OpenGL ES GLSL ES 2.0 14.10",
69 "OpenGL ES 2.0 3Com L3 11.33"
71 public static final String[] glVersionStrings02 =
new String[] {
74 "OpenGL ES GLSL ES 2.0",
76 "4.2.11762 Compatibility Profile Context"
79 public static final VersionNumberString[] glVersionNumbers =
new VersionNumberString[] {
80 new VersionNumberString(2, 1, 0, glVersionStrings00[0]),
81 new VersionNumberString(2, 1, 0, glVersionStrings00[1]),
82 new VersionNumberString(4, 2, 0, glVersionStrings00[2]),
83 new VersionNumberString(4, 2, 0, glVersionStrings00[3]),
84 new VersionNumberString(2, 1, 0, glVersionStrings00[4]),
85 new VersionNumberString(4, 2, 0, glVersionStrings00[5]),
86 new VersionNumberString(4, 2, 0, glVersionStrings00[6]),
87 new VersionNumberString(2, 0, 0, glVersionStrings00[7]),
88 new VersionNumberString(2, 0, 0, glVersionStrings00[8]),
89 new VersionNumberString(2, 0, 0, glVersionStrings00[9]),
90 new VersionNumberString(2, 0, 0, glVersionStrings00[10]),
92 new VersionNumberString(2, 1, 0, glVersionStrings01[0]),
93 new VersionNumberString(2, 1, 0, glVersionStrings01[1]),
94 new VersionNumberString(2, 1, 0, glVersionStrings01[2]),
95 new VersionNumberString(2, 1, 0, glVersionStrings01[3]),
96 new VersionNumberString(2, 1, 0, glVersionStrings01[4]),
97 new VersionNumberString(4, 3, 0, glVersionStrings01[5]),
98 new VersionNumberString(2, 0, 0, glVersionStrings01[6]),
99 new VersionNumberString(2, 0, 0, glVersionStrings01[7]),
100 new VersionNumberString(2, 0, 0, glVersionStrings01[8]),
101 new VersionNumberString(2, 0, 0, glVersionStrings01[9]),
103 new VersionNumberString(2, 1, 0, glVersionStrings02[0]),
104 new VersionNumberString(2, 0, 0, glVersionStrings02[1]),
105 new VersionNumberString(2, 0, 0, glVersionStrings02[2]),
106 new VersionNumberString(2, 1, 0, glVersionStrings02[3]),
107 new VersionNumberString(4, 2, 0, glVersionStrings02[4])
109 public static final VersionNumberString[] glVendorVersionNumbersWithSub =
new VersionNumberString[] {
110 new VersionNumberString(1, 2, 3, glVersionStrings00[0]),
111 new VersionNumberString(7, 0, 3, glVersionStrings00[1]),
112 new VersionNumberString(9, 1, 8, glVersionStrings00[2]),
113 new VersionNumberString(12, 102, 3, glVersionStrings00[3]),
114 new VersionNumberString(7, 0, 3, glVersionStrings00[4]),
115 new VersionNumberString(9, 1, 8, glVersionStrings00[5]),
116 new VersionNumberString(12, 102, 3, glVersionStrings00[6]),
117 new VersionNumberString(9, 1, 1, glVersionStrings00[7]),
118 new VersionNumberString(14, 10, 1, glVersionStrings00[8]),
119 new VersionNumberString(14, 10, 1, glVersionStrings00[9]),
120 new VersionNumberString(11, 33, 44, glVersionStrings00[10])
122 public static final VersionNumberString[] glVendorVersionNumbersNoSub =
new VersionNumberString[] {
123 new VersionNumberString(1, 2, 0, glVersionStrings01[0]),
124 new VersionNumberString(7, 12, 0, glVersionStrings01[1]),
125 new VersionNumberString(7, 12, 0, glVersionStrings01[2]),
126 new VersionNumberString(7, 12, 0, glVersionStrings01[3]),
127 new VersionNumberString(7, 12, 0, glVersionStrings01[4]),
128 new VersionNumberString(310, 32, 0, glVersionStrings01[5]),
129 new VersionNumberString(9, 1, 0, glVersionStrings01[6]),
130 new VersionNumberString(14, 10, 0, glVersionStrings01[7]),
131 new VersionNumberString(14, 10, 0, glVersionStrings01[8]),
132 new VersionNumberString(11, 33, 0, glVersionStrings01[9])
134 public static final VersionNumberString[] glVendorVersionNumbersNone =
new VersionNumberString[] {
135 new VersionNumberString(0, 0, 0, glVersionStrings02[0]),
136 new VersionNumberString(0, 0, 0, glVersionStrings02[1]),
137 new VersionNumberString(0, 0, 0, glVersionStrings02[2]),
138 new VersionNumberString(0, 0, 0, glVersionStrings02[3]),
139 new VersionNumberString(0, 0, 0, glVersionStrings02[4])
144 for(
int i=0; i<glVersionNumbers.length; i++) {
145 final VersionNumberString exp = glVersionNumbers[i];
146 final GLVersionNumber has = GLVersionNumber.create(exp.getVersionString());
147 System.err.println(
"Test["+i+
"]: "+exp+
" -> "+has+
", valid "+has.isValid()+
", define ["+has.hasMajor()+
":"+has.hasMinor()+
":"+has.hasSub()+
"]");
148 Assert.assertTrue(has.hasMajor());
149 Assert.assertTrue(has.hasMinor());
150 Assert.assertTrue(!has.hasSub());
151 Assert.assertTrue(has.isValid());
152 Assert.assertEquals(exp, has);
155 final GLVersionNumber has = GLVersionNumber.create(
"GL_VERSION_2");
156 System.err.println(
"Test-X1: "+has+
", valid "+has.isValid()+
", define ["+has.hasMajor()+
":"+has.hasMinor()+
":"+has.hasSub()+
"]");
157 Assert.assertTrue(has.hasMajor());
158 Assert.assertTrue(!has.hasMinor());
159 Assert.assertTrue(!has.hasSub());
160 Assert.assertTrue(!has.isValid());
163 final GLVersionNumber has = GLVersionNumber.create(
"GL2 Buggy L3");
164 System.err.println(
"Test-X2: "+has+
", valid "+has.isValid()+
", define ["+has.hasMajor()+
":"+has.hasMinor()+
":"+has.hasSub()+
"]");
165 Assert.assertTrue(has.hasMajor());
166 Assert.assertTrue(!has.hasMinor());
167 Assert.assertTrue(!has.hasSub());
168 Assert.assertTrue(!has.isValid());
171 final GLVersionNumber has = GLVersionNumber.create(
"GL Nope");
172 System.err.println(
"Test-X3: "+has+
", valid "+has.isValid()+
", define ["+has.hasMajor()+
":"+has.hasMinor()+
":"+has.hasSub()+
"]");
173 Assert.assertTrue(!has.hasMajor());
174 Assert.assertTrue(!has.hasMinor());
175 Assert.assertTrue(!has.hasSub());
176 Assert.assertTrue(!has.isValid());
180 private void testGLVendorVersionImpl(
final VersionNumberString[] versionNumberString,
final boolean withMajor,
final boolean withMinor,
final boolean withSub)
throws InterruptedException {
181 for(
int i=0; i<versionNumberString.length; i++) {
182 final VersionNumberString exp = versionNumberString[i];
183 final VersionNumberString has = GLVersionNumber.createVendorVersion(exp.getVersionString());
184 System.err.println(
"Test["+withMajor+
":"+withMinor+
":"+withSub+
"]["+i+
"]: "+exp+
" -> "+has+
", define ["+has.hasMajor()+
":"+has.hasMinor()+
":"+has.hasSub()+
"]");
185 Assert.assertEquals(withMajor, has.hasMajor());
186 Assert.assertEquals(withMinor, has.hasMinor());
187 Assert.assertEquals(withSub, has.hasSub());
188 Assert.assertEquals(exp, has);
194 testGLVendorVersionImpl(glVendorVersionNumbersWithSub,
true,
true,
true);
195 testGLVendorVersionImpl(glVendorVersionNumbersNoSub,
true,
true,
false);
196 testGLVendorVersionImpl(glVendorVersionNumbersNone,
false,
false,
false);
199 public static void main(
final String args[])
throws IOException {
201 org.junit.runner.JUnitCore.
main(tstname);
static void main(final String args[])
void test02GLVendorVersion()