Make cookie test pending in Chrome
Change-Id: I91c7d973fbb5b5c5223cb9758ee9292c360fe251
diff --git a/dev/js/spec/sessionSpec.js b/dev/js/spec/sessionSpec.js
index 6c10d9a..4fbbb25 100644
--- a/dev/js/spec/sessionSpec.js
+++ b/dev/js/spec/sessionSpec.js
@@ -1,5 +1,21 @@
define(['session'], function (sessionClass) {
+ // Check once if cookies are writable in this environment (e.g., not on file:// in Chrome)
+ var _canWriteCookies = (function () {
+ try {
+ var testName = 'ck_test_' + Math.random().toString(36).slice(2);
+ document.cookie = testName + '=1; SameSite=Lax; path=/';
+ var ok = document.cookie.indexOf(testName + '=1') !== -1;
+ if (ok) {
+ document.cookie = testName + '=; Max-Age=0; path=/';
+ }
+ return ok;
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+
beforeEach(
function () {
document.cookie.split(';').forEach(
@@ -45,6 +61,10 @@
});
it('should write to cookie', function () {
+ if (!_canWriteCookies) {
+ pending('Cookies are not writable in this environment');
+ return;
+ }
let s = sessionClass.create('koraptest');
s.clear();
expect(s.toString().includes("koraptest=%7B%7D;")).toBeTruthy();