test_webglcontextcreationerror.html (1489B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset='UTF-8'> 5 <script src='/tests/SimpleTest/SimpleTest.js'></script> 6 <link rel='stylesheet' href='/tests/SimpleTest/test.css'> 7 </head> 8 <body> 9 <script> 10 'use strict'; 11 12 function RunWithPrefs(prefPairList, func) { 13 var prefEnv = {'set': prefPairList}; 14 try { 15 SpecialPowers.pushPrefEnv(prefEnv, func); 16 } catch (e) { 17 console.log('Warning: Failed to set prefs: ' + JSON.stringify(prefPairList)); 18 func(); 19 } 20 } 21 22 //////////////////////////////////////// 23 24 function Check(expr, text) { 25 ok(expr, text); 26 return expr; 27 } 28 29 function TestWhenDisabled() { 30 var c = document.createElement('canvas'); 31 32 var generatedEvent = null; 33 var f = function(event) { generatedEvent = event; }; 34 c.addEventListener('webglcontextcreationerror', f); 35 36 var gl = c.getContext('webgl'); // Should fail. 37 38 do { 39 if (!Check(!gl, 'When disabled, context creation should fail.')) 40 break; 41 42 if (!Check(generatedEvent, 'Context creation failure should generate an event.')) 43 break; 44 45 var reason = generatedEvent.statusMessage; 46 if (!Check(reason !== undefined, 'generatedEvent.statusMessage should be defined.')) 47 break; 48 49 ok(reason.length, 'statusMessage should be non-empty.'); 50 } while (false); 51 52 SimpleTest.finish(); 53 } 54 55 //////////////////////////////////////// 56 57 SimpleTest.waitForExplicitFinish(); 58 59 var prefPairList = [ 60 ['webgl.disabled', true], 61 ]; 62 RunWithPrefs(prefPairList, TestWhenDisabled); 63 64 </script> 65 </body> 66 </html>