Jasmine 2.0 spies

by bradleytrager

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/jasmine.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/jasmine.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/jasmine/2.0.0/jasmine-html.js"></script>

JavaScript

var myObj = {
    myFunction: function (myArg) {
        myArg.foo = "foo";
    }
};

describe('jasmine', function () {
    it('does not overwrite args for most recent call after function', function () {
        var mockArgs = {
            bar:'bar'
        };
        var mySpy = spyOn(myObj, 'myFunction').andCallThrough();
        myObj.myFunction(mockArgs);
        expect(mySpy).toHaveBeenCalledWith(mockArgs);
    });
});




(function () {
    var env = jasmine.getEnv();
    env.addReporter(new jasmine.HtmlReporter());
    env.execute();
}());