helper.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. (function(root, factory){
  2. 'use strict';
  3. var define = root.define;
  4. // CommonJS
  5. if (typeof exports === 'object'){
  6. module.exports = factory();
  7. // AMD
  8. } else if (typeof define === 'function' && define.amd){
  9. define(factory);
  10. // Browser
  11. } else {
  12. root.TestHelper = factory();
  13. }
  14. }( ( typeof window === 'object' && window ) || this, function(){
  15. 'use strict';
  16. var TestHelper = {},
  17. assert = require('referee').assert;
  18. // helps us make sure that the order of the tests have no impact on their succes
  19. function getUniqueString(){
  20. if ( getUniqueString.uid === undefined ){
  21. getUniqueString.uid = 0;
  22. }
  23. getUniqueString.uid++;
  24. return 'my unique String number ' + getUniqueString.uid.toString();
  25. }
  26. // makes sure that all tokens in the passed array are different
  27. function assertAllTokensDifferent( tokens ){
  28. var length = tokens.length,
  29. j, k;
  30. assert( tokens.length > 0 );
  31. // compare all tokens
  32. for ( j = 0; j < length; j++ ){
  33. for ( k = j + 1; k < length; k++ ){
  34. assert( tokens[j] !== tokens[k] );
  35. }
  36. }
  37. // make sure we actually tested something
  38. assert.equals( j, length );
  39. assert.equals( k, length );
  40. }
  41. TestHelper.getUniqueString = getUniqueString;
  42. TestHelper.assertAllTokensDifferent = assertAllTokensDifferent;
  43. return TestHelper;
  44. }));