Add spec for remote setter not surfacing error
authorKevin Sawicki <kevinsawicki@gmail.com>
Mon, 3 Apr 2017 16:09:37 +0000 (09:09 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Mon, 3 Apr 2017 16:10:46 +0000 (09:10 -0700)
spec/api-ipc-spec.js
spec/fixtures/module/error-properties.js [new file with mode: 0644]

index 47f2eef21685cac94f325d54253c765ae8be4234..c5e38e83e4dbddfadc1cd1c099c1b4716a7179e1 100644 (file)
@@ -187,6 +187,18 @@ describe('ipc module', function () {
       property.property = 1127
     })
 
+    it('rethrows errors getting/setting properties', function () {
+      const foo = remote.require(path.join(fixtures, 'module', 'error-properties.js'))
+
+      assert.throws(function () {
+        foo.bar
+      }, /getting error/)
+
+      assert.throws(function () {
+        foo.bar = 'test'
+      }, /setting error/)
+    })
+
     it('can construct an object from its member', function () {
       var call = remote.require(path.join(fixtures, 'module', 'call.js'))
       var obj = new call.constructor()
diff --git a/spec/fixtures/module/error-properties.js b/spec/fixtures/module/error-properties.js
new file mode 100644 (file)
index 0000000..c3a1e3b
--- /dev/null
@@ -0,0 +1,11 @@
+class Foo {
+  set bar (value) {
+    throw new Error('setting error')
+  }
+
+  get bar () {
+    throw new Error('getting error')
+  }
+}
+
+module.exports = new Foo()