Skip to content

Commit

Permalink
create tests for transformer function
Browse files Browse the repository at this point in the history
Signed-off-by: Tobias Kuppens Groot <[email protected]>
  • Loading branch information
tkgroot committed Jan 31, 2025
1 parent 3a961c0 commit 86b95ef
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/transforms/nameVariableColor.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { expect } from "chai";
import { _transform as transform } from "./nameVariableColor.js";
import { getMockToken } from "../../tests/getMocks.js";

describe("[transforms] name transformer nameVariableColor", () => {
it("should transform remove the name `Color` from the token name", () => {
const token = getMockToken({ name: "ColorGrey500" });

expect(transform(token, {}, {})).to.equal("Grey500");
});

it("should not change the token name if the name `Color` is not part of the token name", () => {
const token = getMockToken({ name: "Opacity50" });

expect(transform(token, {}, {})).to.equal("Opacity50");
});
});
17 changes: 17 additions & 0 deletions src/transforms/nameVariableDefault.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { expect } from "chai";
import { getMockToken } from "../../tests/getMocks.js";
import { _transform as transform } from "./nameVariableDefault.js";

describe("[transforms] name transformer nameVariableDefault", () => {
it("should remove the `default` indicator from the token name", () => {
const token = getMockToken({ name: "prefix-color-content-default" });

expect(transform(token, {}, {})).to.equal("prefix-color-content");
});

it("should not change a token if the `default` indicator is not part of the token name", () => {
const token = getMockToken({ name: "prefix-color-content" });

expect(transform(token, {}, {})).to.equal("prefix-color-content");
});
});
25 changes: 25 additions & 0 deletions src/transforms/valueColorRgba.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { expect } from "chai";
import { getMockToken } from "../../tests/getMocks.js";
import { _transform as transform } from "./valueColorRgba.js";

describe("[transforms] value transformer valueColorRgba", () => {
it("should transform rgba color tokens to use CSS color-mix", () => {
const token = getMockToken({
name: "CeruleanBlue",
original: { value: "rgba(${color}, ${opacity})" },
});

expect(transform(token, {}, {})).to.equal(
"color-mix(in srgb, ${color} ${opacity}, ${color} 0%)",
);
});

it(`should not change color tokens which value doesn't contain rgba values`, () => {
const token = getMockToken({
name: "CeruleanBlue",
original: { value: "#2a52BE" },
});

expect(transform(token, {}, {})).to.equal("transformedValue");
});
});
2 changes: 2 additions & 0 deletions types/style-dictionary.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ import type {
FileHeader as _FileHeader,
NameTransform as _NameTransform,
Transform as _Transform,
TransformedToken as _TransformedToken,
} from "style-dictionary/types";

declare global {
export {
_FileHeader as FileHeader,
_NameTransform as NameTransform,
_Transform as Transform,
_TransformedToken as TransformedToken,
};
}

0 comments on commit 86b95ef

Please sign in to comment.