description("Test for correct properties on Error objects.");

function enumerableProperties(object)
{
    var result = [];
    for (var i in object)
        result.push(i);
    return result;
}

try {
    // generate a RangeError.
    [].length = -1;
} catch (rangeError) {
    var nativeError = rangeError;
    var error = new Error("message");

    shouldBe('enumerableProperties(error)', '[]');
    shouldBe('enumerableProperties(nativeError)', '["line", "sourceURL", "stack"]');

    shouldBe('Object.getPrototypeOf(nativeError).name', '"RangeError"');
    shouldBe('Object.getPrototypeOf(nativeError).message', '""');
}