diff --git a/js/models/core/PublicKeyRing.js b/js/models/core/PublicKeyRing.js index 9a734e5ac..a16411a7b 100644 --- a/js/models/core/PublicKeyRing.js +++ b/js/models/core/PublicKeyRing.js @@ -42,9 +42,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(!(data instanceof PublicKeyRing), 'bad data format: Did you use .toObj()?'); + + var opts = PublicKeyRing.trim(data); // Support old indexes schema diff --git a/test/test.PublicKeyRing.js b/test/test.PublicKeyRing.js index 4fe8b0f5a..658c9a4de 100644 --- a/test/test.PublicKeyRing.js +++ b/test/test.PublicKeyRing.js @@ -434,6 +434,20 @@ 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 = {