_test.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. mocha.setup("bdd");
  2. window.assert = chai.assert;
  3. (function() {
  4. var OriginalReporter = mocha._reporter;
  5. var SauceReporter = function(runner) {
  6. var failedTests = [];
  7. runner.on('end', function() {
  8. window.mochaResults = runner.stats;
  9. window.mochaResults.reports = failedTests;
  10. });
  11. runner.on('fail', function(test, err) {
  12. var flattenTitles = function(test) {
  13. var titles = [];
  14. while (test.parent.title) {
  15. titles.push(test.parent.title);
  16. test = test.parent;
  17. }
  18. return titles.reverse();
  19. };
  20. failedTests.push({
  21. name: test.title,
  22. result: false,
  23. message: err.message,
  24. stack: err.stack,
  25. titles: flattenTitles(test)
  26. });
  27. });
  28. new OriginalReporter(runner);
  29. };
  30. SauceReporter.prototype = OriginalReporter.prototype;
  31. mocha.reporter(SauceReporter);
  32. }());
  33. /*
  34. * global helpers for tests
  35. */
  36. function assertEqualArrayBuffers(ab1, ab2) {
  37. assert.deepEqual(new Uint8Array(ab1), new Uint8Array(ab2));
  38. };
  39. function hexToArrayBuffer(str) {
  40. var ret = new ArrayBuffer(str.length / 2);
  41. var array = new Uint8Array(ret);
  42. for (var i = 0; i < str.length/2; i++)
  43. array[i] = parseInt(str.substr(i*2, 2), 16);
  44. return ret;
  45. };