diff --git a/src/record/anonymous-record.js b/src/record/anonymous-record.js index ce0a17df2..85550b8a4 100644 --- a/src/record/anonymous-record.js +++ b/src/record/anonymous-record.js @@ -119,6 +119,10 @@ AnonymousRecord.prototype.unsubscribe = function () { * @returns {void} */ AnonymousRecord.prototype.setName = function (recordName) { + if (this.name === recordName) { + return + } + this.name = recordName let i diff --git a/test-unit/unit/record/anonymous-recordSpec.js b/test-unit/unit/record/anonymous-recordSpec.js index 8d380f05a..561db3da2 100644 --- a/test-unit/unit/record/anonymous-recordSpec.js +++ b/test-unit/unit/record/anonymous-recordSpec.js @@ -41,6 +41,13 @@ describe('anonymous record allows switching of underlying records', () => { expect(recordHandler._connection.lastSendMessage).toBe(msg('R|CR|recordA+')) }) + it('does nothing if same name is set again', () => { + recordHandler._connection.lastSendMessage = null + anonymousRecord.setName('recordA') + expect(anonymousRecord.name).toBe('recordA') + expect(recordHandler._connection.lastSendMessage).toBe(null) + }) + it('updates subscriptions once the record is ready', () => { expect(firstnameCallback).not.toHaveBeenCalled() expect(generalCallback).not.toHaveBeenCalled()