tests_main.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. require.config({
  2. paths: {
  3. "jquery": "components/jquery/jquery",
  4. "locales": "locale/locales",
  5. "jquery.tinysort": "components/tinysort/src/jquery.tinysort",
  6. "underscore": "components/underscore/underscore",
  7. "backbone": "components/backbone/backbone",
  8. "backbone.localStorage": "components/backbone.localStorage/backbone.localStorage",
  9. "strophe": "components/strophe/strophe",
  10. "strophe.muc": "components/strophe.muc/index",
  11. "strophe.roster": "components/strophe.roster/index",
  12. "strophe.vcard": "components/strophe.vcard/index",
  13. "strophe.disco": "components/strophe.disco/index",
  14. "otr": "components/otr/build/otr",
  15. "bigint": "components/otr/build/dep/bigint",
  16. "crypto": "components/otr/build/dep/crypto",
  17. "eventemitter": "components/otr/build/dep/eventemitter",
  18. "salsa20": "components/otr/build/dep/salsa20",
  19. "crypto.aes": "components/crypto-js/build/rollups/aes",
  20. // Extra test dependencies
  21. "jasmine": "components/jasmine/lib/jasmine-core/jasmine",
  22. "jasmine-html": "components/jasmine/lib/jasmine-core/jasmine-html",
  23. "jasmine-console-reporter": "node_modules/jasmine-reporters/src/jasmine.console_reporter",
  24. "jasmine-junit-reporter": "node_modules/jasmine-reporters/src/jasmine.junit_reporter"
  25. },
  26. // define module dependencies for modules not using define
  27. shim: {
  28. 'backbone': {
  29. //These script dependencies should be loaded before loading
  30. //backbone.js
  31. deps: [
  32. 'underscore',
  33. 'jquery'
  34. ],
  35. //Once loaded, use the global 'Backbone' as the
  36. //module value.
  37. exports: 'Backbone'
  38. },
  39. 'jquery.tinysort': { deps: ['jquery'] },
  40. 'strophe': { deps: ['jquery'] },
  41. 'underscore': { exports: '_' },
  42. 'strophe.muc': { deps: ['strophe', 'jquery'] },
  43. 'strophe.roster': { deps: ['strophe'] },
  44. 'strophe.vcard': { deps: ['strophe'] },
  45. 'strophe.disco': { deps: ['strophe'] },
  46. // Extra test dependencies
  47. 'jasmine-html': {
  48. deps: ['jasmine'],
  49. exports: 'jasmine'
  50. },
  51. 'jasmine-console-reporter': {
  52. deps: ['jasmine-html'],
  53. exports: 'jasmine'
  54. },
  55. 'jasmine-junit-reporter': {
  56. deps: ['jasmine-html'],
  57. exports: 'jasmine'
  58. }
  59. }
  60. });
  61. require([
  62. "jquery",
  63. "converse",
  64. "mock",
  65. "jasmine-html"
  66. ], function($, converse, mock_connection, jasmine) {
  67. // Set up converse.js
  68. window.localStorage.clear();
  69. converse.initialize({
  70. prebind: false,
  71. xhr_user_search: false,
  72. auto_subscribe: false,
  73. animate: false,
  74. connection: mock_connection,
  75. testing: true
  76. }, function (converse) {
  77. window.converse = converse;
  78. require([
  79. "jasmine-console-reporter",
  80. "jasmine-junit-reporter",
  81. "spec/MainSpec",
  82. "spec/ChatRoomSpec"
  83. ], function () {
  84. // Jasmine stuff
  85. var jasmineEnv = jasmine.getEnv();
  86. if (/PhantomJS/.test(navigator.userAgent)) {
  87. jasmineEnv.addReporter(new jasmine.TrivialReporter());
  88. jasmineEnv.addReporter(new jasmine.JUnitXmlReporter('./test-reports/'));
  89. jasmineEnv.addReporter(new jasmine.ConsoleReporter());
  90. jasmineEnv.updateInterval = 0;
  91. } else {
  92. var htmlReporter = new jasmine.HtmlReporter();
  93. jasmineEnv.addReporter(htmlReporter);
  94. jasmineEnv.addReporter(new jasmine.ConsoleReporter());
  95. jasmineEnv.specFilter = function(spec) {
  96. return htmlReporter.specFilter(spec);
  97. };
  98. jasmineEnv.updateInterval = 200;
  99. }
  100. jasmineEnv.execute();
  101. });
  102. });
  103. }
  104. );