});
it("[[Construct]] defaults the preferred label to the empty string", () => {
- assertStrictEquals(new Tag().prefLabel, "");
+ assertEquals({ ...new Tag().prefLabel }, { "@value": "" });
});
it("[[Construct]] correctly sets the preferred label to a simple string", () => {
- assertStrictEquals(
- new Tag("RelationshipTag", "Shadow, Me").prefLabel,
- "Shadow, Me",
+ assertEquals(
+ { ...new Tag("RelationshipTag", "Shadow, Me").prefLabel },
+ { "@value": "Shadow, Me" },
);
});
});
it("[[Call]] throws if passed an invalid I·R·I", () => {
- assertThrows(() => {Tag.fromIRI(`bad iri`)});
+ assertThrows(() => {
+ Tag.fromIRI(`bad iri`);
+ });
});
});
{ "@value": "three", "@language": "en" },
);
assertEquals(
- Array.from(
- tag.altLabels(),
- ($) => typeof $ == "string" ? $ : { ...$ },
- ),
+ Array.from(tag.altLabels(), ($) => ({ ...$ })),
[
- "one",
- "two",
+ { "@value": "one" },
+ { "@value": "two" },
{ "@value": "three", "@language": "en" },
],
);
{ "@value": "three", "@language": "en" },
);
assertEquals(
- Array.from(
- tag.hiddenLabels(),
- ($) => typeof $ == "string" ? $ : { ...$ },
- ),
+ Array.from(tag.hiddenLabels(), ($) => ({ ...$ })),
[
- "one",
- "two",
+ { "@value": "one" },
+ { "@value": "two" },
{ "@value": "three", "@language": "en" },
],
);
const tag = new Tag();
tag.addAltLabel("etaoin");
tag.deleteAltLabel();
- assertEquals([...tag.altLabels()], ["etaoin"]);
+ assertEquals(
+ Array.from(tag.altLabels(), ($) => ({ ...$ })),
+ [{ "@value": "etaoin" }],
+ );
});
it("[[Call]] deletes only the provided hidden labels", () => {
{ "@value": "three", "@language": "en" },
{ "@value": "four", "@language": "en" },
);
- assertEquals([...tag.altLabels()], ["four"]);
+ assertEquals(
+ Array.from(tag.altLabels(), ($) => ({ ...$ })),
+ [{ "@value": "four" }],
+ );
});
it("[[Call]] returns this", () => {
const tag = new Tag();
tag.addHiddenLabel("etaoin");
tag.deleteHiddenLabel();
- assertEquals([...tag.hiddenLabels()], ["etaoin"]);
+ assertEquals(
+ Array.from(tag.hiddenLabels(), ($) => ({ ...$ })),
+ [{ "@value": "etaoin" }],
+ );
});
it("[[Call]] deletes only the provided alternative labels", () => {
{ "@value": "three", "@language": "en" },
{ "@value": "four", "@language": "en" },
);
- assertEquals([...tag.hiddenLabels()], ["four"]);
+ assertEquals(
+ Array.from(tag.hiddenLabels(), ($) => ({ ...$ })),
+ [{ "@value": "four" }],
+ );
});
it("[[Call]] returns this", () => {
it("[[Set]] sets the preferred label", () => {
const tag = new Tag();
tag.prefLabel = "one";
- assertStrictEquals(tag.prefLabel, "one");
+ assertEquals({ ...tag.prefLabel }, { "@value": "one" });
tag.prefLabel = { "@value": "two" };
- assertStrictEquals(tag.prefLabel, "two");
+ assertEquals({ ...tag.prefLabel }, { "@value": "two" });
tag.prefLabel = { "@value": "three", "@language": "en" };
assertEquals(
{ ...tag.prefLabel },