diff --git a/lib/jasmine-core/jasmine.js b/lib/jasmine-core/jasmine.js index 919bdf5d..47c59959 100644 --- a/lib/jasmine-core/jasmine.js +++ b/lib/jasmine-core/jasmine.js @@ -8380,6 +8380,7 @@ getJasmineRequireObj().SpyFactory = function(j$) { var properties = normalizeKeyValues(propertyNames); for (var i = 0; i < properties.length; i++) { descriptor = { + enumerable: true, get: self.createSpy(baseName + '.' + properties[i][0] + '.get'), set: self.createSpy(baseName + '.' + properties[i][0] + '.set') }; diff --git a/spec/core/SpySpec.js b/spec/core/SpySpec.js index 97d9f03b..f7a2c9ec 100644 --- a/spec/core/SpySpec.js +++ b/spec/core/SpySpec.js @@ -183,14 +183,13 @@ describe('Spies', function() { var spyObj = env.createSpyObj('base', ['method1'], ['prop1']); expect(spyObj).toEqual({ - method1: jasmine.any(Function) + method1: jasmine.any(Function), + prop1: undefined }); var descriptor = Object.getOwnPropertyDescriptor(spyObj, 'prop1'); expect(descriptor.get.and.identity).toEqual('base.prop1.get'); expect(descriptor.set.and.identity).toEqual('base.prop1.set'); - - expect(spyObj.prop1).toBeUndefined(); }); it('creates an object with property names and return values if second object is passed', function() { @@ -200,7 +199,9 @@ describe('Spies', function() { }); expect(spyObj).toEqual({ - method1: jasmine.any(Function) + method1: jasmine.any(Function), + prop1: 'foo', + prop2: 37 }); expect(spyObj.prop1).toEqual('foo'); diff --git a/src/core/SpyFactory.js b/src/core/SpyFactory.js index 80c6b954..0f29a3b1 100644 --- a/src/core/SpyFactory.js +++ b/src/core/SpyFactory.js @@ -38,6 +38,7 @@ getJasmineRequireObj().SpyFactory = function(j$) { var properties = normalizeKeyValues(propertyNames); for (var i = 0; i < properties.length; i++) { descriptor = { + enumerable: true, get: self.createSpy(baseName + '.' + properties[i][0] + '.get'), set: self.createSpy(baseName + '.' + properties[i][0] + '.set') };