Add getLastMessage() for easier key/value storing.
This commit is contained in:
@@ -228,6 +228,21 @@ Cosmopolite.prototype.getMessages = function(subject) {
|
|||||||
return this.subscriptions_[subjectString].messages;
|
return this.subscriptions_[subjectString].messages;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetch the most recent message for a subject
|
||||||
|
*
|
||||||
|
* @param {!string} subject Subject name
|
||||||
|
* @const
|
||||||
|
*/
|
||||||
|
Cosmopolite.prototype.getLastMessage = function(subject) {
|
||||||
|
var messages = this.getMessages(subject);
|
||||||
|
if (messages.length) {
|
||||||
|
return messages[messages.length - 1];
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch all current pins for a subject
|
* Fetch all current pins for a subject
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ test('getMessages/subscribe', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
asyncTest('subscribe barrier', function() {
|
asyncTest('subscribe barrier', function() {
|
||||||
expect(3);
|
expect(4);
|
||||||
|
|
||||||
var subject = randstring();
|
var subject = randstring();
|
||||||
var message = randstring();
|
var message = randstring();
|
||||||
@@ -254,6 +254,7 @@ asyncTest('subscribe barrier', function() {
|
|||||||
equal(cosmo.getMessages(subject).length, 1, 'one message');
|
equal(cosmo.getMessages(subject).length, 1, 'one message');
|
||||||
equal(cosmo.getMessages(subject)[0]['subject']['name'], subject, 'subject matches');
|
equal(cosmo.getMessages(subject)[0]['subject']['name'], subject, 'subject matches');
|
||||||
equal(cosmo.getMessages(subject)[0]['message'], message, 'message matches');
|
equal(cosmo.getMessages(subject)[0]['message'], message, 'message matches');
|
||||||
|
deepEqual(cosmo.getMessages(subject)[0], cosmo.getLastMessage(subject), 'getLastMessage works');
|
||||||
cosmo.shutdown();
|
cosmo.shutdown();
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user