More hogfather structure.

This commit is contained in:
Ian Gulliver
2015-12-24 15:12:25 -08:00
parent 6e879ce1d5
commit b90d3d7b44
2 changed files with 22 additions and 9 deletions

View File

@@ -21,13 +21,22 @@
* @constructor
* @param {Cosmopolite} cosmo
* @param {string} name
* @param {function()} onReady
*/
var Hogfather = function(cosmo, name, onReady) {
cosmo.getProfile().then(function(profile_id) {
this.prefix_ = '/hogfather/' + profile_id + '/' + name + '/';
onReady();
}.bind(this));
var Hogfather = function(cosmo, name) {
this.cosmo_ = cosmo;
this.name_ = name;
this.cosmo_.getProfile().then(this.onProfile_.bind(this));
};
/**
* @param {string} profile_id
*/
Hogfather.prototype.onProfile_ = function(profile_id) {
this.prefix_ = '/hogfather/' + profile_id + '/' + this.name_ + '/';
this.cosmo_.subscribe(this.prefix_ + 'control');
console.log(this.prefix_);
};

View File

@@ -949,10 +949,14 @@ QUnit.module('Hogfather');
QUnit.asyncTest('Construct/shutdown', function(assert) {
assert.expect(4);
var cosmo = new Cosmopolite(null, randstring());
assert.ok(true, 'new Cosmopolite() succeeds');
var hogfather = new Hogfather(cosmo, randstring(), function() {
var hogfather = new Hogfather(cosmo, randstring());
assert.ok(true, 'new Hogfather()) succeeds');
window.setTimeout(function() {
hogfather.shutdown();
assert.ok(true, 'Hogfather.shutdown() succeeds');
@@ -960,6 +964,6 @@ QUnit.asyncTest('Construct/shutdown', function(assert) {
assert.ok(true, 'Cosmopolite.shutdown() succeeds');
QUnit.start();
});
assert.ok(true, 'new Hogfather()) succeeds');
}, 10 * 1000);
});