// Copyright 2012 Mozilla Corporation. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /** * @description Tests that Intl.DateTimeFormat.prototype functions throw a * TypeError if called on a non-object value or an object that hasn't been * initialized as a DateTimeFormat. * @author Norbert Lindenberg */ var functions = { "format getter": Object.getOwnPropertyDescriptor(Intl.DateTimeFormat.prototype, "format").get, resolvedOptions: Intl.DateTimeFormat.prototype.resolvedOptions }; var invalidTargets = [undefined, null, true, 0, "DateTimeFormat", [], {}]; Object.getOwnPropertyNames(functions).forEach(function (functionName) { var f = functions[functionName]; invalidTargets.forEach(function (target) { var error; try { f.call(target); } catch (e) { error = e; } if (error === undefined) { $ERROR("Calling " + functionName + " on " + target + " was not rejected."); } else if (error.name !== "TypeError") { $ERROR("Calling " + functionName + " on " + target + " was rejected with wrong error " + error.name + "."); } }); });