chai.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*!
  2. * chai
  3. * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
  4. * MIT Licensed
  5. */
  6. var used = []
  7. , exports = module.exports = {};
  8. /*!
  9. * Chai version
  10. */
  11. exports.version = '2.2.0';
  12. /*!
  13. * Assertion Error
  14. */
  15. exports.AssertionError = require('assertion-error');
  16. /*!
  17. * Utils for plugins (not exported)
  18. */
  19. var util = require('./chai/utils');
  20. /**
  21. * # .use(function)
  22. *
  23. * Provides a way to extend the internals of Chai
  24. *
  25. * @param {Function}
  26. * @returns {this} for chaining
  27. * @api public
  28. */
  29. exports.use = function (fn) {
  30. if (!~used.indexOf(fn)) {
  31. fn(this, util);
  32. used.push(fn);
  33. }
  34. return this;
  35. };
  36. /*!
  37. * Utility Functions
  38. */
  39. exports.util = util;
  40. /*!
  41. * Configuration
  42. */
  43. var config = require('./chai/config');
  44. exports.config = config;
  45. /*!
  46. * Primary `Assertion` prototype
  47. */
  48. var assertion = require('./chai/assertion');
  49. exports.use(assertion);
  50. /*!
  51. * Core Assertions
  52. */
  53. var core = require('./chai/core/assertions');
  54. exports.use(core);
  55. /*!
  56. * Expect interface
  57. */
  58. var expect = require('./chai/interface/expect');
  59. exports.use(expect);
  60. exports.flag = require('./chai/utils/flag');