]> Lady’s Gitweb - Etiquette/blobdiff - model.test.js
Add `::iriSpace` and use it in I·R·I handling
[Etiquette] / model.test.js
index 7944238493a1e5c4da4c398252171b6487737c17..15a2f54cfa955831457a64d8dcd215e486937ed4 100644 (file)
@@ -186,8 +186,8 @@ describe("TagSystem", () => {
         );
       });
 
-      it("[[Call]] returns null if passed an invalid I·R·I", () => {
-        assertStrictEquals(Tag.fromIRI(`bad iri`), null);
+      it("[[Call]] throws if passed an invalid I·R·I", () => {
+        assertThrows(() => {Tag.fromIRI(`bad iri`)});
       });
     });
 
@@ -233,11 +233,11 @@ describe("TagSystem", () => {
 
       it("[[Call]] returns null if no tag with the given Tag U·R·I has been persisted", () => {
         assertStrictEquals(
-          Tag.fromIRI(`tag:${system.taggingEntity}:`),
+          Tag.fromTagURI(`tag:${system.taggingEntity}:`),
           null,
         );
         assertStrictEquals(
-          Tag.fromIRI(`tag:${system.taggingEntity}:000-0000`),
+          Tag.fromTagURI(`tag:${system.taggingEntity}:000-0000`),
           null,
         );
       });
@@ -306,6 +306,11 @@ describe("TagSystem", () => {
           ],
         );
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag();
+        assertStrictEquals(tag.addAltLabel(), tag);
+      });
     });
 
     describe("::addBroaderTag", () => {
@@ -328,6 +333,11 @@ describe("TagSystem", () => {
         );
       });
 
+      it("[[Call]] returns this", () => {
+        const tag = new Tag();
+        assertStrictEquals(tag.addBroaderTag(), tag);
+      });
+
       it("[[Call]] throws when adding a non‐persisted tag", () => {
         const tag = new Tag();
         assertThrows(() => {
@@ -372,6 +382,11 @@ describe("TagSystem", () => {
           ],
         );
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag();
+        assertStrictEquals(tag.addHiddenLabel(), tag);
+      });
     });
 
     describe("::addInCanonTag", () => {
@@ -394,6 +409,11 @@ describe("TagSystem", () => {
         );
       });
 
+      it("[[Call]] returns this", () => {
+        const tag = new Tag("EntityTag");
+        assertStrictEquals(tag.addInCanonTag(), tag);
+      });
+
       it("[[Call]] throws when this is not a tag which can be placed in canon", () => {
         assertThrows(() => {
           new Tag().addInCanonTag();
@@ -447,6 +467,11 @@ describe("TagSystem", () => {
         );
       });
 
+      it("[[Call]] returns this", () => {
+        const tag = new Tag("ConceptualTag");
+        assertStrictEquals(tag.addInvolvesTag(), tag);
+      });
+
       it("[[Call]] throws when this is not a conceptual tag", () => {
         assertThrows(() => {
           new Tag().addInvolvesTag();
@@ -547,6 +572,11 @@ describe("TagSystem", () => {
         );
         assertEquals([...tag.altLabels()], ["four"]);
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag();
+        assertStrictEquals(tag.deleteAltLabel(), tag);
+      });
     });
 
     describe("::deleteBroaderTag", () => {
@@ -579,6 +609,11 @@ describe("TagSystem", () => {
           [broader2.identifier],
         );
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag();
+        assertStrictEquals(tag.deleteBroaderTag(), tag);
+      });
     });
 
     describe("::deleteHiddenLabel", () => {
@@ -605,6 +640,11 @@ describe("TagSystem", () => {
         );
         assertEquals([...tag.hiddenLabels()], ["four"]);
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag();
+        assertStrictEquals(tag.deleteHiddenLabel(), tag);
+      });
     });
 
     describe("::deleteInCanonTag", () => {
@@ -633,6 +673,11 @@ describe("TagSystem", () => {
           [canon2.identifier],
         );
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag("EntityTag");
+        assertStrictEquals(tag.deleteInCanonTag(), tag);
+      });
     });
 
     describe("::deleteInvolvesTag", () => {
@@ -665,6 +710,11 @@ describe("TagSystem", () => {
           [involved2.identifier],
         );
       });
+
+      it("[[Call]] returns this", () => {
+        const tag = new Tag("ConceptualTag");
+        assertStrictEquals(tag.deleteInvolvesTag(), tag);
+      });
     });
 
     describe("::hasInCanonTags", () => {
@@ -713,6 +763,8 @@ describe("TagSystem", () => {
 
     // `::iri` is tested by a `.fromIRI`.
 
+    // `::iriSpace` is tested by a `.fromIRI`.
+
     // `::kind` is tested by the constructor.
 
     describe("::narrowerTags", () => {
@@ -849,6 +901,15 @@ describe("TagSystem", () => {
         const activity = tag.persist();
         assertStrictEquals(activity, null);
       });
+
+      it("[[Call]] returns undefined for a silent persist", () => {
+        const broader = new Tag();
+        broader.persist();
+        const tag = new Tag();
+        tag.prefLabel = "etaoin";
+        tag.addBroaderTag(broader);
+        assertStrictEquals(tag.persist(true), undefined);
+      });
     });
 
     describe("::prefLabel", () => {
@@ -969,6 +1030,25 @@ describe("TagSystem", () => {
     });
   });
 
+  describe("::iriSpace", () => {
+    it("[[Get]] returns the I·R·I space", () => {
+      const system = new TagSystem("etaoin.example", "1972-12-31");
+      assertStrictEquals(
+        system.iriSpace,
+        "https://etaoin.example/tag:etaoin.example,1972-12-31:",
+      );
+      const system2 = new TagSystem(
+        "etaoin.example",
+        "1972-12-31",
+        "etaoin",
+      );
+      assertStrictEquals(
+        system2.iriSpace,
+        "https://etaoin.example/tag:etaoin.example,1972-12-31:",
+      );
+    });
+  });
+
   describe("::tagURI", () => {
     it("[[Get]] returns the Tag U·R·I", () => {
       const system = new TagSystem("etaoin.example", "1972-12-31");
This page took 0.02821 seconds and 4 git commands to generate.