separate validateClientIdentifier from fetchClientIdentifier, add validateProfile
[squeep-indieauth-helper] / test / lib / common.js
index 8b223dadc0ea9c429d7023f3ba1056f534e12aac..fe0240718bf8192f8e3761219ef33fd665e8d544 100644 (file)
@@ -18,15 +18,6 @@ describe('common', function () {
     });
   }); // fileScope
 
-  describe('base64ToBase64URL', function () {
-    it('works', function () {
-      const b64 = 'ab/cd+e=';
-      const expected = 'ab_cd-e';
-      const result = common.base64ToBase64URL(b64);
-      assert.strictEqual(result, expected);
-    });
-  }); // base64ToBase64URL
-
   describe('pick', function () {
     it('picks', function () {
       const srcObj = {
@@ -97,4 +88,36 @@ describe('common', function () {
     });
   }); // axiosResponseLogData
 
+  describe('setSymmetricDifference', function () {
+    it('covers difference', function () {
+      const setA = new Set([1, 2, 3]);
+      const setB = new Set([2, 3, 4]);
+      const expected = new Set([1, 4]);
+      const result = common.setSymmetricDifference(setA, setB);
+      assert(result.size);
+      assert.deepStrictEqual(result, expected);
+    });
+    it('covers no difference', function () {
+      const setA = new Set([1, 2, 3, 4]);
+      const setB = new Set([1, 2, 3, 4]);
+      const expected = new Set();
+      const result = common.setSymmetricDifference(setA, setB);
+      assert(!result.size);
+      assert.deepStrictEqual(result, expected);
+    });
+  }); // setSymmetricDifference
+
+  describe('properURLComponentName', function () {
+    it('maps proper names', function () {
+      [
+        ['hash', 'fragment'],
+        ['protocol', 'scheme'],
+        ['host', 'host'],
+      ].forEach(([name, expected]) => {
+        const result = common.properURLComponentName(name);
+        assert.strictEqual(result, expected);
+      });
+    });
+  }); // properURLComponentName
+
 }); // common
\ No newline at end of file