diff --git a/lib/edit/offlineFeaturesManager.js b/lib/edit/offlineFeaturesManager.js index 87cc794..fcee4c9 100644 --- a/lib/edit/offlineFeaturesManager.js +++ b/lib/edit/offlineFeaturesManager.js @@ -193,6 +193,9 @@ define([ // for(var layerUrl in optimizedEdits) { + if(!optimizedEdits.hasOwnProperty(layerUrl)) + continue; + var layer = this._featureLayers[ layerUrl ]; var layerEdits = optimizedEdits[layerUrl]; @@ -204,6 +207,9 @@ define([ var adds = [], updates = [], deletes = []; for(var objectId in layerEdits) { + if(!layerEdits.hasOwnProperty(objectId)) + continue; + var edit = layerEdits[objectId]; switch(edit.operation) { diff --git a/test/spec/offlineFeaturesManagerSpec.js b/test/spec/offlineFeaturesManagerSpec.js index 66b464f..0729d13 100644 --- a/test/spec/offlineFeaturesManagerSpec.js +++ b/test/spec/offlineFeaturesManagerSpec.js @@ -597,7 +597,7 @@ describe("Offline Editing", function() }); }); - async.it("Go Online", function(done) + async.it("go Online", function(done) { expect(getObjectIds(g_featureLayers[0].graphics)).toEqual(getObjectIds([g1,g2,g4,g6])); expect(getObjectIds(g_featureLayers[1].graphics)).toEqual(getObjectIds([l1,l2,l3])); @@ -612,6 +612,9 @@ describe("Offline Editing", function() expect(Object.keys(responses).length).toBe(2); for(var layerUrl in responses) { + if( !responses.hasOwnProperty(layerUrl)) + continue; + var layerResponses = responses[layerUrl]; var layerId = layerUrl.substring(layerUrl.lastIndexOf('/')+1); console.log(layerId, layerResponses);