From 3bf43903397c703aa2e9ba1e1a48dbc9e8286ee2 Mon Sep 17 00:00:00 2001 From: Wes Alvaro Date: Mon, 3 Feb 2014 16:53:52 -0800 Subject: fix(mocks): always call functions injected with `inject` with `this` set to the current spec Currently when a function is injected inside of a test we set the context to undefined which is a bug. Closes #6102 --- test/ngMock/angular-mocksSpec.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/ngMock/angular-mocksSpec.js') diff --git a/test/ngMock/angular-mocksSpec.js b/test/ngMock/angular-mocksSpec.js index fb602adc..e5f67a7e 100644 --- a/test/ngMock/angular-mocksSpec.js +++ b/test/ngMock/angular-mocksSpec.js @@ -864,6 +864,25 @@ describe('ngMock', function() { }); + describe('this', function() { + + it('should set `this` to be the jasmine context', inject(function() { + expect(this instanceof jasmine.Spec).toBe(true); + })); + + it('should set `this` to be the jasmine context when inlined in a test', function() { + var tested = false; + + inject(function() { + expect(this instanceof jasmine.Spec).toBe(true); + tested = true; + }); + + expect(tested).toBe(true); + }); + }); + + // We don't run the following tests on IE8. // IE8 throws "Object does not support this property or method." error, // when thrown from a function defined on window (which `inject` is). -- cgit v1.2.3