summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Mooney <patrick.f.mooney@gmail.com>2014-09-17 13:54:24 -0500
committerTrevor Norris <trev.norris@gmail.com>2014-09-24 16:06:46 -0700
commitb26dd4e5ab9192bad72b9dc61fa4ad2d8f215da2 (patch)
treec81ede5617902a45de3d5503f8ada16b614fdf8e
parentefa47e593d0fe63127b39b5c0ef67ac534af5eb4 (diff)
downloadnode-b26dd4e5ab9192bad72b9dc61fa4ad2d8f215da2.tar.gz
net: Make server.connections un-enumerable
The property server.connections should no longer be enumerable because it has been deprecated. This will prevent deprecation warnings when server objects are accessed by functions such as JSON.stringify. Fixes: https://github.com/joyent/node/issues/8373 Reviewed-by: Trevor Norris <trev.norris@gmail.com>
-rw-r--r--lib/net.js2
-rw-r--r--test/simple/test-net-server-connections.js32
2 files changed, 33 insertions, 1 deletions
diff --git a/lib/net.js b/lib/net.js
index 478c04a1f..005f339c2 100644
--- a/lib/net.js
+++ b/lib/net.js
@@ -1016,7 +1016,7 @@ function Server(/* [ options, ] listener */) {
set: util.deprecate(function(val) {
return (self._connections = val);
}, 'connections property is deprecated. Use getConnections() method'),
- configurable: true, enumerable: true
+ configurable: true, enumerable: false
});
this._handle = null;
diff --git a/test/simple/test-net-server-connections.js b/test/simple/test-net-server-connections.js
new file mode 100644
index 000000000..423fcb8e3
--- /dev/null
+++ b/test/simple/test-net-server-connections.js
@@ -0,0 +1,32 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var common = require('../common');
+var assert = require('assert');
+
+var net = require('net');
+
+// test that server.connections property is no longer enumerable now that it
+// has been marked as deprecated
+
+var server = new net.Server();
+
+assert.equal(Object.keys(server).indexOf('connections'), -1);