diff --git a/js/models/core/PublicKeyRing.js b/js/models/core/PublicKeyRing.js index b86f18277..1d0537a09 100644 --- a/js/models/core/PublicKeyRing.js +++ b/js/models/core/PublicKeyRing.js @@ -43,9 +43,9 @@ PublicKeyRing.trim = function(data) { }; PublicKeyRing.fromObj = function(data) { - if (data instanceof PublicKeyRing) { - throw new Error('bad data format: Did you use .toObj()?'); - } + preconditions.checkArgument(typeof data !== 'PublicKeyRing'); + + var opts = PublicKeyRing.trim(data); // Support old indexes schema diff --git a/test/test.PublicKeyRing.js b/test/test.PublicKeyRing.js index 4fe8b0f5a..3adfa5231 100644 --- a/test/test.PublicKeyRing.js +++ b/test/test.PublicKeyRing.js @@ -434,6 +434,21 @@ describe('PublicKeyRing model', function() { w.nicknameForIndex(4).should.equal('juan1'); }); + it('#fromObj with error', function() { + + var config = { + networkName: 'livenet', + }; + var pkr = new PublicKeyRing(config); + + + (function () + { + PublicKeyRing.fromObj(pkr); + } + ).should.throw('bad data format: Did you use .toObj()?'); + }); + it('#toObj #fromObj with nickname', function() { var config = {