);
});
- 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`)});
});
});
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,
);
});
],
);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag();
+ assertStrictEquals(tag.addAltLabel(), tag);
+ });
});
describe("::addBroaderTag", () => {
);
});
+ 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(() => {
],
);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag();
+ assertStrictEquals(tag.addHiddenLabel(), tag);
+ });
});
describe("::addInCanonTag", () => {
);
});
+ 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();
);
});
+ 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();
);
assertEquals([...tag.altLabels()], ["four"]);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag();
+ assertStrictEquals(tag.deleteAltLabel(), tag);
+ });
});
describe("::deleteBroaderTag", () => {
[broader2.identifier],
);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag();
+ assertStrictEquals(tag.deleteBroaderTag(), tag);
+ });
});
describe("::deleteHiddenLabel", () => {
);
assertEquals([...tag.hiddenLabels()], ["four"]);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag();
+ assertStrictEquals(tag.deleteHiddenLabel(), tag);
+ });
});
describe("::deleteInCanonTag", () => {
[canon2.identifier],
);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag("EntityTag");
+ assertStrictEquals(tag.deleteInCanonTag(), tag);
+ });
});
describe("::deleteInvolvesTag", () => {
[involved2.identifier],
);
});
+
+ it("[[Call]] returns this", () => {
+ const tag = new Tag("ConceptualTag");
+ assertStrictEquals(tag.deleteInvolvesTag(), tag);
+ });
});
describe("::hasInCanonTags", () => {
// `::iri` is tested by a `.fromIRI`.
+ // `::iriSpace` is tested by a `.fromIRI`.
+
// `::kind` is tested by the constructor.
describe("::narrowerTags", () => {
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", () => {
});
});
+ 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");