moll/js-must — pull request #5 by koresar (2013-12-10 05:45:45+00:00)
Title: Enable demand(function(){.....}).throw() scenarios when ctx is necessary

Examine the following scenario:

```js
function MyClass() {
this.variable = 'not initialized';
function myFunction() {
if (this.variable === 'not initialized') {
throw new Error('Tried using uninitialized MyClass');
}
}
}

var myObject = new MyClass();
myObject.myFunction.must.throw(Error, /uninitialized/);
```

Clearly, the exception containing 'uninitialized' must be thrown, but instead I get different exception saying "null doesn't have 'variable' property". That is because ``` this.actual.call(null)``` uses ```null``` as the context.

By passing ```this.actual``` as the context the fix enables the following testing syntax:
```js
var myObject = new MyClass();
demand(function() { myObject.myFunction() }).must.throw(Error, /uninitialized/);
```