diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp index dd53e37586..c3a6d12530 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-object.cpp @@ -279,7 +279,7 @@ ecma_builtin_object_object_get_own_property_descriptor (ecma_value_t this_arg __ ecma_string_t *name_str_p = ecma_get_string_from_value (name_str_value); // 3. - ecma_property_t *prop_p = ecma_op_general_object_get_own_property (obj_p, name_str_p); + ecma_property_t *prop_p = ecma_op_object_get_own_property (obj_p, name_str_p); if (prop_p != NULL) { diff --git a/tests/jerry/object_get_own_property_descriptor.js b/tests/jerry/object_get_own_property_descriptor.js index f75ea0cf67..a7014a5d18 100644 --- a/tests/jerry/object_get_own_property_descriptor.js +++ b/tests/jerry/object_get_own_property_descriptor.js @@ -70,3 +70,16 @@ assert (typeof(desc.set) === 'function'); assert (desc.configurable); assert (desc.enumerable); assert (obj.foo === 0) + +var array_desc = Object.getOwnPropertyDescriptor(Array, "prototype"); +assert (array_desc.configurable === false); +assert (array_desc.writable === false); +assert (array_desc.enumerable === false); + +var obj_undef; +try { + Object.getOwnPropertyDescriptor (obj_undef, "fail"); + assert (false); +} catch (e) { + assert (e instanceof TypeError); +}