Browse Source

update jsdom & jsdom-global development dependency, fix cookie test

El RIDO 1 year ago
parent
commit
740fd90db9
3 changed files with 123 additions and 24 deletions
  1. 116 16
      js/package-lock.json
  2. 2 2
      js/package.json
  3. 5 6
      js/test/Helper.js

+ 116 - 16
js/package-lock.json

@@ -10,8 +10,8 @@
       "license": "zlib-acknowledgement",
       "devDependencies": {
         "@peculiar/webcrypto": "^1.5.0",
-        "jsdom": "^9.12.0",
-        "jsdom-global": "^2.1.1",
+        "jsdom": "^10.1.0",
+        "jsdom-global": "^3.0.2",
         "jsdom-url": "^3.0.1",
         "jsverify": "^0.8.3"
       }
@@ -468,9 +468,9 @@
       "dev": true
     },
     "node_modules/jsdom": {
-      "version": "9.12.0",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz",
-      "integrity": "sha512-Qw4oqNxo4LyzkSqVIyCnEltTc4xV3g1GBaI88AvYTesWzmWHUSoMNmhBjUBa+6ldXIBJS9xoeLNJPfUAykTyxw==",
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-10.1.0.tgz",
+      "integrity": "sha512-fj76S9ky2I1DP0iTDblaHaEVWY7w8bIwxbKGyzKIuDsRuHPMg9oE8yrV5wNzDy1aRlUE/XtWpVXKFtb0P+u4Hw==",
       "dev": true,
       "dependencies": {
         "abab": "^1.0.3",
@@ -484,7 +484,9 @@
         "html-encoding-sniffer": "^1.0.1",
         "nwmatcher": ">= 1.3.9 < 2.0.0",
         "parse5": "^1.5.1",
+        "pn": "^1.0.0",
         "request": "^2.79.0",
+        "request-promise-native": "^1.0.3",
         "sax": "^1.2.1",
         "symbol-tree": "^3.2.1",
         "tough-cookie": "^2.3.2",
@@ -495,10 +497,13 @@
       }
     },
     "node_modules/jsdom-global": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-2.1.1.tgz",
-      "integrity": "sha512-nVZiKQhXZzmkFSF+AfpvErIYuzPEuBV684gYpWagtwWTLiy0p5EgQbP7gmNNA6/qxFb8l1E5w1NjES5nSBCw5A==",
-      "dev": true
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz",
+      "integrity": "sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==",
+      "dev": true,
+      "peerDependencies": {
+        "jsdom": ">=10.0.0"
+      }
     },
     "node_modules/jsdom-url": {
       "version": "3.0.1",
@@ -601,6 +606,12 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "dev": true
+    },
     "node_modules/lodash.sortby": {
       "version": "4.7.0",
       "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
@@ -672,6 +683,12 @@
       "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
       "dev": true
     },
+    "node_modules/pn": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+      "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+      "dev": true
+    },
     "node_modules/prelude-ls": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -764,6 +781,39 @@
         "node": ">= 6"
       }
     },
+    "node_modules/request-promise-core": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
+      "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.19"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      },
+      "peerDependencies": {
+        "request": "^2.34"
+      }
+    },
+    "node_modules/request-promise-native": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
+      "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
+      "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142",
+      "dev": true,
+      "dependencies": {
+        "request-promise-core": "1.1.4",
+        "stealthy-require": "^1.1.1",
+        "tough-cookie": "^2.3.3"
+      },
+      "engines": {
+        "node": ">=0.12.0"
+      },
+      "peerDependencies": {
+        "request": "^2.34"
+      }
+    },
     "node_modules/safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -831,6 +881,15 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/stealthy-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+      "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/symbol-tree": {
       "version": "3.2.4",
       "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -1380,9 +1439,9 @@
       "dev": true
     },
     "jsdom": {
-      "version": "9.12.0",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz",
-      "integrity": "sha512-Qw4oqNxo4LyzkSqVIyCnEltTc4xV3g1GBaI88AvYTesWzmWHUSoMNmhBjUBa+6ldXIBJS9xoeLNJPfUAykTyxw==",
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-10.1.0.tgz",
+      "integrity": "sha512-fj76S9ky2I1DP0iTDblaHaEVWY7w8bIwxbKGyzKIuDsRuHPMg9oE8yrV5wNzDy1aRlUE/XtWpVXKFtb0P+u4Hw==",
       "dev": true,
       "requires": {
         "abab": "^1.0.3",
@@ -1396,7 +1455,9 @@
         "html-encoding-sniffer": "^1.0.1",
         "nwmatcher": ">= 1.3.9 < 2.0.0",
         "parse5": "^1.5.1",
+        "pn": "^1.0.0",
         "request": "^2.79.0",
+        "request-promise-native": "^1.0.3",
         "sax": "^1.2.1",
         "symbol-tree": "^3.2.1",
         "tough-cookie": "^2.3.2",
@@ -1407,10 +1468,11 @@
       }
     },
     "jsdom-global": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-2.1.1.tgz",
-      "integrity": "sha512-nVZiKQhXZzmkFSF+AfpvErIYuzPEuBV684gYpWagtwWTLiy0p5EgQbP7gmNNA6/qxFb8l1E5w1NjES5nSBCw5A==",
-      "dev": true
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz",
+      "integrity": "sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==",
+      "dev": true,
+      "requires": {}
     },
     "jsdom-url": {
       "version": "3.0.1",
@@ -1503,6 +1565,12 @@
         "type-check": "~0.3.2"
       }
     },
+    "lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "dev": true
+    },
     "lodash.sortby": {
       "version": "4.7.0",
       "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
@@ -1562,6 +1630,12 @@
       "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
       "dev": true
     },
+    "pn": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+      "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+      "dev": true
+    },
     "prelude-ls": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -1635,6 +1709,26 @@
         "uuid": "^3.3.2"
       }
     },
+    "request-promise-core": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
+      "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
+      "dev": true,
+      "requires": {
+        "lodash": "^4.17.19"
+      }
+    },
+    "request-promise-native": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
+      "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
+      "dev": true,
+      "requires": {
+        "request-promise-core": "1.1.4",
+        "stealthy-require": "^1.1.1",
+        "tough-cookie": "^2.3.3"
+      }
+    },
     "safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -1677,6 +1771,12 @@
         "tweetnacl": "~0.14.0"
       }
     },
+    "stealthy-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+      "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==",
+      "dev": true
+    },
     "symbol-tree": {
       "version": "3.2.4",
       "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",

+ 2 - 2
js/package.json

@@ -8,8 +8,8 @@
   },
   "devDependencies": {
     "@peculiar/webcrypto": "^1.5.0",
-    "jsdom": "^9.12.0",
-    "jsdom-global": "^2.1.1",
+    "jsdom": "^10.1.0",
+    "jsdom-global": "^3.0.2",
     "jsdom-url": "^3.0.1",
     "jsverify": "^0.8.3"
   },

+ 5 - 6
js/test/Helper.js

@@ -234,20 +234,19 @@ describe('Helper', function () {
             jsc.nearray(jsc.nearray(common.jscAlnumString())),
             jsc.nearray(jsc.nearray(common.jscAlnumString())),
             function (labels, values) {
-                var selectedKey = '', selectedValue = '',
-                    cookieArray = [];
+                let selectedKey = '', selectedValue = '';
+                const clean = jsdom();
                 labels.forEach(function(item, i) {
-                    var key = item.join(''),
+                    const key = item.join(''),
                         value = (values[i] || values[0]).join('');
-                    cookieArray.push(key + '=' + value);
+                    document.cookie = key + '=' + value;
                     if (Math.random() < 1 / i || selectedKey === key)
                     {
                         selectedKey = key;
                         selectedValue = value;
                     }
                 });
-                var clean = jsdom('', {cookie: cookieArray}),
-                    result = $.PrivateBin.Helper.getCookie(selectedKey);
+                const result = $.PrivateBin.Helper.getCookie(selectedKey);
                 $.PrivateBin.Helper.reset();
                 clean();
                 return result === selectedValue;