index.js
function (spec) {
    spec.addMatchers({
      /**
       * Array contains all elements of another array
       * @param needles another array
       * @returns {Boolean} true/false
       */
      toContainAll: function(needles) {
        var haystack = this.actual;
        return needles.every(function (elem) {
          return haystack.some(function (sackElem) {
            return spec.env.equals_(elem, sackElem);
          });
        });
      }
    });
  }
function (spec) {
    spec.addMatchers({
      /**
       * Array contains all elements of another array
       * @param needles another array
       * @returns {Boolean} true/false
       */
      toContainAll: function(needles) {
        var haystack = this.actual;
        return needles.every(function (elem) {
          return haystack.some(function (sackElem) {
            return spec.env.equals_(elem, sackElem);
          });
        });
      }
    });
  }
function ( spec ) { spec . addMatchers ( { /**
       * Array contains all elements of another array
       * @param needles another array
       * @returns {Boolean} true/false
       */ toContainAll : function ( needles ) { var haystack = this . actual ; return needles . every ( function ( elem ) { return haystack . some ( function ( sackElem ) { return spec . env . equals_ ( elem , sackElem ) ; } ) ; } ) ; } } ) ; }
call this in beforeEach method to add more available matchers
@param spec "this" within spec
call this in beforeEach method to add more available matchers