From af9ce3b8257d9b654aea657c9c54ec803c8f0741 Mon Sep 17 00:00:00 2001 From: Michael Ira Krufky Date: Fri, 25 May 2018 15:26:17 -0400 Subject: [PATCH 1/3] Fix bugs in named interceptor test. Copied, more or less, from commit 946377f194e3aaf2aeb5141fa38768f5ca56734a Returning a string in the enumerator was never allowed but wasn't enforced until recently. In Node.js 10, it hits a CHECK in V8. --- test/cpp/namedinterceptors.cpp | 2 +- test/js/namedinterceptors-test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/namedinterceptors.cpp b/test/cpp/namedinterceptors.cpp index 529aa4fd..ce3a4842 100644 --- a/test/cpp/namedinterceptors.cpp +++ b/test/cpp/namedinterceptors.cpp @@ -96,7 +96,7 @@ NAN_PROPERTY_SETTER(NamedInterceptor::PropertySetter) { NAN_PROPERTY_ENUMERATOR(NamedInterceptor::PropertyEnumerator) { v8::Local arr = Nan::New(); - Set(arr, 0, Nan::New("value").ToLocalChecked()); + Set(arr, 0, Nan::New(57)); info.GetReturnValue().Set(arr); } diff --git a/test/js/namedinterceptors-test.js b/test/js/namedinterceptors-test.js index ef3d7ac7..2e155c4f 100644 --- a/test/js/namedinterceptors-test.js +++ b/test/js/namedinterceptors-test.js @@ -19,5 +19,5 @@ test('namedinterceptors', function (t) { delete interceptor.something; t.equal(interceptor.prop, 'goober'); t.ok(Object.prototype.hasOwnProperty.call(interceptor, "thing")); - t.ok(Object.keys(interceptor)[0] === 'value'); + t.ok(Object.keys(interceptor)[0] === '57'); }); From 84c10c523500bbc59b0892524174f93ad4d3cd4b Mon Sep 17 00:00:00 2001 From: Michael Ira Krufky Date: Fri, 25 May 2018 21:48:30 -0400 Subject: [PATCH 2/3] Revert "Fix bugs in named interceptor test." This reverts commit af9ce3b8257d9b654aea657c9c54ec803c8f0741. --- test/cpp/namedinterceptors.cpp | 2 +- test/js/namedinterceptors-test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/namedinterceptors.cpp b/test/cpp/namedinterceptors.cpp index fe8b3f20..7eb44f56 100644 --- a/test/cpp/namedinterceptors.cpp +++ b/test/cpp/namedinterceptors.cpp @@ -96,7 +96,7 @@ NAN_PROPERTY_SETTER(NamedInterceptor::PropertySetter) { NAN_PROPERTY_ENUMERATOR(NamedInterceptor::PropertyEnumerator) { v8::Local arr = Nan::New(); - Set(arr, 0, Nan::New(57)); + Set(arr, 0, Nan::New("value").ToLocalChecked()); info.GetReturnValue().Set(arr); } diff --git a/test/js/namedinterceptors-test.js b/test/js/namedinterceptors-test.js index 2e155c4f..ef3d7ac7 100644 --- a/test/js/namedinterceptors-test.js +++ b/test/js/namedinterceptors-test.js @@ -19,5 +19,5 @@ test('namedinterceptors', function (t) { delete interceptor.something; t.equal(interceptor.prop, 'goober'); t.ok(Object.prototype.hasOwnProperty.call(interceptor, "thing")); - t.ok(Object.keys(interceptor)[0] === '57'); + t.ok(Object.keys(interceptor)[0] === 'value'); }); From 3497742b02bf6d7774f3e7461614a137746af541 Mon Sep 17 00:00:00 2001 From: Michael Ira Krufky Date: Fri, 25 May 2018 22:45:16 -0400 Subject: [PATCH 3/3] trying with Strings... --- test/cpp/namedinterceptors.cpp | 2 +- test/js/namedinterceptors-test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/namedinterceptors.cpp b/test/cpp/namedinterceptors.cpp index 7eb44f56..3cfb583a 100644 --- a/test/cpp/namedinterceptors.cpp +++ b/test/cpp/namedinterceptors.cpp @@ -96,7 +96,7 @@ NAN_PROPERTY_SETTER(NamedInterceptor::PropertySetter) { NAN_PROPERTY_ENUMERATOR(NamedInterceptor::PropertyEnumerator) { v8::Local arr = Nan::New(); - Set(arr, 0, Nan::New("value").ToLocalChecked()); + Set(arr, Nan::New("zero").ToLocalChecked(), Nan::New("value").ToLocalChecked()); info.GetReturnValue().Set(arr); } diff --git a/test/js/namedinterceptors-test.js b/test/js/namedinterceptors-test.js index ef3d7ac7..0826ee7a 100644 --- a/test/js/namedinterceptors-test.js +++ b/test/js/namedinterceptors-test.js @@ -19,5 +19,5 @@ test('namedinterceptors', function (t) { delete interceptor.something; t.equal(interceptor.prop, 'goober'); t.ok(Object.prototype.hasOwnProperty.call(interceptor, "thing")); - t.ok(Object.keys(interceptor)[0] === 'value'); + t.ok(Object.keys(interceptor)['zero'] === 'value'); });