]> git.kaiwu.me - njs.git/commitdiff
Fixed NativeError.prototype.message properties.
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 24 Oct 2019 13:17:17 +0000 (16:17 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 24 Oct 2019 13:17:17 +0000 (16:17 +0300)
src/njs_error.c
src/test/njs_unit_test.c
test/njs_expect_test.exp

index 9baa9b83a878badb7bb3f31b82010942026606a0..bcda87027c30dfac69e2607449620a0ab6aee368 100644 (file)
@@ -778,6 +778,14 @@ static const njs_object_prop_t  njs_eval_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY_HANDLER,
         .name = njs_string("constructor"),
@@ -825,6 +833,14 @@ static const njs_object_prop_t  njs_internal_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY,
         .name = njs_string("toString"),
@@ -852,6 +868,14 @@ static const njs_object_prop_t  njs_range_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY_HANDLER,
         .name = njs_string("constructor"),
@@ -879,6 +903,14 @@ static const njs_object_prop_t  njs_reference_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY_HANDLER,
         .name = njs_string("constructor"),
@@ -906,6 +938,14 @@ static const njs_object_prop_t  njs_syntax_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY_HANDLER,
         .name = njs_string("constructor"),
@@ -933,6 +973,14 @@ static const njs_object_prop_t  njs_type_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY_HANDLER,
         .name = njs_string("constructor"),
@@ -960,6 +1008,14 @@ static const njs_object_prop_t  njs_uri_error_prototype_properties[] =
         .configurable = 1,
     },
 
+    {
+        .type = NJS_PROPERTY,
+        .name = njs_string("message"),
+        .value = njs_string(""),
+        .writable = 1,
+        .configurable = 1,
+    },
+
     {
         .type = NJS_PROPERTY,
         .name = njs_string("name"),
index 9c67131da2557a1a4df18b51e2d188b181f6c3e2..abbaf47b816a4b50b080d0180b6db68c13d9aabc 100644 (file)
@@ -8710,11 +8710,13 @@ static njs_unit_test_t  njs_test[] =
         "   var name2 = (inst = e('e'), inst.name = 'E', inst.toString() === 'E: e');"
         "   var name3 = (inst = e('e'), inst.name = '', inst.toString() === 'e');"
         "   var name4 = e().toString() === `${e.prototype.name}`;"
+        "   var name_prop = Object.getOwnPropertyDescriptor(e.prototype, 'message');"
+        "   name_prop = name_prop.writable && !name_prop.enumerable && name_prop.configurable;"
         "   var own_proto_ctor = e.prototype.hasOwnProperty('constructor');"
         ""
         "   return proto && proto2 && iproto && iproto2 "
         "          && tpof && ctor && msg && name && name2 && name3 && name4 "
-        "          && own_proto_ctor;"
+        "          && name_prop && own_proto_ctor;"
         "};"
         "["
         "  EvalError,"
index 093b512554d0e2761ee283d75ad930c0e5d059f9..2587f5664065d0086163293ea2f500a5529fd75a 100644 (file)
@@ -766,6 +766,9 @@ njs_test {
      "Error: loading exception\r\n    at module \\(loading_exception.js:1\\)"}
     {"import lib3 from 'lib1.js'\r\n"
      "undefined\r\n"}
+} "-p test/module/"
+
+njs_test {
     {"import m from 'export_name.js'\r\n"
      "undefined\r\n"}
     {"m.prod(3,4)\r\n"