Commit 4bc2b722 authored by JC Brand's avatar JC Brand

Fixed tests initialization (broken during recent refactor)

parent bde89135
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
} }
}(this, function ($, _, console) { }(this, function ($, _, console) {
var converse = {}; var converse = {};
converse.initialize = function (settings) { converse.initialize = function (settings, callback) {
// Default values // Default values
var converse = this; var converse = this;
this.animate = true; this.animate = true;
...@@ -54,6 +54,8 @@ ...@@ -54,6 +54,8 @@
this.prebind = false; this.prebind = false;
this.show_controlbox_by_default = false; this.show_controlbox_by_default = false;
this.xhr_user_search = false; this.xhr_user_search = false;
this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems!
this.callback = callback || function () {};
// Allow only the whitelisted settings attributes to be overwritten, // Allow only the whitelisted settings attributes to be overwritten,
// nothing else. // nothing else.
...@@ -68,7 +70,9 @@ ...@@ -68,7 +70,9 @@
'i18n', 'i18n',
'prebind', 'prebind',
'show_controlbox_by_default', 'show_controlbox_by_default',
'xhr_user_search' 'xhr_user_search',
'connection',
'testing'
]; ];
_.extend(this, _.pick(settings, whitelist)); _.extend(this, _.pick(settings, whitelist));
...@@ -216,10 +220,10 @@ ...@@ -216,10 +220,10 @@
.t('1'); .t('1');
converse.connection.sendIQ(iq, converse.connection.sendIQ(iq,
callback, callback,
function () { function () {
converse.log('Error while retrieving collections'); converse.log('Error while retrieving collections');
}); });
}; };
this.collections.getLastMessages = function (jid, callback) { this.collections.getLastMessages = function (jid, callback) {
...@@ -2635,7 +2639,7 @@ ...@@ -2635,7 +2639,7 @@
this.rosterview = new this.RosterView({'model':this.roster}); this.rosterview = new this.RosterView({'model':this.roster});
} }
this.onConnected = function (callback) { this.onConnected = function () {
if (this.debug) { if (this.debug) {
this.connection.xmlInput = function (body) { console.log(body); }; this.connection.xmlInput = function (body) { console.log(body); };
this.connection.xmlOutput = function (body) { console.log(body); }; this.connection.xmlOutput = function (body) { console.log(body); };
...@@ -2674,8 +2678,10 @@ ...@@ -2674,8 +2678,10 @@
this.windowState = e.type; this.windowState = e.type;
},this)); },this));
this.giveFeedback(__('Online Contacts')); this.giveFeedback(__('Online Contacts'));
if (callback) { if (this.testing) {
callback(this); this.callback(this);
} else {
this.callback();
} }
}, this)); }, this));
}; };
...@@ -2689,23 +2695,21 @@ ...@@ -2689,23 +2695,21 @@
e.preventDefault(); this.toggleControlBox(); e.preventDefault(); this.toggleControlBox();
}, this) }, this)
); );
if (this.prebind) { if ((this.prebind) && (!this.connection)) {
if (!this.connection) { if ((!this.jid) || (!this.sid) || (!this.rid) || (!this.bosh_service_url)) {
if ((!this.jid) || (!this.sid) || (!this.rid) || (!this.bosh_service_url)) { this.log('If you set prebind=true, you MUST supply JID, RID and SID values');
this.log('If you set prebind=true, you MUST supply JID, RID and SID values'); return;
return;
}
this.connection = new Strophe.Connection(this.bosh_service_url);
this.connection.attach(this.jid, this.sid, this.rid, this.onConnect);
} else {
this.onConnected();
} }
this.connection = new Strophe.Connection(this.bosh_service_url);
this.connection.attach(this.jid, this.sid, this.rid, this.onConnect);
} else if (this.connection) {
this.onConnected();
} }
if (this.show_controlbox_by_default) { this.showControlBox(); } if (this.show_controlbox_by_default) { this.showControlBox(); }
}; };
return { return {
'initialize': function (settings) { 'initialize': function (settings, callback) {
converse.initialize(settings); converse.initialize(settings, callback);
} }
}; };
})); }));
...@@ -68,36 +68,35 @@ require([ ...@@ -68,36 +68,35 @@ require([
prebind: false, prebind: false,
xhr_user_search: false, xhr_user_search: false,
auto_subscribe: false, auto_subscribe: false,
animate: false animate: false,
connection: mock_connection,
testing: true
}, function (converse) {
window.converse = converse;
require([
"jasmine-console-reporter",
"jasmine-junit-reporter",
"spec/MainSpec",
"spec/ChatRoomSpec"
], function () {
// Jasmine stuff
var jasmineEnv = jasmine.getEnv();
if (/PhantomJS/.test(navigator.userAgent)) {
jasmineEnv.addReporter(new jasmine.TrivialReporter());
jasmineEnv.addReporter(new jasmine.JUnitXmlReporter('./test-reports/'));
jasmineEnv.addReporter(new jasmine.ConsoleReporter());
jasmineEnv.updateInterval = 0;
} else {
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.addReporter(new jasmine.ConsoleReporter());
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
jasmineEnv.updateInterval = 200;
}
jasmineEnv.execute();
});
}); });
converse.onConnected(
function (converse) {
window.converse = converse;
require([
"jasmine-console-reporter",
"jasmine-junit-reporter",
"spec/MainSpec",
"spec/ChatRoomSpec"
], function () {
// Jasmine stuff
var jasmineEnv = jasmine.getEnv();
if (/PhantomJS/.test(navigator.userAgent)) {
jasmineEnv.addReporter(new jasmine.TrivialReporter());
jasmineEnv.addReporter(new jasmine.JUnitXmlReporter('./test-reports/'));
jasmineEnv.addReporter(new jasmine.ConsoleReporter());
jasmineEnv.updateInterval = 0;
} else {
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.addReporter(new jasmine.ConsoleReporter());
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
jasmineEnv.updateInterval = 200;
}
jasmineEnv.execute();
});
}
);
} }
); );
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment