test_bug_442086.js (912B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 // Bug 442086 - XPConnect creates doubles without checking for 6 // the INT_FITS_IN_JSVAL case 7 8 var types = [ 9 'PRUint8', 10 'PRUint16', 11 'PRUint32', 12 'PRUint64', 13 'PRInt16', 14 'PRInt32', 15 'PRInt64', 16 'float', 17 'double' 18 ]; 19 20 function run_test() 21 { 22 var i; 23 for (i = 0; i < types.length; i++) { 24 var name = types[i]; 25 var cls = Cc["@mozilla.org/supports-" + name + ";1"]; 26 var ifname = ("nsISupports" + name.charAt(0).toUpperCase() + 27 name.substring(1)); 28 var f = cls.createInstance(Ci[ifname]); 29 30 f.data = 0; 31 switch (f.data) { 32 case 0: /*ok*/ break; 33 default: do_throw("FAILED - bug 442086 (type=" + name + ")"); 34 } 35 } 36 }