Upstream version 5.34.92.0
[platform/framework/web/crosswalk.git] / src / third_party / webgl / src / sdk / tests / conformance / misc / error-reporting.html
1 <!--
2 /*
3 ** Copyright (c) 2012 The Khronos Group Inc.
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a
6 ** copy of this software and/or associated documentation files (the
7 ** "Materials"), to deal in the Materials without restriction, including
8 ** without limitation the rights to use, copy, modify, merge, publish,
9 ** distribute, sublicense, and/or sell copies of the Materials, and to
10 ** permit persons to whom the Materials are furnished to do so, subject to
11 ** the following conditions:
12 **
13 ** The above copyright notice and this permission notice shall be included
14 ** in all copies or substantial portions of the Materials.
15 **
16 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
23 */
24 -->
25 <!DOCTYPE html>
26 <html>
27 <head>
28 <meta charset="utf-8">
29 <link rel="stylesheet" href="../../resources/js-test-style.css"/>
30 <script src="../../resources/js-test-pre.js"></script>
31 <script src="../resources/webgl-test-utils.js"></script>
32 </head>
33 <body>
34 <div id="description"></div>
35 <div id="console"></div>
36
37 <script>
38 "use strict";
39 description("Tests generation of synthetic and real GL errors");
40
41 var wtu = WebGLTestUtils;
42 var context = wtu.create3DContext();
43 var program = wtu.loadStandardProgram(context);
44
45 // Other tests in this directory like getActiveTest and
46 // incorrect-context-object-behaviour already test the raising of many
47 // synthetic GL errors. This test verifies the raising of certain
48 // known real GL errors, and contains a few regression tests for bugs
49 // discovered in the synthetic error generation and in the WebGL
50 // implementation itself.
51
52 wtu.glErrorShouldBe(context, context.NO_ERROR);
53
54 debug("Testing getActiveAttrib");
55 // Synthetic OpenGL error
56 shouldBeNull("context.getActiveAttrib(null, 2)");
57 wtu.glErrorShouldBe(context, context.INVALID_VALUE);
58 // Error state should be clear by this point
59 wtu.glErrorShouldBe(context, context.NO_ERROR);
60 // Real OpenGL error
61 shouldBeNull("context.getActiveAttrib(program, 2)");
62 wtu.glErrorShouldBe(context, context.INVALID_VALUE);
63 // Error state should be clear by this point
64 wtu.glErrorShouldBe(context, context.NO_ERROR);
65
66 debug("Testing getActiveUniform");
67 // Synthetic OpenGL error
68 shouldBeNull("context.getActiveUniform(null, 0)");
69 wtu.glErrorShouldBe(context, context.INVALID_VALUE);
70 // Error state should be clear by this point
71 wtu.glErrorShouldBe(context, context.NO_ERROR);
72 // Real OpenGL error
73 shouldBeNull("context.getActiveUniform(program, 50)");
74 wtu.glErrorShouldBe(context, context.INVALID_VALUE);
75 // Error state should be clear by this point
76 wtu.glErrorShouldBe(context, context.NO_ERROR);
77
78 debug("Testing attempts to manipulate the default framebuffer");
79 shouldBeUndefined("context.bindFramebuffer(context.FRAMEBUFFER, null)");
80 wtu.glErrorShouldBe(context, context.NO_ERROR);
81 shouldBeUndefined("context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, null)");
82 // Synthetic OpenGL error
83 wtu.glErrorShouldBe(context, context.INVALID_OPERATION);
84 // Error state should be clear by this point
85 wtu.glErrorShouldBe(context, context.NO_ERROR);
86 shouldBeUndefined("context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, null, 0)");
87 // Synthetic OpenGL error
88 wtu.glErrorShouldBe(context, context.INVALID_OPERATION);
89 // Error state should be clear by this point
90 wtu.glErrorShouldBe(context, context.NO_ERROR);
91
92 var successfullyParsed = true;
93 </script>
94
95 <script src="../../resources/js-test-post.js"></script>
96 </body>
97 </html>