diff --git a/lang/js/BrowserTestExtension/tests/KeyImportExport.js b/lang/js/BrowserTestExtension/tests/KeyImportExport.js index d2fa2d38..6d0ba106 100644 --- a/lang/js/BrowserTestExtension/tests/KeyImportExport.js +++ b/lang/js/BrowserTestExtension/tests/KeyImportExport.js @@ -71,10 +71,13 @@ describe('Key importing', function () { expect(result).to.be.an('array'); expect(result.length).to.equal(0); context.Keyring.importKey(pubKey).then(function(result){ - expect(result[0]).to.not.be.undefined; - expect(result[0].key).to.be.an('object'); - expect(result[0].key.fingerprint).to.equal(fpr); - expect(result[0].status).to.equal('newkey'); + expect(result.Keys).to.be.an('array'); + expect(result.Keys[0]).to.not.be.undefined; + expect(result.Keys[0].key).to.be.an('object'); + expect(result.Keys[0].key.fingerprint).to.equal(fpr); + expect(result.Keys[0].status).to.equal('newkey'); + expect(result.summary.considered).to.equal(1); + expect(result.summary.imported).to.equal(1); done(); }); }); @@ -83,15 +86,16 @@ describe('Key importing', function () { it('Updating Key', function(done){ context.Keyring.importKey(pubKey) .then(function(result){ - expect(result[0].key).to.not.be.undefined; - expect(result[0].status).to.equal('newkey'); + expect(result.Keys[0].key).to.not.be.undefined; + expect(result.Keys[0].status).to.equal('newkey'); context.Keyring.importKey(changedKey).then(function(res){ - expect(res[0].key).to.be.an('object'); - expect(res[0].key.fingerprint).to.equal(fpr); - expect(res[0].status).to.equal('change'); - expect(res[0].changes.userId).to.be.true; - expect(res[0].changes.subkey).to.be.false; - expect(res[0].changes.signature).to.be.true; + expect(res.Keys[0].key).to.be.an('object'); + expect(res.Keys[0].key.fingerprint).to.equal(fpr); + expect(res.Keys[0].status).to.equal('change'); + expect(res.Keys[0].changes.userId).to.be.true; + expect(res.Keys[0].changes.subkey).to.be.false; + expect(res.Keys[0].changes.signature).to.be.true; + expect(res.summary.considered).to.equal(1); done(); }); }); @@ -99,9 +103,9 @@ describe('Key importing', function () { it('Deleting Key', function(done) { context.Keyring.importKey(pubKey).then(function(result){ - expect(result[0].key).to.be.an('object'); - expect(result[0].key.fingerprint).to.equal(fpr); - result[0].key.delete().then(function(result){ + expect(result.Keys[0].key).to.be.an('object'); + expect(result.Keys[0].key.fingerprint).to.equal(fpr); + result.Keys[0].key.delete().then(function(result){ expect(result).to.be.true; done(); }); diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js index eb4f60f5..a6787986 100644 --- a/lang/js/src/Keyring.js +++ b/lang/js/src/Keyring.js @@ -274,6 +274,17 @@ export class GPGME_Keyring { msg.post().then(function(response){ let infos = {}; let fprs = []; + let summary = {}; + for (let i=0; i < feedbackValues.length; i++ ){ + summary[feedbackValues[i]] = + response.result[feedbackValues[i]]; + } + if (!response.result.hasOwnProperty('imports') || + response.result.imports.length === 0 + ){ + resolve({Keys:[],summary: summary}); + return; + } for (let res=0; res