tests_main.js 3.7 KB

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