tests_main.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. require.config({
  2. paths: {
  3. "jquery": "components/jquery/jquery",
  4. "locales": "locale/locales",
  5. "sjcl": "components/sjcl/sjcl",
  6. "tinysort": "components/tinysort/src/jquery.tinysort",
  7. "underscore": "components/underscore/underscore",
  8. "backbone": "components/backbone/backbone",
  9. "localstorage": "components/backbone.localStorage/backbone.localStorage",
  10. "strophe": "components/strophe/strophe",
  11. "strophe.muc": "components/strophe.muc/index",
  12. "strophe.roster": "components/strophe.roster/index",
  13. "strophe.vcard": "components/strophe.vcard/index",
  14. "strophe.disco": "components/strophe.disco/index",
  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. '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. "jasmine-console-reporter",
  62. "jasmine-junit-reporter",
  63. "spec/MainSpec",
  64. "spec/ChatRoomSpec"
  65. ], function($, converse, mock_connection, jasmine) {
  66. // Set up converse.js
  67. window.localStorage.clear();
  68. converse.initialize({
  69. prebind: false,
  70. xhr_user_search: false,
  71. auto_subscribe: false,
  72. animate: false
  73. });
  74. // Jasmine stuff
  75. var jasmineEnv = jasmine.getEnv();
  76. if (/PhantomJS/.test(navigator.userAgent)) {
  77. jasmineEnv.addReporter(new jasmine.TrivialReporter());
  78. jasmineEnv.addReporter(new jasmine.JUnitXmlReporter('./test-reports/'));
  79. jasmineEnv.addReporter(new jasmine.ConsoleReporter());
  80. jasmineEnv.updateInterval = 0;
  81. } else {
  82. var htmlReporter = new jasmine.HtmlReporter();
  83. jasmineEnv.addReporter(htmlReporter);
  84. jasmineEnv.addReporter(new jasmine.ConsoleReporter());
  85. jasmineEnv.specFilter = function(spec) {
  86. return htmlReporter.specFilter(spec);
  87. };
  88. jasmineEnv.updateInterval = 200;
  89. }
  90. converse.onConnected(mock_connection, $.proxy(jasmineEnv.execute, jasmineEnv));
  91. });