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.
		
		
		
		
		
			
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
/*
 | 
						|
 * vim: ts=4:sw=4:expandtab
 | 
						|
 */
 | 
						|
mocha.setup("bdd");
 | 
						|
window.assert = chai.assert;
 | 
						|
 | 
						|
(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(); };
 | 
						|
});
 | 
						|
 | 
						|
function clearDatabase(done) {
 | 
						|
    var convos = new Whisper.ConversationCollection();
 | 
						|
    return convos.fetch().then(function() {
 | 
						|
        convos.destroyAll().then(function() {
 | 
						|
            var messages = new Whisper.MessageCollection();
 | 
						|
            return messages.fetch().then(function() {
 | 
						|
                messages.destroyAll().then(function() {
 | 
						|
                    if (done) {
 | 
						|
                      done();
 | 
						|
                    }
 | 
						|
                });
 | 
						|
            });
 | 
						|
        });
 | 
						|
    });
 | 
						|
}
 |