Skip to content

Commit fff87ac

Browse files
fix: Handle invalid Extension Settings (#37)
1 parent 215cc2b commit fff87ac

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

src/Rokt-Kit.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,14 +398,15 @@ function parseSettingsString(settingsString) {
398398
try {
399399
return JSON.parse(settingsString.replace(/"/g, '"'));
400400
} catch (error) {
401-
throw new Error('Settings string contains invalid JSON');
401+
console.error('Settings string contains invalid JSON');
402402
}
403+
return [];
403404
}
404405

405406
function extractRoktExtensions(settingsString) {
406407
var settings = settingsString ? parseSettingsString(settingsString) : [];
407-
408408
var roktExtensions = [];
409+
409410
for (var i = 0; i < settings.length; i++) {
410411
roktExtensions.push(settings[i].value);
411412
}

test/src/tests.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,5 +1280,19 @@ describe('Rokt Forwarder', () => {
12801280
.should.deepEqual(expectedExtensions);
12811281
});
12821282
});
1283+
1284+
it('should handle invalid setting strings', () => {
1285+
window.mParticle.forwarder.testHelpers
1286+
.extractRoktExtensions('NONE')
1287+
.should.deepEqual([]);
1288+
1289+
window.mParticle.forwarder.testHelpers
1290+
.extractRoktExtensions(undefined)
1291+
.should.deepEqual([]);
1292+
1293+
window.mParticle.forwarder.testHelpers
1294+
.extractRoktExtensions(null)
1295+
.should.deepEqual([]);
1296+
});
12831297
});
12841298
});

0 commit comments

Comments
 (0)