lib/assertion.js
function(expr) {
    if (expr) {
      return this;
    }

    var params = this.params;

    if ("obj" in params && !("actual" in params)) {
      params.actual = params.obj;
    } else if (!("obj" in params) && !("actual" in params)) {
      params.actual = this.obj;
    }

    params.stackStartFunction = params.stackStartFunction || this.assert;
    params.negate = this.negate;

    params.assertion = this;

    if (this.light) {
      throw new LightAssertionError(params);
    } else {
      throw new AssertionError(params);
    }
  }
function(expr) {
    if (expr) {
      return this;
    }

    var params = this.params;

    if ("obj" in params && !("actual" in params)) {
      params.actual = params.obj;
    } else if (!("obj" in params) && !("actual" in params)) {
      params.actual = this.obj;
    }

    params.stackStartFunction = params.stackStartFunction || this.assert;
    params.negate = this.negate;

    params.assertion = this;

    if (this.light) {
      throw new LightAssertionError(params);
    } else {
      throw new AssertionError(params);
    }
  }
function ( expr ) { if ( expr ) { return this ; } var params = this . params ; if ( "obj" in params && ! ( "actual" in params ) ) { params . actual = params . obj ; } else if ( ! ( "obj" in params ) && ! ( "actual" in params ) ) { params . actual = this . obj ; } params . stackStartFunction = params . stackStartFunction || this . assert ; params . negate = this . negate ; params . assertion = this ; if ( this . light ) { throw new LightAssertionError ( params ) ; } else { throw new AssertionError ( params ) ; } }
Base method for assertions.

Before calling this method need to fill Assertion#params object. This method usually called from other assertion methods.
`Assertion#params` can contain such properties:
* `operator` - required string containing description of this assertion
* `obj` - optional replacement for this.obj, it is useful if you prepare more clear object then given
* `message` - if this property filled with string any others will be ignored and this one used as assertion message
* `expected` - any object used when you need to assert relation between given object and expected. Like given == expected (== is a relation)
* `details` - additional string with details to generated message

@memberOf Assertion
@category assertion
@param {*} expr Any expression that will be used as a condition for asserting.
@example

var a = new should.Assertion(42);

a.params = {
operator: 'to be magic number',
}

a.assert(false);
//throws AssertionError: expected 42 to be magic number
Base method for assertions .