You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
mocha.setup('bdd');
 | 
						|
window.assert = chai.assert;
 | 
						|
window.PROTO_ROOT = '../protos';
 | 
						|
 | 
						|
(function() {
 | 
						|
  var OriginalReporter = mocha._reporter;
 | 
						|
 | 
						|
  var SauceReporter = function(runner) {
 | 
						|
    var failedTests = [];
 | 
						|
 | 
						|
    runner.on('end', function() {
 | 
						|
      window.mochaResults = runner.stats;
 | 
						|
      window.mochaResults.reports = failedTests;
 | 
						|
    });
 | 
						|
 | 
						|
    runner.on('fail', function(test, err) {
 | 
						|
      var flattenTitles = function(test) {
 | 
						|
        var titles = [];
 | 
						|
        while (test.parent.title) {
 | 
						|
          titles.push(test.parent.title);
 | 
						|
          test = test.parent;
 | 
						|
        }
 | 
						|
        return titles.reverse();
 | 
						|
      };
 | 
						|
      failedTests.push({
 | 
						|
        name: test.title,
 | 
						|
        result: false,
 | 
						|
        message: err.message,
 | 
						|
        stack: err.stack,
 | 
						|
        titles: flattenTitles(test),
 | 
						|
      });
 | 
						|
    });
 | 
						|
 | 
						|
    new OriginalReporter(runner);
 | 
						|
  };
 | 
						|
 | 
						|
  SauceReporter.prototype = OriginalReporter.prototype;
 | 
						|
 | 
						|
  mocha.reporter(SauceReporter);
 | 
						|
})();
 | 
						|
 | 
						|
// Override the database id.
 | 
						|
window.Whisper = window.Whisper || {};
 | 
						|
window.Whisper.Database = window.Whisper.Database || {};
 | 
						|
Whisper.Database.id = 'test';
 | 
						|
 | 
						|
/*
 | 
						|
 * global helpers for tests
 | 
						|
 */
 | 
						|
function assertEqualArrayBuffers(ab1, ab2) {
 | 
						|
  assert.deepEqual(new Uint8Array(ab1), new Uint8Array(ab2));
 | 
						|
}
 | 
						|
 | 
						|
function hexToArrayBuffer(str) {
 | 
						|
  var ret = new ArrayBuffer(str.length / 2);
 | 
						|
  var array = new Uint8Array(ret);
 | 
						|
  for (var i = 0; i < str.length / 2; i++) {
 | 
						|
    array[i] = parseInt(str.substr(i * 2, 2), 16);
 | 
						|
  }
 | 
						|
  return ret;
 | 
						|
}
 | 
						|
 | 
						|
/* Delete the database before running any tests */
 | 
						|
before(function(done) {
 | 
						|
  var idbReq = indexedDB.deleteDatabase('test');
 | 
						|
  idbReq.onsuccess = function() {
 | 
						|
    done();
 | 
						|
  };
 | 
						|
});
 | 
						|
 | 
						|
async function clearDatabase(done) {
 | 
						|
  await Signal.Migrations.Migrations0DatabaseWithAttachmentData.run({
 | 
						|
    Backbone,
 | 
						|
    databaseName: Whisper.Database.id,
 | 
						|
  });
 | 
						|
 | 
						|
  const convos = new Whisper.ConversationCollection();
 | 
						|
  await convos.fetch();
 | 
						|
  await convos.destroyAll();
 | 
						|
  const messages = new Whisper.MessageCollection();
 | 
						|
  await messages.fetch();
 | 
						|
  await messages.destroyAll();
 | 
						|
  if (done) {
 | 
						|
    done();
 | 
						|
  }
 | 
						|
}
 |