diff --git a/packages/browser-policy/browser-policy-test.js b/packages/browser-policy/browser-policy-test.js index cd2e453a74..4ba437f761 100644 --- a/packages/browser-policy/browser-policy-test.js +++ b/packages/browser-policy/browser-policy-test.js @@ -1,17 +1,34 @@ BrowserPolicy._setRunningTest(); +var toObject = function(list, values) { + if (list == null) return {}; + var result = {}; + for (var i = 0, length = list.length; i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; +}; + var cspsEqual = function (csp1, csp2) { var cspToObj = function (csp) { csp = csp.substring(0, csp.length - 1); - var parts = _.map(csp.split("; "), function (part) { + var parts = csp.split("; ").map(function (part) { return part.split(" "); }); - var keys = _.map(parts, _.first); - var values = _.map(parts, _.rest); - _.each(values, function (value) { + var keys = parts.map(part => part[0]); + var values = parts.map((part) => { + const [head, ...tail] = part; + return tail; + }); + values.forEach(function (value) { value.sort(); }); - return _.object(keys, values); + + return toObject(keys, values); }; return EJSON.equals(cspToObj(csp1), cspToObj(csp2)); @@ -137,11 +154,11 @@ Tinytest.add("browser-policy - csp", function (test) { "default-src 'none'; frame-src https://foo.com; " + "object-src http://foo.com https://foo.com;")); - // Check that frame-ancestors property is set correctly.
 - BrowserPolicy.content.allowFrameAncestorsOrigin("https://foo.com/");
 - test.isTrue(cspsEqual(BrowserPolicy.content._constructCsp(),
 - "default-src 'none'; frame-src https://foo.com; " +
 - "object-src http://foo.com https://foo.com; " +
 + // Check that frame-ancestors property is set correctly. + BrowserPolicy.content.allowFrameAncestorsOrigin("https://foo.com/"); + test.isTrue(cspsEqual(BrowserPolicy.content._constructCsp(), + "default-src 'none'; frame-src https://foo.com; " + + "object-src http://foo.com https://foo.com; " + "frame-ancestors https://foo.com;")); // CSP2 options: nonce @@ -188,4 +205,4 @@ Tinytest.add("browser-policy - X-Content-Type-Options", function (test) { test.equal(BrowserPolicy.content._xContentTypeOptions(), "nosniff"); BrowserPolicy.content.allowContentTypeSniffing(); test.equal(BrowserPolicy.content._xContentTypeOptions(), undefined); -}); +}); \ No newline at end of file diff --git a/packages/browser-policy/package.js b/packages/browser-policy/package.js index 8d370afc66..a44f8ba6b4 100644 --- a/packages/browser-policy/package.js +++ b/packages/browser-policy/package.js @@ -11,6 +11,6 @@ Package.onUse(function (api) { }); Package.onTest(function (api) { - api.use(["tinytest", "browser-policy", "ejson", "underscore"], "server"); + api.use(["tinytest", "browser-policy", "ejson"], "server"); api.addFiles("browser-policy-test.js", "server"); });