aboutsummaryrefslogtreecommitdiffstats
path: root/lang/js/BrowserTestExtension/tests/encryptDecryptTest.js
diff options
context:
space:
mode:
Diffstat (limited to 'lang/js/BrowserTestExtension/tests/encryptDecryptTest.js')
-rw-r--r--lang/js/BrowserTestExtension/tests/encryptDecryptTest.js191
1 files changed, 39 insertions, 152 deletions
diff --git a/lang/js/BrowserTestExtension/tests/encryptDecryptTest.js b/lang/js/BrowserTestExtension/tests/encryptDecryptTest.js
index e28dd66b..a66e1534 100644
--- a/lang/js/BrowserTestExtension/tests/encryptDecryptTest.js
+++ b/lang/js/BrowserTestExtension/tests/encryptDecryptTest.js
@@ -19,7 +19,7 @@
*/
describe('Encryption and Decryption', function () {
- it('Successful encrypt and decrypt', function (done) {
+ it('Successful encrypt and decrypt simple string', function (done) {
let prm = Gpgmejs.init();
prm.then(function (context) {
context.encrypt(
@@ -39,54 +39,6 @@ describe('Encryption and Decryption', function () {
});
});
});
-
- /**
- * Fails with random data! Some bytes (up to 100) of the original are missing in
- * the result
-*/
-/**
- for (let j = 0; j < 10; j++){
- it('Successful encrypt and decrypt specific sets: ',
- function (done) {
- let prm = Gpgmejs.init();
- let data = bigBoringString(5); //see ./inputvalues.js
- expect(Object.prototype.toString.call(data)).to.equal("[object String]");
- prm.then(function (context) {
- context.encrypt(data,
- inputvalues.encrypt.good.fingerprint).then(
- function (answer) {
- expect(answer).to.not.be.empty;
- expect(answer.data).to.be.a("string");
- expect(answer.data).to.include(
- 'BEGIN PGP MESSAGE');
- expect(answer.data).to.include(
- 'END PGP MESSAGE');
- context.decrypt(answer.data).then(
- function (result) {
- if (data.length !== result.data.length) {
-
- for (let k = 0; k < data.length; k++) {
- if (data[k] !== result.data[k]) {
- console.log(k);
- console.log(data[k - 2] + data[k - 1] + data[k] + data[k + 1]);
- console.log(result.data[k - 2] + result.data[k - 1] + result.data[k] + result.data[k + 1]);
- break;
- }
- }
- }
- expect(result).to.not.be.empty;
- expect(result.data).to.be.a('string');
- expect(result.data).to.equal(data);
- context.connection.disconnect();
- done();
-
- });
- });
- });
- }).timeout(5000);
- }
-
-
it('Roundtrip does not destroy trailing whitespace',
function (done) {
let prm = Gpgmejs.init();
@@ -112,88 +64,22 @@ describe('Encryption and Decryption', function () {
});
});
});
- }).timeout(3000);
-
- it('Test with simple non-ascii input',
- function (done) {
- let prm = Gpgmejs.init();
- prm.then(function (context) {
- let data = '';
- for (let i=0; i < 1024 * 1024 * 0.1; i++){
- data += inputvalues.encrypt.good.data_nonascii;
- }
- context.encrypt(data,
- inputvalues.encrypt.good.fingerprint).then(
- function (answer) {
- expect(answer).to.not.be.empty;
- expect(answer.data).to.be.a("string");
- expect(answer.data).to.include(
- 'BEGIN PGP MESSAGE');
- expect(answer.data).to.include(
- 'END PGP MESSAGE');
- console.log(answer);
- context.decrypt(answer.data).then(
- function (result) {
- expect(result).to.not.be.empty;
- expect(result.data).to.be.a('string');
- if (data.length !== result.data.length) {
-
- for (let k = 0; k < data.length; k++) {
- if (data[k] !== result.data[k]) {
- console.log(k);
- console.log(data[k - 2] + data[k - 1] + data[k] + data[k + 1]);
- console.log(result.data[k - 2] + result.data[k - 1] + result.data[k] + result.data[k + 1]);
- break;
- }
- }
- }
- console.log(data.length - result.data.length);
- expect(result.data).to.equal(data);
- context.connection.disconnect();
- done();
+ }).timeout(5000);
- });
- });
- });
- }).timeout(3000);
-*/
-/**
- for (let i=0; i< 100; i++) {
- it('Successful encrypt random data '+ (i+1) + '/100', function (done) {
- let prm = Gpgmejs.init();
- let data = bigString(0.2); // << set source data here
+ for (let j = 0; j < inputvalues.encrypt.good.data_nonascii_32.length; j++){
+ it('Roundtrip with >1MB non-ascii input meeting default chunksize (' + (j + 1) + '/' + inputvalues.encrypt.good.data_nonascii_32.length + ')',
+ function (done) {
+ let input = inputvalues.encrypt.good.data_nonascii_32[j];
+ expect(input).to.have.length(32);
+ let prm = Gpgmejs.init();
prm.then(function (context) {
+ let data = '';
+ for (let i=0; i < 34 * 1024; i++){
+ data += input;
+ }
context.encrypt(data,
inputvalues.encrypt.good.fingerprint).then(
- function (answer){
- expect(answer).to.not.be.empty;
- expect(answer.data).to.be.a("string");
- expect(answer.data).to.include(
- 'BEGIN PGP MESSAGE');
- expect(answer.data).to.include(
- 'END PGP MESSAGE');
- context.decrypt(answer.data).then(
- function(result){
- expect(result).to.not.be.empty;
- expect(result.data).to.be.a('string');
- expect(result.data).to.equal(data);
- context.connection.disconnect();
- done();
- });
- });
- });
- }).timeout(5000);
- };
-*/
-
-/** still fails
- it('Successful encrypt 0.8 MB Uint8Array', function (done) {
- let prm = Gpgmejs.init();
- let data = bigUint8(0.8);
- prm.then(function (context) {
- context.encrypt(data,
- inputvalues.encrypt.good.fingerprint).then(
- function (answer){
+ function (answer) {
expect(answer).to.not.be.empty;
expect(answer.data).to.be.a("string");
expect(answer.data).to.include(
@@ -201,38 +87,39 @@ describe('Encryption and Decryption', function () {
expect(answer.data).to.include(
'END PGP MESSAGE');
context.decrypt(answer.data).then(
- function(result){
+ function (result) {
expect(result).to.not.be.empty;
expect(result.data).to.be.a('string');
expect(result.data).to.equal(data);
- done();
- });
- });
- });
- }).timeout(5000);
-*/
-
- it('Decrypt simple non-ascii',
- function (done) {
- let prm = Gpgmejs.init();
- prm.then(function (context) {
- data = encryptedData;
- context.decrypt(data).then(
- function (result) {
- expect(result).to.not.be.empty;
- expect(result.data).to.be.a('string');
- expect(result.data).to.equal(inputvalues.encrypt.good.data_nonascii);
- context.encrypt(inputvalues.encrypt.good.data_nonascii, inputvalues.encrypt.good.fingerprint).then(
- function(result){
- context.decrypt(result.data).then(function(answer){
- expect(answer.data).to.equal(inputvalues.encrypt.good.data_nonascii);
context.connection.disconnect();
done();
});
+ });
+ });
+ }).timeout(5000);
+ };
+
+ it('Encrypt-decrypt simple non-ascii', function (done) {
+ //FAILS TODO: Check newline at the end
+ let prm = Gpgmejs.init();
+ prm.then(function (context) {
+ data = encryptedData;
+ context.decrypt(data).then(
+ function (result) {
+ expect(result).to.not.be.empty;
+ expect(result.data).to.be.a('string');
+ expect(result.data).to.equal(inputvalues.encrypt.good.data_nonascii);
+ context.encrypt(inputvalues.encrypt.good.data_nonascii, inputvalues.encrypt.good.fingerprint).then(
+ function(result){
+ context.decrypt(result.data).then(function(answer){
+ expect(answer.data).to.equal('¡Äußerste µ€ før ñoquis@hóme! Добрый день');
+ context.connection.disconnect();
+ done();
});
});
+ });
- });
- }).timeout(8000);
+ });
+ }).timeout(6000);
-}); \ No newline at end of file
+});