Botanique/tests/utils/misc.test.ts
Mylloon a790ddf377
All checks were successful
Publish latest version / build (push) Successful in 2m11s
tests: use node:test (#210)
Close #201

Tests run much faster and we don't need as much as libs

Reviewed-on: #210
Co-authored-by: Mylloon <kennel.anri@tutanota.com>
Co-committed-by: Mylloon <kennel.anri@tutanota.com>
2024-12-14 11:43:09 +01:00

154 lines
3.3 KiB
TypeScript

import {
cleanCodeBlock,
emojiPng,
isImage,
removeExtension,
splitFilenameExtensions,
} from "../../src/utils/misc";
import { describe, it } from "node:test";
import assert from "node:assert/strict";
describe("Filename splitter", () => {
{
const name = "test.js";
it(name, () => {
assert.deepStrictEqual(splitFilenameExtensions(name), { file: "test", ext: "js" });
});
}
{
const name = ".env";
it(name, () => {
assert.deepStrictEqual(splitFilenameExtensions(name), { file: ".env", ext: undefined });
});
}
{
const name = ".env.test";
it(name, () => {
assert.deepStrictEqual(splitFilenameExtensions(name), { file: ".env", ext: "test" });
});
}
{
const name = "file.test.js";
it(name, () => {
assert.deepStrictEqual(splitFilenameExtensions(name), { file: "file.test", ext: "js" });
});
}
});
describe("Extension remover", () => {
{
const name = "test.js";
it(name, () => {
assert.strictEqual(removeExtension(name), "test");
});
}
{
const name = ".env";
it(name, () => {
assert.strictEqual(removeExtension(name), ".env");
});
}
{
const name = ".env.test";
it(name, () => {
assert.strictEqual(removeExtension(name), ".env");
});
}
{
const name = "file.test.js";
it(name, () => {
assert.strictEqual(removeExtension(name), "file.test");
});
}
});
describe("Image checker", () => {
{
const name = "image.Png";
it(name, () => {
assert.strictEqual(isImage(name), true);
});
}
{
const name = "image.jpeg";
it(name, () => {
assert.strictEqual(isImage(name), true);
});
}
{
const name = "image.wav";
it(name, () => {
assert.strictEqual(isImage(name), false);
});
}
{
const name = "image.jpg";
it(name, () => {
assert.strictEqual(isImage(name), true);
});
}
{
const name = "image.webP";
it(name, () => {
assert.strictEqual(isImage(name), true);
});
}
{
const name = "image.GIF";
it(name, () => {
assert.strictEqual(isImage(name), true);
});
}
});
describe("Code block cleaner", () => {
{
const name = "salut";
it(name, () => {
assert.strictEqual(cleanCodeBlock(name), "`salut`");
});
}
{
const name = "<@158260864623968257> ça va ?";
it(name, () => {
assert.strictEqual(cleanCodeBlock(name), "<@158260864623968257>` ça va ?`");
});
}
{
const name = "t'as vu la vidéo ? https://youtu.be/dQw4w9WgXcQ";
it(name, () => {
assert.strictEqual(cleanCodeBlock(name), "`t'as vu la vidéo ? `https://youtu.be/dQw4w9WgXcQ");
});
}
{
const name = "t'as vu la vidéo ? https://youtu.be/dQw4w9WgXcQ elle est cool en vrai tqt";
it(name, () => {
assert.strictEqual(
cleanCodeBlock(name),
"`t'as vu la vidéo ? `https://youtu.be/dQw4w9WgXcQ` elle est cool en vrai tqt`",
);
});
}
});
describe("Emoji to link", () => {
{
const name = "☺️";
it(name, () => {
assert.strictEqual(
emojiPng(name),
"https://cdn.jsdelivr.net/gh/twitter/twemoji/assets/72x72/263a.png",
);
});
}
{
const name = "🍕";
it(name, () => {
assert.strictEqual(
emojiPng(name),
"https://cdn.jsdelivr.net/gh/twitter/twemoji/assets/72x72/1f355.png",
);
});
}
});