michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* michael@0: * The current crop of Test262 test cases that we run are expected to pass michael@0: * unless they crash or throw. (This isn't true for all Test262 test cases -- michael@0: * for the ones marked @negative the logic is inverted. We'll have to deal with michael@0: * that concern eventually, but for now we're punting so we can run subsets of michael@0: * Test262 tests.) michael@0: */ michael@0: testPassesUnlessItThrows(); michael@0: michael@0: /* michael@0: * Test262 function $ERROR throws an error with the message provided. Test262 michael@0: * test cases call it to indicate failure. michael@0: */ michael@0: function $ERROR(msg) michael@0: { michael@0: throw new Error("Test262 error: " + msg); michael@0: } michael@0: michael@0: /* michael@0: * Test262 function $INCLUDE loads a file with support functions for the tests. michael@0: * This function is replaced in browser.js. michael@0: */ michael@0: function $INCLUDE(file) michael@0: { michael@0: load("supporting/" + file); michael@0: } michael@0: michael@0: /* michael@0: * Test262 function fnGlobalObject returns the global object. michael@0: */ michael@0: var fnGlobalObject = (function() michael@0: { michael@0: var global = Function("return this")(); michael@0: return function fnGlobalObject() { return global; }; michael@0: })();