spec/lib/jspec.js
function(a, b) {
       if (typeof a != typeof b) return
       if (a === b) return true
       if (a instanceof RegExp)
         return a.toString() === b.toString()
       if (a instanceof Date)
         return Number(a) === Number(b)
       if (typeof a != 'object') return
       if (a.length !== undefined)
         if (a.length !== b.length) return
         else
           for (var i = 0, len = a.length; i < len; ++i)
             if (!equal(a[i], b[i]))
               return
       for (var key in a)
         if (!equal(a[key], b[key]))
           return
       return true
     }
function(a, b) {
       if (typeof a != typeof b) return
       if (a === b) return true
       if (a instanceof RegExp)
         return a.toString() === b.toString()
       if (a instanceof Date)
         return Number(a) === Number(b)
       if (typeof a != 'object') return
       if (a.length !== undefined)
         if (a.length !== b.length) return
         else
           for (var i = 0, len = a.length; i < len; ++i)
             if (!equal(a[i], b[i]))
               return
       for (var key in a)
         if (!equal(a[key], b[key]))
           return
       return true
     }
function ( a , b ) { if ( typeof a != typeof b ) return if ( a === b ) return true if ( a instanceof RegExp ) return a . toString ( ) === b . toString ( ) if ( a instanceof Date ) return Number ( a ) === Number ( b ) if ( typeof a != 'object' ) return if ( a . length !== undefined ) if ( a . length !== b . length ) return else for ( var i = 0 , len = a . length ; i < len ; ++ i ) if ( ! equal ( a [ i ] , b [ i ] ) ) return for ( var key in a ) if ( ! equal ( a [ key ] , b [ key ] ) ) return return true }
Check if object _a_, is equal to object _b_.

@param  {object} a
@param  {object} b
@return {bool}
@api private
Check if object _a_ is equal to object _b_ .