Index: mojo/public/js/bindings/connection.js |
diff --git a/mojo/public/js/bindings/connection.js b/mojo/public/js/bindings/connection.js |
index 03bb76811ec0bd9bcf8a8f891e339cf1ae4ce4b1..31cf2aa28a12a6b90a1d6802fbd798fc1637a820 100644 |
--- a/mojo/public/js/bindings/connection.js |
+++ b/mojo/public/js/bindings/connection.js |
@@ -3,11 +3,15 @@ |
// found in the LICENSE file. |
define("mojo/public/js/bindings/connection", [ |
+ "mojo/public/js/bindings/connector", |
"mojo/public/js/bindings/router", |
-], function(router) { |
+], function(connector, router) { |
- function Connection(handle, localFactory, remoteFactory) { |
- this.router_ = new router.Router(handle); |
+ function Connection( |
+ handle, localFactory, remoteFactory, routerFactory, connectorFactory) { |
+ if (routerFactory === undefined) |
+ routerFactory = router.Router; |
+ this.router_ = new routerFactory(handle, connectorFactory); |
this.remote = new remoteFactory(this.router_); |
this.local = new localFactory(this.remote); |
this.router_.setIncomingReceiver(this.local); |
@@ -33,7 +37,21 @@ define("mojo/public/js/bindings/connection", [ |
return this.router_.encounteredError(); |
}; |
+ // The TestConnection subclass is only intended to be used in unit tests. |
+ |
+ function TestConnection(handle, localFactory, remoteFactory) { |
+ Connection.call(this, |
+ handle, |
+ localFactory, |
+ remoteFactory, |
+ router.TestRouter, |
+ connector.TestConnector); |
+ } |
+ |
+ TestConnection.prototype = Object.create(Connection.prototype); |
+ |
var exports = {}; |
exports.Connection = Connection; |
+ exports.TestConnection = TestConnection; |
return exports; |
}); |