tests_main.js 3.8 KB

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