From bc13536208444c0d117ab1cb4cca76f6ff2b1cce Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 14 Sep 2016 10:43:55 -0700 Subject: [PATCH] Add failing spec for missing remote properties --- spec/api-ipc-spec.js | 4 ++++ .../module/function-with-missing-properties.js | 11 +++++++++++ 2 files changed, 15 insertions(+) create mode 100644 spec/fixtures/module/function-with-missing-properties.js diff --git a/spec/api-ipc-spec.js b/spec/api-ipc-spec.js index b13600160abb..1580573beb2b 100644 --- a/spec/api-ipc-spec.js +++ b/spec/api-ipc-spec.js @@ -69,6 +69,10 @@ describe('ipc module', function () { assert.ok(Object.keys(a.foo).includes('bar')) assert.ok(Object.keys(a.foo).includes('nested')) assert.ok(Object.keys(a.foo).includes('method1')) + + a = remote.require(path.join(fixtures, 'module', 'function-with-missing-properties.js')) + assert.equal(a.bar(), true) + assert.equal(typeof a.bar.baz, 'function') }) it('should work with static class members', function () { diff --git a/spec/fixtures/module/function-with-missing-properties.js b/spec/fixtures/module/function-with-missing-properties.js new file mode 100644 index 000000000000..b88e3397b265 --- /dev/null +++ b/spec/fixtures/module/function-with-missing-properties.js @@ -0,0 +1,11 @@ +const foo = {} + +foo.bar = function () { + return delete foo.bar.baz && delete foo.bar +} + +foo.bar.baz = function () { + return 3 +} + +module.exports = foo